项目前期需求收集过程的效果好坏,会对软件产品的最终质量产生直接的影响。如何收集好需求,本文作者给出了一条行之有效的实际操作途径。
什么是需求收集?
需求收集,是确定和理解不同类别用户的需要和限制的过程,是需要高度协作的活动,是在问题及其最终解决方案之间架设桥梁的第一步,因此其重要性不言而喻。据调查显示50%以上产品在市场上失败的原因,是由于忽视了用户需求。
需求收集在需求开发活动中的示意图如图1:
如图1
需求收集为什么会困难?
困扰项目组需求收集活动的原因可能如下:
v 需求收集人员往往只关注用户反映的表面问题,而不能主动深入挖掘用户的真实需求;
v 需求收集人员考虑的问题时习惯干“以产品为中心”,而不是“以客户为中心”;
v 用户往往不清楚自己的真实需求是什么,或者不知道如何准确地描述出自己的需求—“我心里很清楚,但就是说不出来”;
v 没有从所有可能的渠道去收集需求,需求信息来源不完整;
v 收集的需求没有规范记录下来,造成原始信息丢失或失真,且无法回溯;等等。
怎么做好需求收集活动?
首先,需要建立需求收集机制。其次,使用统一的需求收集系统。最后,在需求收集时,采取一定的技术和方法。
建立需求收集机制
(1). 明确每个需求收集活动参与者的岗位职责
根据项目组可能的需求来源(需求来源可能包括:市场调研,竞争对手信息分析,标准和协议等等,视项目组的实际情况而定),指定每个需求来源的收集负责人。同时,对通过各个渠道收集的需求信息,指定专门的接口人进行汇总和审核。
(2). 建立需求预处理流程
对收集到的需求,除了指定专门的接口人进行汇总和审核以外,还要建立相应的预处理流程,在对需求进行预处理时,相关的讨论,决策可以通过“需求CCB会议”完成(需求CCB是指:专门用于需求讨论和决策的Change Control Board)。
一个对收集到的需求信息的预处理流程例子如图2:
如图2
项目组可以参考上例,结合自身实际情况进行适当剪裁,建立适合自己的预处理流程。
(3). 周期性的重复需求收集活动
当产品处于研发过程中,或已经交付给用户使用后,项目组还需要定期从各个来源重新去收集和审视一下产品的所有相关需求,这样就可以及时获知市场和用户对产品的反应,为下一个步工作提供输入和依据。项目组可以依据自身产品的特定,指定周期性的需求收集策略,选择相应的时机。
使用统一的需求收集系统
很多项目组都采取表格的方式记录收集到的需求信息,而不是通过电子流程的方式提交,这样会到来一些问题,如:收集到的需求信息被延迟处理,项目信息无法跟踪,回溯,等等。因此,项目组有必要使用统一的需求收集系统,作为唯一,明确的入口,对需求信息进行填报和跟踪。
企业可以选择自己开发电子的需求收集系统,也可以选择购买市场上现有的产品,如:Telelogic公司的Focal Point等。如果使用自己开发的需求收集系统,就可以让系统流程和企业的业务流程相结合,而且日后维护和扩展也比较方便。
一个需求收集的二维流程图实例如图3:
如图3
在实际工作中,需求收集系统还可以和需求管理系统,变更控制系统等通过一定的接口实现集成,共同构成企业的综合需求管理平台,从而提供“完善的需求管理解决方案”。一个公司级综合需求管理平台搭建的实例如图4:
如图4
采取一定的需求收集技术和方法
在需求收集时,还应采取一定的技术和方法。一些常用的需求收集技术和方法包括:客户访谈,客户交流,市场调研,技术支持,高层拜访,竞争对手分析,查阅媒体信息,需求专题分析讨论会等等。
下面选取几种技术和方法,通过一些案例分析,进行更为详细地阐述。
(1). 客户访谈
案例分析1:某次客户访谈
ü 访谈时间:选择45-60分钟比较合适。
ü 访谈地点:选择比较宽松的非工作环境进行。
ü 访谈问卷:在访谈之前要事先设计访谈问卷,要注意的是问卷只是提供一个思路。
ü 填表方式:不要采取让客户直接填表的方式。
ü 录音:前提不要让客户发现或是事前征求客户的同意。
ü 访谈结束:再次确认,每次访谈后要优化访谈的提纲以备下次使用。
(2). 客户交流
案例分析2:
交流前的沟通:充分与客户沟通交流,重点可以以下角度考虑问题:
ü 本次客户关系什么内容? 参与人是谁? 主要决策者有哪些倾向性的观点?
ü 竞争对手可能方案的卖点?主推什么?
ü 我们要住推什么?怎么避免我们的弱点?
ü 客户预计会提那些问题?我们应该怎么回答?
ü 交流会的讲解重点:在交流会上,可以选择以下讲解重点:
ü 客户面临的问题是什么?
ü 针对客户面临的问题,我们的解决方案是什么?
ü 我们的总体方案如何?
ü 今天交流的内容在公司总体方向中的位置?
此外,在交流时还可以自己设计一些问题并加以回答。特别需要注意的是,在交流的时候不要攻击竞争对手,但是可以多讲一些自己的成功案例和优点。
交流后的工作:交流之后,还需要完成以下工作:
ü 分析记录和答疑;
ü 提出项目的应对策略建议;
ü 对交流会上遗留的问题进行跟踪直至关闭;
(3). 需求专题分析讨论会
需求专题分析讨论会的目的,是在较短的时间内鼓励与会者在需求上达成共识,尽快取得统一意见。需求专题分析讨论会通常邀请客户代表参加
案例分析3
会前准备
ü 确定所有相关的干系人,不要有遗落;
ü 事先做好会议后勤保障;
ü 事先准备会议相关材料,需求文档初稿,调查问卷,相关清单;
ü 找合适的主持人:善于控制时间,维持会议“规则”,制定会议目标和议程,能够调动所有人员积极参与。
会议举行:
ü 制定会议纪律并宣布;
ü 支持人要把握好会场气氛,并及时化解矛盾;
ü 记录人要做好会议记录
ü 参与人员使用投票方式确定需求优先级;
ü 发言人的发言时间不得超过一定长度,不能打断;
会后工作
ü 把会上收集到的意见归类;
ü 记录讨论后的需求;
ü 确定下一步工作;
结束语
需求收集在客户问题及最终解决反感之间起着架设桥梁的作用,从某种程度上来讲,需求收集工作的质量决定了产品的成败,因此我们必须加强对其的重视。为了做好这项工作我们需要建立日常的需求收集工作机制,并采用统一的需求收集系统作为信息入口;同时,由于需求收集是统一的讲求技术和方法的活动,选择和的技术和方法有助于获取完整且有效的需求