软件需求变更管理

在实际的软件开发过程中,需求变更是在所难免的,但是频繁的需求变更常常会导致整个项目开发的失败。在软件开发过程中唯一的不变就是改变(The only constant in software development is change)。因此,如何有效地管理需求变更是十分重要的。

需求变更类型:
- 新增需求
- 变更需求
- 取消需求

变更过程管理

一旦发生需求变更,不得不修改对应的文档、修改设计、重写代码、修改测试、调整项目计划和预算等,需要投入大量的时间、人力、物力和财力等。需求变更控制管理方法有以下几种:

  • 记录需求变更的基本属性:项目名称和编号、用户名称和类型、变更提交人和时间、变更内容和类型、变更来源、优先级、变更发生的位置、变更可能的影响等。
  • 变更评审:评审决定变更是否执行,可以通过多级审核的方式严格把控。
  • 需求变更任务分配:变更评审通过后就要对变更进行具体的实现,责任到人。对每个需求变更的任务内容、预期结果和完成时间都要明确,以便后期审核。
  • 需求变更实施结果验证: 变更只有通过最后的验证才算做彻底完成。如果验证过程中出现错误,则会把错误反馈给相应的负责人进行修正,直至验证通过。

变更评估

在需求变更审核通过后,需要进行大致评估才能合理安排时间和人员进行实现,因此需求变更评估是变更控制流程中关键的一步。在拿到需求变更后,开发人员需要对变更需求对项目现阶段的影响做一个评估。
现有的变更影响评估方法有借助需求跟踪链或矩阵评估需求变更给设计、编码、测试等造成的影响。由于需求之间存在着复杂的依赖关系,因此需求变更很容易产生蔓延现象,给评估带来了难度和不确定性。
需求变更评估可以归纳为以下几个方面:
- 分析变更原因;
- 找出变更对项目影响的部分;
- 评估影响,主要针对工作量、成本、安全、性能、可靠性等。

需求变更影响评估算法(Impact Evaluation Algorithm, IEA)由以下三步完成:
第一步:从需求变更申请中确定需要评估的需求;
第二步:检索出具有直接或者传递依赖关系的需求,并求得相应的依赖因子;
第三部:以需求状态、依赖因子为参量,从不同层面评估每项需求受到的影响,并进行汇总给出变更影响定量分析结果。

变更管理工具

IBM Rational ClearQuest :是一个完全可定制的数据库工作流应用程序开发和生产系统。 它提供灵活的变更和缺陷跟踪,可定制的流程,实时报告和生命周期可追踪性,以更好地了解和控制软件开发生命周期。 IBM Rational ClearQuest为任何规模的组织提供可扩展的多平台支持,以便在开发需求发展时继续定制流程。
优点:
1. 通过内置缺陷和变更跟踪功能提高软件质量;
2. 自定义和自动化工作流程以提高效率和可预测性;
3. 用工具对规则管理进行简化,更加有效地管理合规流程和跟踪审批;
4. 获得可视项目实时的报告以便更好地抉择;
5. 与其他IBM生命周期产品进行增强集成。

StarTeam:是用于软件开发的修订控制系统,特别是当项目涉及不同位置的多个团队时。 StarTeam是由Starbase公司创建的SCM和SDLC软件应用程序,该公司于2003年1月被Borland收购,该公司被Micro Focus收购。 应用程序是客户端服务器,由关系数据库支持,该数据库保留项目在其演进过程中所做的所有更改以及项目需求,任务分配,线程讨论和错误跟踪。 Microsoft SQL Server和Oracle数据库是受支持的数据库服务器。(From wiki)
亮点:
(1)管理变更真相的单一根源;
(2)自信自动化的软件交付;
(3)将连接的小组和资产集中在一起;
(4)随时适应任何过程。

Butterfly:以软件项目为中心,不仅能够对项目中出现的缺陷、错误进行有效管理,也能够管理需求变更。Butterfly通过内置、自定义工作流和权限控制等方式,建立完善的变更控制规则,并通过规则来管理项目变更,保障开发始终按照预定的方向进行。通过使用Butterfly,可以使管理者和项目团队对开发过程中的需求阶段、编码阶段、测试阶段和版本更迭阶段进行有效的过程控制,从而成功地控制项目进度和产品质量,使软件开发的风险减少到最小。

参考文献

[1]王莉. 基于Internet的需求变更管理软件的研究与实现[D].北方工业大学,2007.
[2]马振华. 需求变更影响评估算法研究[D].江苏大学,2006.

你可能感兴趣的:(软件需求工程,需求变更,变更评估)