五.需求分析的原则
不重视需求过程的项目队伍将自食其果。需求工程中的缺陷将给项目成功带来极大风险,这里的“成功”是指推出的产品能以合理的价格、及时地在功能、质量上完全满足用户的期望。下面将讨论一些需求风险。
不适当的需求过程所引起的一些风险:
1. 无足够用户参和
客户经常不明白为什么收集需求和确保需求质量需花费那么多功夫,研发人员可能也不重视用户的参和。究其原因:一是因为研发人员感觉和用户合作不如编写代码有意思;二是因为研发人员觉得已明白用户的需求了。在某些情况下,和实际使用产品的用户直接接触非常困难,而客户也不太明白自己的真正需求。但还是应让具有代表性的用户在项目早期直接参和到研发队伍中,并一同经历整个研发过程。
系统人员在实践过程中,也有些感觉,在实施一家公司的项目时,若无足够的用户参和,系统人员获得的需求是片面的,不完整的,这样系统在需求之初就埋下风险。
2. 用户需求的不断增加
在研发中若不断地补充需求,项目就越变越庞大以致超过其计划及预算范围。计划并不总是和项目需求规模和复杂性、风险、研发生产率及需求变更实际情况相一致,这使得问题更难解决。实际上,问题根源在于用户需求的改动和研发者对新需求所作的修改。
要想把需求变更范围控制到最小,必须一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评价需求变更和新特性的参照框架。说明中包括了对每种变更进行变更影响因素分析的变更控制过程,有助于所有风险承担者明白业务决策的合理性,即为何进行某些变更,相应消耗的时间、资源或特性上的折中。
产品研发中不断延续的变更会使其整体结构日渐紊乱,补丁代码也使得整个程式难以理解和维护。插入补丁代码使模块违背强内聚、松耦合的设计原则,特别是如果项目设置管理工作不完善的话,收回变更和删除特性会带来问题。如果你尽早地差别这些可能带来变更的特性,你就能研发一个更为健壮的结构,并能更好地适应他。这样设计阶段需求变更不会直接导致补丁代码,同时也有利于减少因变更导致质量的下降。
3. 模棱两可的需求
模棱两可是需求规格说明中最为可怕的问题。他的一层含义是指诸多读者对需求说明产生了不同的理解;另一层含义是指单个读者能用不止一个方式来解释某个需求说明。
模棱两可的需求会使不同的风险承担者产生不同的期望,他会使研发人员为错误问题而浪费时间,并且使测试者和研发者所期望的不一致。一位系统测试人员曾告诉我,她所在的测试组经常对需求理解有误,以致不得不重写许多测试用例并重做许多测试。
处理模棱两可需求的一种方法是组织好负责从不同角度审查需求的队伍。仅仅简单浏览一下需求文件是不能解决模棱两可问题的。如果不同的评审者从不同的角度对需求说明给予解释,但每个评审人员都真正了解需求文件,这样二义性就不会直到项目后期才被发现,那时再发现的话会使得更正代价非常大。
4. 不必要的特性
“画蛇添足”是指研发人员力图增加一些“用户欣赏”但需求规格说明中并未涉及的新功能。经常发生的情况是用户并不认为这些功能性非常有用,以致在其上耗费的努力“白搭”了。研发人员应当为客户构思方案并为他们提供一些具有创新意识的思路,具体提供哪些功能要在客户所需和研发人员在允许时限内的技术可行性之间求得平衡,研发人员应努力使功能简单易用,而不要未经客户同意,擅自脱离客户需求,自作主张。
同样,客户有时也可能需求一些看上去非常“酷”,但缺乏实用价值的功能,而实现这些功能只能徒耗时间和成本。为了将“画蛇添足”的危害尽