所谓需求分析是指通过对问题域的研究,获得对该领域特性及存在于其中(需要解决)的问题特性的透彻理解并有文档的说明。研究表明,要改正在产品付诸应用后所发现的一个需求方面的缺陷比在需求阶段改正这个错误要多付出大约100倍的成本。而另一项研究发现,在需求开发阶段发现的一个错误,平均仅需要花30分钟修复,但若在系统测试时发现则需要5到17个小时来修复。因此我们不难发现,需求分析在IT项目中具有十分重要的作用。
本文结合作者在实际项目管理工作中的经验,就IT项目中需求分析时应注意的主要问题进行了研究分析。
1、与用户沟通前应进行充
通常,与用户沟通前的准备时间要远远大于正式会面沟通的时间。一般情况下,用户在和你连续交谈两个小时之后,就会失去热情和耐心,这是大部分人的共同特点。所以充分的准备工作至关重要。
准备工作包括对项目整体环境熟悉的准备工作和对具体业务进行调研前的准备工作。项目整体环境的熟悉工作需要了解:项目的背景、项目的目的、项目的利益相关方等信息,以便对当前项目的鹰钵情况有一定了解。
对具体业务调研前的准备工作包括:需求调研问题的准备、需求调研模板的设计、需求调研时间安排等内容。要充分珍视用户的时间,尽量避免由于准备工作不足而反复约见用户,给用户造成效率低下的印象。一旦发生这样的错误,以后可能就会很难约见到用户。
2、主动积极了解客户业务和相关知识
在计算机技术方面我们可能非常专业,但对于具体的用户业务可能并不十分清楚。这个项目对用户是否有帮助、某一系统功能是否有用、某一流程处理是否合理,在不了解用户业务的情况下,我们将很难做出判断。
因此只有在了解业务的基础上,我们才和用户有共同的沟通语言和业务理解,才能真正理解系统应具有哪些功能。笔者曾在经销商管理系统调研过程中,由于财务方面的知识有限,使得在对经销商财务部门的调研中对部分问题不是特别的理解。
当时,笔者向用户虚心进行请教,并在调研结束后及时对自己的财务知识进行了补充。应用领域的知识是无边无际的,在各种项目的调研过程中,肯定会出现由于需求分析者缺乏某一领域的知识而影响需求分析工作的准确、顺利进行。
遇到此类问题时,需求分析者应虚心向用户请教,同时应及时补充应用领域的知识。最好能够在调研前做好充分的准备。
3、对用户进行正确分类
组织中的用户在很多方面存在差异,例如:使用系统的频度和程度、计算机系统知识、所进行的业务过程以及个人的素质和喜好等。根据用户的特点,可对用户进行一定的分类。将用户分类并归纳各自特点,详细描述他们的个性特点及任务状况,将有助于需求的获取和分析。
不同的问题需要询问不同的人,对于操作细节的问题,要和实际负责操作的用户进行沟通,而对于关乎全局的问题,则要和相应的管理层用户进行沟通。如通过组织架构图得知仓库部门有三种角色:仓库主管、发货理货员、系统操作员。
我们发现仓库主管是对全盘业务相当熟悉的人,他负责协调本部门的全局事务;而发货理货员是部门的主要业务执行人;系统操作员则是仓库管理系统的直接操作者。若我们调研的目的是搞清该部门的整体性流程,我们会很自然地选择仓库主管作为访谈的对象。
4、引导用户,使用户充分表达自己的想法
在与用户交谈中,如何引导用户说出他们的需求是非常关键的。恰当的提问,会使用户滔滔不绝,充分发表自己的意见和建议。而不恰当的提问,