第8章 需求管理 2
8.1 介绍 2
8.2 需求确认 3
8.2.1 目的 3
8.2.2 角色与职责 3
8.2.3 启动准则 3
8.2.4 输入 3
8.2.5 主要步骤 4
[Step1] 非正式需求评审 4
[Step2] 正式需求评审 4
[Step3] 获取需求承诺 4
8.2.6 输出 4
8.2.7 结束准则 4
8.2.8 度量 4
8.3 需求跟踪 5
8.3.1 目的 5
3.3.2 角色与职责 5
3.3.3 启动准则 5
3.3.4 输入 5
3.3.5 主要步骤 5
[Step1] 建立与维护需求跟踪矩阵 5
[Step2] 查找不一致 6
[Step3] 消除不一致 6
8.3.6 输出 6
8.3.7 结束准则 6
8.3.8 度量 6
8.4 需求变更控制 7
8.4.1 目的 7
8.4.2 角色与职责 7
8.4.3 启动准则 7
8.4.4 输入 7
8.4.5 主要步骤 7
[Step1] 需求变更申请 7
[Step2] 审批需求变更申请 7
[Step3] 更改需求文档 7
[Step4] 重新进行需求确认 8
8.4.6 输出 8
8.4.7 结束准则 8
8.4.8 度量 8
8.5 实施建议 8
第8章 需求管理
需求管理(Requirement Management, RM)的目的在客户与开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变更。
需求管理过程域是SPP模型的重要组成部分。本规范阐述了需求管理过程域的三个主要规程:
需求确认 [SPP-PROC-RM-VALIDATE]
需求跟踪 [SPP-PROC-RM-TRACKING]
需求变更控制 [SPP-PROC-RM-CHANGE]
上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
8.1 介绍
我们把所有与需求相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。图8-1为需求工程的结构图(流程见图9-1)。
图8-1 需求工程结构图
需求管理过程域主要有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为简单的需求跟踪矩阵格式。
当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。
# 需求文档
(版本,日期) 设计文档
(版本,日期) 代码
(版本,日期) 测试用例
(版本,日期)
1 标题或标识符,说明 标题或标识符,说明 代码名称,说明 测试用例名称,说明
2 … … … …
表8-1 简单的需求跟踪矩阵格式
[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 实施建议
先对项目经理和客户进行培训,让他们掌握必要的需求管理知识。
对需求管理过程域产生的所有有价值的文档进行配置管理。
对于非合同项目,本规范中有关客户的活动可以被裁减掉。
分享到:
相关推荐
《项目需求管理文档模板》是为程序员转型成为项目经理提供的重要参考资料。在软件开发过程中,需求管理是项目成功的关键环节,它涉及到对客户需求的理解、记录、分析、优先级排序以及跟踪等多方面工作。一个完善的...
本文围绕城市轨道交通信号系统项目需求管理,提出一种基于平台研发的需求管理方案。 首先,需求管理是任何项目能够顺利实施的保障。对于城市轨道交通信号系统而言,需求管理的作用更加凸显。它不仅需要涵盖技术性的...
在信息系统项目管理中,项目需求管理是至关重要的环节,它涉及到项目的成功与否。本文将以“信息系统项目管理师论文-项目需求管理”为例,探讨在实际项目中的需求管理实践。 首先,项目需求管理始于充分的项目调研...
软件项目需求管理 软件项目需求管理是软件项目中非常重要的一部分,它涉及到软件项目的需求获取、需求分析、需求定义、需求管理等方面的内容。 Software project requirement management is a critical part of ...
"软件项目需求管理" 软件项目需求管理是软件开发过程中的一個关键步驟,旨在确保软件产品满足用户的需求和期望。本章将详细介绍软件项目需求管理的概念、过程和方法。 一、软件需求定义 软件需求是指用户对软件的...
软件项目需求管理是软件开发过程中的关键环节,它关乎项目的成功与否。需求管理涉及从项目的初期识别、收集、分析到后期的跟踪、控制和变更管理等一系列活动。在本章中,我们将深入探讨软件项目需求管理的各个方面。...
【标签】第04章软件项目需求管理【部分内容】软件项目需求管理是软件开发过程中的核心环节,它涉及到需求的层次划分、用户需求分析、系统需求定义以及需求规格说明书的编写等多个方面。以下是对这些知识点的详细阐述...
【CMMI3级项目需求管理(RM)及需求开发(RD)过程域培训】是针对软件开发过程中关键环节的专题培训,旨在提高项目团队在需求理解和管理方面的能力。CMMI(Capability Maturity Model Integration,能力成熟度模型集成)...
【软件项目需求管理】是软件开发过程中的关键环节,它涉及到对用户需求的理解、系统需求的定义、需求规格说明书的撰写以及需求管理的全过程。以下是关于这个主题的详细阐述: 4.1 软件需求概述 软件需求是软件开发...
软件项目需求管理旨在确保团队在整个开发过程中准确、有效地获取、组织、记录和管理需求。这一过程包括需求的获取、分析、规约、验证和管理,以确保所有相关活动的规划和控制。需求分析在项目启动和计划阶段占据重要...
【软件项目需求管理】是软件开发过程中的关键环节,它直接影响到项目的成功率。根据描述,需求管理涵盖了从需求的识别、分析、文档化到管理变更的全过程,是确保软件产品符合用户真实需求的基础。 首先,**需求管理...
《软件项目需求管理详解》 在软件开发领域,需求管理是项目成功的关键所在。据统计,约有13%的项目失败归因于过少的用户输入,12%源自不完整的需求,而50%的问题则直接与需求相关。因此,理解和掌握软件项目需求...
基于敏捷方法的A公司软件项目需求管理应用研究 在软件项目开发中,需求管理是至关重要的一环。然而,许多软件项目在需求管理方面存在诸多问题,如需求分析不到位、需求变化应对不足等,严重影响了项目的质量和进度...
文章以中国联通的手机音乐管理平台软件项目为例,深入研究了项目管理中的需求管理环节,并尝试将高效的项目需求管理技术应用于实际工作中。 首先,文章指出在电信企业中,项目管理往往涉及多个部门之间的协作,任务...
项目需求管理模板,方便掌控项目进展,也能更好更清晰地考量项目中各角色的工作量。
在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新...这决定了项目组必须拥有需求管理策略。bbs.mypm.net
软件项目需求管理和范围管理-doc.pdf
什么是软件需求?什么是软件需求管理? 软件需求包括哪些层次?软件需求根据FURPS+模型是如何来分类的? 软件需求开发包括哪四个阶段,在这四个阶段执行哪些活动?...说说在以后的项目管理中,你将如何进行需求管理。