思维观念
需求变更是必然的、可控的、有益的。一切的需求变更都是为了让项目更加完善。客户所有的变更都是有原因的,我们要积极地满足其背后的需求,而不是机械地满足其表面的要求。一个完整的产品研发流程中各部分的占比大概是这样的:50%做需求,30%做开发,20%做测试。需求变更控制的目的不是控制变更的发生,而是对变更进行科学的管理,要确保变更有序地进行,最大限度地控制需求变更给软件质量造成的负面影响。需求分析人员和客户的关系不应该仅仅是记录人员和需求提供者,他们的关系应该更多的是战略合作伙伴关系。
原因分析
需求变更的出现主要是因为在项目的需求确定阶段,用户往往不能确切地定义自己需要什么。
用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备、新技术通常会改变他们的工作方式;或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验。
随着开发工作的不断进展,系统开始展现功能的雏形,用户对系统的了解也逐步深入。于是,他们可能会想到各种新的功能和特色,或对以前提出的要求进行改动。
他们了解得越多,新的要求也就越多,需求变更因此不可避免地一次又一次出现。
应对措施
项目前期尽量清晰地确定需求范围和需求基线并与客户共同确认。设计灵活的软件架构,以能够对变化的需求进行快速响应。对变更的需求进行优先排序,分批实现。对于零星变更,