根据以往的历史经验,随着客户方对信息化建设的认识和自己业务水平的提高,他们会在不同的阶段和时期对项目的需求提出新的要求和需求变更。需求的变更可以发生在任何阶段,即使到项目后期也会存在,后期的变更会对项目产生很负面的影响。所以必须接受"需求会变动"这个事实,在进行需求分析时要懂得防患于未然,尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求,以便在进行系统设计时,将软件的核心建筑在稳定的需求上,同时留出变更空间。其实,需求变更也是软件开发过程中开发人员和管理者们最为头疼的一件事情,而且有的项目由于需求的频繁变更,又没有很好的变更管理,最后导致项目失败。
需求变更管理是组织、控制和文档化需求的系统方法。需求开发的结果经验证批准就定义了开发工作的需求基线,这个基线在客户和开发人员之间构筑了一个需求约定。需求变更管理包括在项目进展过程中维持需求约定一致性和精确性的活动,现在很多商业化的需求管理工具都能很好地支持需求变更管理活动。需求变更管理活动需要完成下面几个任务:
确定变更控制过程。即确定一个选择、分析和决策需求变更的过程,所有的需求变更都需遵循此流程。
建立一个由项目风险承担者组成的软件变更控制委员会(SofiwareChangeControBoard,SCCB)。该委员会负责评估和确定需求变更。
。进行变更影响分析。评估需求变更对项目进度、资源、工作量和项目范围以及其他需
求的影响。
。跟踪变更影准响的产品。当进行某项需求变更时,根据需求跟踪矩阵找到相关的其他需求、设计文档、源代码和测试用例,这些相关部分可能也需要修改。建立基准和控制版本。需求文档确定一个基线,这是一致性需求在特定时刻的快照之后的需求变更就遵循变更控制过程即可。
维护变更的历史记录。记录变更需求文档版本的日期以及所做的变更、原因,还包括由谁负责更新和更新的新版本号等情况。
跟踪每项需求的状态。其中状态包括"确定""已实现""暂缓""新增""变更"等。衡量需求稳定性。记录基线需求的数量和每周或每月的变更(添加、修改、删除)数洖量。