软件项目管理(第二版)
上QQ阅读APP看书,第一时间看更新

4.6.3 需求变更控制

需求变更控制是指依据“变更申请—审批—更改—重新确认”的流程处理需求变更,确保需求变更不会失去控制而导致项目发生混乱。

1.需求变更的原因分析

需求变更的表现形式是多方面的,究其根本不外乎以下几种原因:

(1)范围没有确定就开始细化。

(2)没有指定需求的基线。

(3)没有良好的软件结构适应变化。

2.如何控制需求变更

按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾3个过程,需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程,为了将项目变更的影响降低到最小,需要采用综合变更控制方法,在启动、实施、收尾等不同阶段控制变更,如图4-1所示。

(1)项目启动阶段的变更预防。对于任何项目,变更都无可避免,积极应对需求变更从项目启动的需求分析阶段就开始了。如果需求没做好,基准文件里的范围含糊不清,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。

(2)项目实施阶段的需求变更。成功项目和失败项目的区别在于项目的整个过程是否是可控的。项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。控制需求变更需要注意以下几点:

●需求一定要与投入有联系,需求变更的成本由开发方来承担,需求变更要经过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。

●小的需求变更也要经过正规的需求管理流程,否则会积少成多。

●精确的需求与范围定义并不会阻止需求的变更。

●注意沟通的技巧。实际情况是用户、开发者都认识到了上面的几点问题,但是由于需求的变更可能来自客户方,也可能来自开发方,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所。

(3)项目收尾阶段的总结。项目总结工作应作为现有项目或将来项目持续改进工作的一项重要内容,也可以作为对项目合同、设计方案内容与目标的确认和验证。项目总结工作包括项目中事先识别的风险、没有预料到而发生的变更等风险的应对措施的分析和总结,也包括项目中发生的变更、项目中发生问题的分析统计的总结。

3.需求变更的处理流程

需求变更既然不可避免,就必须有一套规范的处理流程。对于需求变更的处理流程应该分以下步骤:提出变更、变更评估、实施变更。

图4-2简要地描述了一般需求变更的处理流程,需求变更的处理流程如下:

(1)开发方或客户方提出变更“原需求文档”的需求变更申请,申请人撰写“需求变更申请书”,递交给项目经理或客户方负责人,必须阐述:变更原因、变更的内容、此变更对项目造成的影响。

(2)审批需求变更申请。开发方负责人(项目经理)和客户共同审评“需求变更申请书”,如果任何一方不同意变更,则退回变更请求,项目按照“原需求文档”执行。如果双方都同意变更,转向(3)。

图4-2 需求变更处理流程

(3)更改需求文档。需求分析员更改“原需求文档”,产生新的需求文档。

(4)重新进行需求确认,重新进行需求评审,重新获取书面的需求承诺。

(5)输出《需求变更控制报告》,新的需求文档已经被确认,《需求变更控制报告》的模板如表4-1所示。

表4-1 《需求变更控制报告》模板

续表