在实际项目开发过程中,实现用户的需求的过程并非是按部就班一切按计划推进。特别是面对用户不确定性的需求变更导致开发实施推进的进度和成本增加的风险出现。因此如何有效管理需求,将管理用户需求的风险造成的损失降到可控范围之内,需要用到需求跟踪相关的工具和技术,比如需求管理跟踪矩阵。
目录
需求变更影响
在需求实现过程的影响范围示意图:
从上图可以看出,需求变更影响的范围引起新增的工作是涉及各方面,特别是越到后期影响范围和成本越高。
需求管理矩阵分类
从WBS中每分解出来的活动都必须纳入需求跟踪,保证需求是可溯源且是具备价值的,因此需要使用大家公认的需求管理跟踪矩阵。
需求管理跟踪矩阵按照官方定义分为横向和纵向:
(1) 纵向跟踪矩阵,包括如下的3种:
- 需求之间的派生关系,客户需求到产品需求
- 实现与验证关系:需求到设计,需求到测试用例等
- 需求的责任分配关系:需求由谁来实现
(2) 横向跟踪矩阵:需求之间的接口关系
对于纵向跟踪矩阵,必需的:
- 客户需求与产品需求的跟踪
- 产品需求与测试用例的跟踪 100%的接口需求需要建立客户需求-产品需求-设计-编码-测试用例的跟踪矩阵
- 全局性需求要建立跟踪矩阵,包括:客户需求-产品需求-设计-编码-测试用例的跟踪矩阵
- 核心需求要建立跟踪矩阵
并非必需的:
- 性能需求可以不建立跟踪矩阵
- 不影响系统架构的功能需求
模板
在实际项目中使用需求跟踪矩阵制作的表格模板,一般包含以下字段:
- 用户需求项编号
- 需求标题
- 变更标识(原始)
- 软件需求变更标识(原始)
- 软件需求功能标题
- 需求状态 (审批中,已批准,拒绝,延后)
- 变更序号
- 优先级(极高,高,中,低)
- 优先级说明
- 当前状态(概要设计、详细设计、编码、单元测试、集成测试、系统测试)
注:根据项目实际情况,可适当扩展相关字段,比如需求提出者,当前状态对应任务的跟进人,提出时间等。
实践理念
- 需求跟踪从提出到确认、验证、验收过程,始终能保证纳入监控过程,保证项目团队投入的资源是有价值的。
- 保证及时更新,特别是敏捷开发过程需要从需求跟踪上体现当前的状态,保证跟客户期望是一致的。即使出现偏差,也能从需求变更跟踪的历史数据中让用户回归理性,帮助用户及时发现问题,纠正偏差。
- 管理期望就是管理需求,本着共赢的理念,不甩锅,帮助团队和用户一起成长,最终完成合格项目交付。