有了经验后我们发现,正规的项目活动中,关于项目需求从来不是客户随意说说或是想一出是一出,而是从一开始项目组就应和客户参与到需求的确认流程中。其中最主要的环节之一就是需求的分析。
任何时候,只有掌握了所有的信息,并理性分析清楚了利弊,才能做出正确、合理的判断,让事情向好的方向发展。
那么接下来,我们就说说在项目风险管理系统中做需求分析时,到底应规避哪些问题。
一、尽可能实际使用者参与其中
客户经常不明白为什么收集需求和确保需求质量需花费那么多功夫,开发人员可能也不重视用户的参与。要说原因呢?一是因为开发人员感觉与用户沟通不如自己直接写代码等实在;二是因为开发人员觉得已经明白用户的需求了。
在某些情况下,与实际使用产品的用户直接接触很困难,而客户也不太明白自己的真正需求。但还是应让具有代表性的用户在项目早期直接参与到开发队伍中,并一同经历整个开发过程。
项目人员在实践过程中,也有些感觉,在实施一家公司的项目时,若无足够的用户参与,项目人员获得的需求是片面的、不完整的,这样项目在需求之初就埋下风险。
二、需求内容描述模棱两可引误解
不少项目在初期描述需求是,内容总是过于简单,同时模棱两可也是需求规格说明中最为可怕的问题。它的一层含义是指诸多读者对需求说明产生了不同的理解;另一层含义是指单个读者能用不止一个方式来解释某个需求说明。
模棱两可的需求会使不同的风险承担者产生不同的期望,它会使开发人员为错误问题而浪费时间,并且使测试者与开发者所期望的不一致。
处理模棱两可需求的一种方法是组织好负责从不同角度审查需求的队伍。仅仅简单浏览一下需求文档是不能解决模棱两可问题的。如果不同的评审者从不同的角度对需求说明给予解释,但每个评审人员都真正了解需求文档,这样二义性就不会直到项目后期才被发现,那时再发现的话会使得更正代价很大。
三、源头错误导致后续计划不准确
据统计,导致需求过程中项目成本估计极不准确的原因主要有这些原因:频繁的需求变更、遗漏的需求、与用户交流不够、质量低下的需求规格说明和不完善的需求分析。
对不准确的要求所提问题的正确响应是“等我真正明白你的需求时,我就会来告诉你”。基于不充分信息和未经深思的对需求不成熟的估计很容易为一些因素左右。要作出估计时,最好还是给出一个范围。未经准备的估计通常是作为一种猜测给出的,听者却认为是一种承诺。因此我们要尽力给出可达到的目标并坚持完成它。
四、变更没有原则超出基本范围
在开发中若不断地补充需求,项目就越变越庞大,以致超过其计划及预算范围。计划并不总是与项目需求规模与复杂性、风险、开发生产率及需求变更实际情况相一致,这使得问题更难解决。实际上,问题根源在于用户需求的改变和开发者对新需求所作的修改。
要想把需求变更范围控制到最小,必须一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评价需求变更和新特性的参照框架。说明中包括了对每种变更进行变更影响因素分析的变更控制过程,有助于所有风险承担者明白业务决策的合理性,即为何进行某些变更,相应消耗的时间、资源或特性上的折中。
很多因素都会使项目风险管理系统产生影响,必备元素——项目需求也是其一。不论是参与制定的人员,还是理解或其它的错误,这些在需求分析中易出现的问题都可能对项目的成败的产生影响,因此是风险管理时需重点关注的事项之一。