CMMI之需求管理流程
需求管理(Requirement Management, RM)的目的在客户与开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变更。
需求管理过程域是SPP模型的重要组成部分。本规范阐述了需求管理过程域的三个主要规程:
需求确认 [SPP-PROC-RM-VALIDATE]
需求跟踪 [SPP-PROC-RM-TRACKING]
需求变更控制 [SPP-PROC-RM-CHANGE]
上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
8.1介绍
我们把所有与需求相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。图8-1为需求工程的结构图
![](/assets/blank.gif)
需求管理过程域主要有3个规程:需求确认、需求跟踪与需求变更控制。
一、需求确认
需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。
二、需求跟踪
需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。
三、需求变更控制
需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,确保需求的变更不会失去控制而导致项目发生混乱。
需求管理过程域产生的主要文档有:
《需求评审报告》,同技术评审报告的模板[SPP-TEMP-TR-REPORT]。
《需求跟踪报告》,模板见[SPP-TEMP-RM-TRACKING]。
《需求变更控制报告》,模板见[SPP-TEMP-RM-CHANGE]。
8.2 需求确认
8.2.1 目的
开发方和客户对需求文档如《用户需求说明书》和《产品需求规格说明书》进行评审,并作书面承诺。
补充说明:《用户需求说明书》和《产品需求规格说明书》可以分开也可以放在一起进行需求确认,视项目的具体情况而定。
8.2.2角色与职责
开发方和客户共同组织人员对需求文档如《用户需求说明书》和《产品需求规格说明书》进行评审。
开发方负责人(项目经理)和客户对需求文档作书面承诺,使之具有商业合同效果。
8.2.3 启动准则
需求文档如《用户需求说明书》和《产品需求规格说明书》已经完成。
8.2.4 输入
需求文档如《用户需求说明书》和《产品需求规格说明书》。
8.2.5 主要步骤
[Step1] 非正式需求评审
项目经理先在项目内部组织人员进行非正式的需求评审,以消除明显的错误和分歧。非正式的需求评审方式请参考技术评审过程域的对应规程[SPP-PROC-TR-ITR]。
[Step2] 正式需求评审
项目经理邀请同行专家和用户(包括客户和最终用户)一起评审需求文档,尽最大努力使需求文档能够正确无误地反映用户的真实意愿。正式需求评审方式请参考技术评审过程域的对应规程[SPP-PROC-TR-FTR]。
[Step3] 获取需求承诺
当需求文档通过正式的评审之后,开发方负责人(项目经理)和客户对需求文档作书面承诺,使之具有商业合同效果。示例如下:
本需求文档建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该需求文档开展。如果需求发生变化,我们将按照“需求变更控制规程”执行。我明白需求的变更将导致双方重新协商成本、资源和进度等。
甲方负责人签字
乙方负责人签字
8.2.6 输出
《需求评审报告》
书面的需求承诺
8.2.7 结束准则
需求文档通过了正式评审,并且获得开发方和客户的书面承诺。
8.2.8 度量
项目经理统计工作量和上述文档的规模
8.3 需求跟踪
8.3.1 目的
将系统设计、编程、测试等阶段的工作成果与需求文档进行比较,建立与维护“需求文档-设计文档-代码-测试用例”之间的一致性,确保产品依据需求文档进行开发。
3.3.2 角色与职责
项目经理跟踪需求。
3.3.3 启动准则
需求文档已经通过正式评审并获得了承诺。
系统设计、编程、测试等阶段的工作成果如设计文档、代码、测试用例已经产生。
3.3.4 输入
需求文档
设计文档、代码、测试用例等
3.3.5 主要步骤
[Step1] 建立与维护需求跟踪矩阵
正向跟踪。检查需求文档中的每个需求是否都能在后续工作成果中找到对应点。
逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在需求文档中找到出处。
正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后续工作成果的对应关系。矩阵单元之间的可能存在“一对一”、“一对多”或“多对多”的关系。由于对应关系比较复杂,最好在表格中加必要的文字解释。表8-1为简单的需求跟踪矩阵格式。
当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。
![](/assets/blank.gif)
[Step2] 查找不一致
使用需求跟踪矩阵的优点是很容易发现需求文档与后续工作成果之间的不一致之处,例如:
后续工作成果没有实现需求文档中的某些需求;
后续工作成果实现了需求文档中的不存在的需求;
后续工作成果没有正确实现需求文档中的的需求;
项目经理将发现的“不一致性”记录在《需求跟踪报告》之中,并通报给相关责任人(工作成果的开发者)。
[Step3] 消除不一致
相关责任人给出消除“不一致”的措施和计划,项目经理将该措施和计划记录到《需求跟踪报告》之中。
相关责任人消除“不一致性”之后,项目经理更新“需求跟踪矩阵”。
8.3.6 输出
《需求跟踪报告》
8.3.7 结束准则
每个开发阶段的“需求跟踪矩阵”都已经建立。
已经消除了需求文档与后续工作成果之间的不一致性。
8.3.8 度量
项目经理统计工作量和上述文档的规模。
8.4 需求变更控制
8.4.1 目的
修改“原需求文档”中不正确的内容,产生新的需求文档。
控制需求文档的变更,防止发生混乱。
补充说明:本规程中的“原需求文档”是指已经通过了评审并获得书面承诺的需求文档。
8.4.2 角色与职责
开发方负责人(项目经理)和客户共同控制需求变更。
8.4.3 启动准则
某人(来自开发方或客户方)提出变更“原需求文档”的申请。
8.4.4 输入
“原需求文档”
8.4.5 主要步骤
[Step1] 需求变更申请
需求变更申请人撰写“需求变更申请书”,递交给项目经理或客户方负责人。
“需求变更申请书”必须阐述:(1)变更原因;(2)变更的内容;(3)此变更对项目造成的影响。
[Step2] 审批需求变更申请
开发方负责人(项目经理)和客户共同审批“需求变更申请书”:
如果任何一方不同意变更,则退回变更请求,项目按照“原需求文档”执行。
如果双方都同意变更,转向[Step3]。
[Step3] 更改需求文档
需求分析员根据[Step1] 和[Step2] 更改“原需求文档”,产生新的需求文档。
[Step4] 重新进行需求确认
重新进行需求评审,参见需求确认规程中的 [Step2]。
重新获取书面的需求承诺,参见需求确认规程中的 [Step3]。
8.4.6 输出
《需求变更控制报告》
8.4.7 结束准则
新的需求文档已经被确认。
8.4.8 度量
项目经理统计工作量。
8.5 实施建议
先对项目经理和客户进行培训,让他们掌握必要的需求管理知识。
对需求管理过程域产生的所有有价值的文档进行配置管理。
对于非合同项目,本规范中有关客户的活动可以被裁减掉。
CMMI之需求管理流程相关推荐
- CMMI之需求管理和股票池管理
CMMI之需求管理和股票池管理 CMMI之需求管理和股票池管理 CMMI中需求管理过程域用于管理项目产品和产品组件的需求以识别需求与项目计划和工作产品之间不一致的地方.需求管理过程域只有一个特定目标: ...
- IPD解读—需求管理(OR)流程方法论
引言 常言"知己知彼.百战不殆"需求管理是开展IPD管理的第一步.虽说需求的收集相对比较容易,但"千里之堤溃于蚁穴",往往在产品开发过程中需求提交人如不要先了解 ...
- 信管师培训之第十二节课作业(外包管理+需求管理+组织级与大项目管理)
一.外包管理 1.外包的形式有哪五种?什么是利益关系? 企业现行采用的主要外包形式如下: (1).活动外包 (2).服务外包 (3).内包 (4).合包 (5).利益关系. 利益关系(benfit-b ...
- 笔记-项目范围管理-需求工程-需求管理
1. 需求管理(Requirements Management,REQM) Requirements management is the process of documenting,analyzin ...
- 软件项目中需求管理工作的重要性
开发一个软件项目,如果采用瀑布模型(或改进型瀑布模型)的话,通常会包括以下几个开发阶段,即:需求分析.系统设计.系统编码.系统测试.系统交付(及后续维护).在项目管理过程域中,主要包括:项目规划.立项 ...
- 中小企业的需求管理软件都有哪些
本文将盘点国内外10个适合中小企业的需求管理软件:1.PingCode:2.Worktile:3.Modern Requirements:4.Jama Software:5.Visure:6.Rati ...
- 笔记-高项案例题-2009年上-需求管理
2009上半年高级信息系统项目管理师下午案例分析真题第3题 [说明] A公司是从事粮仓自动通风系统开发和集成的企业,公司内的项目管理部作为研发与外部的接口,在销售人员的协助下完成与客户的需求沟通. 某 ...
- 需求分析文档模板_我们应该如何进行需求管理「下篇」?
前两篇文章分别介绍了需求管理的基本定义.分类方式.重要意义和一些常见的项目失败原因.通过前文的介绍,想必大家对于需求管理的基础概念都已经有了新的认识. 那么,让我们进入到最核心的部分,同时也是需求管理 ...
- 项目需求管理专栏︱如何进行高效的项目需求管理
摘要 糟糕的需求管理流程(或者根本就没有)常常被认为是项目失败的首要原因.正如许多组织所发现的那样,审慎设计的项目管理流程可以有效地提高项目成功率,这些研究同时指出:混乱的产品需求的管理,也是项目失败 ...
最新文章
- java httpurl_Java HttpURLConnection使用方法详解
- UML 2.0(装载)
- Shell排序的原理与集体实现
- 配置交换机etherchannel
- Clinicast让癌症治疗不那么昂贵
- in作为介词的用法_英文论文写作:极易混淆的短语用法汇总如下
- python函数的组成要素_python函数要素有哪些?这7点是你写好python代码的关键
- sql如何遍历几百万的表_SQL Server遍历表中记录的2种方法(使用表变量和游标)
- 实战 | Element UI 父子组件传值与事件绑定(正向)
- Java中的queue和deque对比详解
- 瑞银:将京东目标价上调至110美元 维持“买入”评级
- assertionerror是什么异常_php7异常与错误处理和自定义异常
- 驱动中的C语言----指针与指针初使化
- WCF热带鱼书学习手记 - ABC
- 【10-26】java调试技术学习笔记
- java能开发winform程序吗_Java进击C#——应用开发之WinForm环境
- 昂达vi40精英版刷Linux,昂达Vi40精英版V1.0固件专业网友实测
- 正常高、大地高、海拔高的测绘概念
- 基于收益率的基金绩效归因
- 能跟CAD、BIM软件联合使用的地图神器,比奥维谷歌地图还方便!