在软件开发的过程中,往往会出现业务需求、技术方案等变更,随之产生的系统功能的变更也会不可避免地对软件开发工作量、项目工期、产品质量等产生影响。既然变更不可避免,如何在实施变更的同时,有效化解变更带来的风险并保持日常工作的稳定和高效,就成为至关重要的问题。
在有效标示了配置并进行管理之后,要如何保证它们在复杂多变的开发过程中真正的处于受控的状态,并在任何情况下都能迅速的恢复到任一历史状态,这就要依赖有效的变更管理。
CMMI中的变更管理是变更已发布文档和数据的闭环过程,规范了对纳入配置管理的配置项进行变更的完整流程。在项目启动时,项目经理需要在项目总体计划中明确变更控制委员会(CCB)成员,由甲乙双方管理层人员、业务人员、项目经理、核心技术人员、测试负责人等干系人组成的CCB履行审批基线变更请求、审核基线变更实施结果等职责,为变更过程的顺利实施保驾护航。
项目实施过程中发生业务变更或技术变更时,项目组一是提出变更申请,非基线变更申请提交至项目经理进行审批,基线变更申请则提交至CCB。
二是由CMMI项目经理组织CCB对基线变更申请进行评估,评估变更的内容及范围是否合理、变更风险是否可接受、工作量及工期变更是否可接受、受影响的配置项是否已被充分考虑等内容,确定变更请求的拒绝、接受或搁置。
三是已通过CCB审批的变更申请,项目经理拆分变更任务,指定人员实施变更。
四是项目经理组织CCB评审变更的配置项,再由配置管理员签入评审通过的配置项,完成变更验证与确认。
五是配置管理员依据审批通过的《变更记录表》将基线发布给产品相关人员与部门,完成变更发布。同时,项目经理应对本次变更引起的需求变更对应关系的变化进行调整,及时更新《需求跟踪矩阵》缺少对变更有效的控制,往往会造成配置管理的无序,导致项目返工、延期,甚至失败。只有让规范的变更流程贯穿于产品的整个生命周期,让所有项目组成员了解变更、形成共识、接受变更,遵循规范的变管理流程,才能尽可能地降低变更风险及影响,提升软件开发的效率和质量。