什么是需求变更控制
需求的变更的原因可能会来自市场、管理、客户、软硬件工程环境和测试等方面,对于这些变更来说,如果不控制或者控制不好就会导致项目陷入混乱、不能按进度执行或软件质量低下等一系列的问题。但是,对于需求的变更既不能一概拒绝客户的要求,也不能一味地迁就客户,所以实施需求变更之前必须做好管理和控制。
需求变更控制是指正确判断内在或外在原因的变更所带来的影响,并且调整开发过程以控制和适应这些变化,是需求管理的主要工作之一。
需求变更控制的目的不是控制变更的发生,而是对变更进行管理,确保变更有序地进行。变更控制给项目风险承担者提供了正式的需求变更处理机制,通过这些处理机制,决策人就可以准确地分析需求变更给整个项目所带来的影响和波动,从而对需求变更进行判断以决定是否接受、拒绝或者延迟,最终确保项目开发范围可控。
需求变更控制的要求
在进行需求变更控制时应该尽量实现下面的要求:
(1)建立变更控制委员会:变更控制委员会应该由项目的相关人员组成,由他们确定哪些需求需要变更,这些变更是否在项目范围之内,并对这些变更进行评估来作为需求变更选择或放弃的标准。
(2)确定变更控制的流程:需求变更控制流程就是对需求变更进行控制的过程,所有的需求变更控制都需遵循此过程来进行处理。
(3)进行变更影响分析:影响分析可以提供对所建议的变更进行准确理解,帮助做出充分的变更批准决策,因此,它是处理需求变更申请的一个重要环节。通过对变更内容的检验,确定对系统做出修改、抛弃或者创建新系统的决定以及评估每个任务的工作量,这项工作结果的好坏往往依赖于跟踪能力数据的质量和完整性。
(4)进行变更波及效应分析,确定受变更波及的元素:当进行需求变更时,往往会波及其他的元素,这样就可以根据需求跟踪表找到相关受波及的要素,并对其进行变更或修改。及时的波及效应处理可以减少由于这些影响而导致的不利因素。
(5)跟踪每个需求的状态:需求的状态包括已建议、已批准、已完成、已验证、已删除、已否决等几类,在需求变更控制中需要建立一个数据库来记录和保存每一项需求的状态和重要属性,从而有利于对需求状态的管理和追踪。
(6)建立需求基准版本和需求控制版本文档:确定一个需求基准,并遵循确定的变更控制过程来进行需求变更。当然,对需求控制的版本也应该进行管理,以避免新旧版本的混淆,每个版本的规约说明都应有独立的说明。
(7)记录并维护需求变更的历史:在进行需求变更时,需要记录和维护需求变更的历史,包括版本的日期、所做的变更、变更原因、由谁负责更新以及更新后的新版本号等。
李彤,王炜,郁湧编著,软件工程概论,科学出版社,2012.02,第246页