需求变更的管理
理解需求变更可能产生的效应,并有效的进行控制,对于软件的最后提交都是至关重要的。无论是变更已有需求,还是增加新的需求,都对项目最终交付的日程造成不同程度的影响。例如,需求变更可能会影响到与之相关的功能、任务和测试工作;编码延期会延误与该功能相关的其他开发任务和测试工作。因此,有效的需求管理工具,必须保证项目团队能够很容易的评估这些变更可能带来的影响。
如何在变更发生之前对其进行评估呢?这就需要将需求管理与所有开发、测试行为进行集成,用户就可以通过跟踪编码、测试等行为对变更带来的潜在影响进行评估。这在SpecDD模型中得以实现。
将有效的变更转变为需求
如前文所讲,SpecDD模型表现为用Spec来表述/定义产品或版本功能,并和整个团队有效共享,从而驱动开发。因此,要保证交付的产品完全符合最终版本的Spec,需求分析部门就要和开发部门协同工作,并对变更做出严格的控制。对开发工作有潜在影响的变更都将会被慎重管理,并严格检验是否影响到需求的依赖关系。所有因需求变更而产生的影响,都必须检验变更后的完整性。因此,要实现有效的需求变更,管理工具需要实现以下几种功能:
?变更控制
对变更进行严格的流程控制,包括请求、复查、讨论、调整和批准等;
?
变更请求由一个独立的工作流所控制;
?
变更不能对需求造成不良影响,因此在变更被批准之前,需求不能被改变。
?实用性
?
接近实际的需求管理实践;
?
易于被客户理解;
?
易于对重要的变更进行跟踪。
?各部门协同工作
?
需求、功能和开发等各方面的人员都在各个阶段参与变更请求,将不同部门的人员都纳入变更管理体系;
?
让开发团队参与到变更请求的批准过程中,这样会比被动的接受或拒绝变更要更科学、更有效;
?
在变更得到批准或拒绝之前,分析针对该变更在资源和时间上的分配。
科学有效的需求管理是软件项目成功的保证。在更新需求的过程中,让项目的所有相关人员从各自的角色出发,都参与其中,将促进软件产品最终达到业务目标。需求变更时,对其进行准确的分析和评估,也有助于确保项目按时提交。
除需求管理工具独立工作以外,将它与应用生命周期管理(ALM)中的其他过程管理工具集成,才能最终提供一个完整的贯穿需求和开发过程的解决方案。需求分析人员和开发团队通过一个平台实现协同工作,统一接口和共用流程。这就能促进需求数据在需求制造者和实施者之间无缝、实时的传递,并保证在开发的每一个环节都可追溯需求。
如前文所讲,SpecDD模型表现为用Spec来表述/定义产品或版本功能,并和整个团队有效共享,从而驱动开发。因此,要保证交付的产品完全符合最终版本的Spec,需求分析部门就要和开发部门协同工作,并对变更做出严格的控制。对开发工作有潜在影响的变更都将会被慎重管理,并严格检验是否影响到需求的依赖关系。所有因需求变更而产生的影响,都必须检验变更后的完整性。因此,要实现有效的需求变更,管理工具需要实现以下几种功能:
?变更控制
?
对变更进行严格的流程控制,包括请求、复查、讨论、调整和批准等;
?
变更请求由一个独立的工作流所控制;
变更不能对需求造成不良影响,因此在变更被批准之前,需求不能被改变。
?实用性
?
接近实际的需求管理实践;
?
易于被客户理解;
?
易于对重要的变更进行跟踪。
?各部门协同工作
?
需求、功能和开发等各方面的人员都在各个阶段参与变更请求,将不同部门的人员都纳入变更管理体系;
?
让开发团队参与到变更请求的批准过程中,这样会比被动的接受或拒绝变更要更科学、更有效;
?
在变更得到批准或拒绝之前,分析针对该变更在资源和时间上的分配。
科学有效的需求管理是软件项目成功的保证。在更新需求的过程中,让项目的所有相关人员从各自的角色出发,都参与其中,将促进软件产品最终达到业务目标。需求变更时,对其进行准确的分析和评估,也有助于确保项目按时提交。
除需求管理工具独立工作以外,将它与应用生命周期管理(ALM)中的其他过程管理工具集成,才能最终提供一个完整的贯穿需求和开发过程的解决方案。需求分析人员和开发团队通过一个平台实现协同工作,统一接口和共用流程。这就能促进需求数据在需求制造者和实施者之间无缝、实时的传递,并保证在开发的每一个环节都可追溯需求。