CMMI之需求管理

news2025/2/25 11:24:16

需求管理(Requirement Management, RM)的目的在客户与开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变更。

需求管理过程域是SPP模型的重要组成部分。本规范阐述了需求管理过程域的三个主要规程:

  • 需求确认 [SPP-PROC-RM-VALIDATE]

  • 需求跟踪 [SPP-PROC-RM-TRACKING]

  • 需求变更控制 [SPP-PROC-RM-CHANGE]

上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。

本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。

8.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为简单的需求跟踪矩阵格式。

  • 当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。

[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 实施建议

  • 先对项目经理和客户进行培训,让他们掌握必要的需求管理知识。

  • 对需求管理过程域产生的所有有价值的文档进行配置管理。

  • 对于非合同项目,本规范中有关客户的活动可以被裁减掉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码平台是技术开发的未来主流吗?

2022年9月27日16:49:21 这个事情我想了很久,最终的结论是:低代码平台只会一些领域平台的部分功能模块的标配,不会成为技术主流。 部分代表性例子: 1,低代码平台很早就有了,比如Visual Basic 6.0 ,delphi这些…

电脑重装系统后每次都要选择系统怎么办

电脑重装系统是件非十分平常的事情,当电脑出现故障或卡顿不能解决,即可采取重装系统来修复。不过,有些用户遇到系统重装后每次开机都要选择系统,影响到电脑正常使用,想要解决这个问题,只要关闭引导配置就可…

【pandas】15 pandas数据结构

【pandas】15 pandas数据结构 2023.1.13 总结来自https://mofanpy.com/tutorials/data-manipulation/pandas/ 包括pandas数据结构Series/DataFrame;数据选取分类查询等内容15.1 为什么需要pandas 前面讲了numpy,我们发现,numpy主要用途就是对同一类数据进行处理&a…

多节点Linux环境打造

目录 一、环境准备 1. CentOS镜像下载 2. VMware下载 二、 安装操作系统 1. 配置虚拟机 2. 安装CentOS操作系统 3. 网络配置 4. 多节点打造 5. 节点网络互通 6. 关闭防火墙服务 7. 修改默认主机名 8. 关闭 SELinux 服务 9. 安装常用软件 一、环境准备 1. CentOS镜…

电脑重装系统后键盘失灵解决方法步骤

手提电脑重装系统后键盘失灵怎么办呢?众所周知,联想小新Air 13 Pro保持经典的黑色外观,凭借坚固和可靠的特性得到了很多用户的认可。有网友发现联想小新Air 13 Pro手提电脑重装系统后键盘会失灵,那么小编把手提电脑重装系统后键盘失灵解决方法分享给大家。 工具/原…

Vue声明式导航 编程式导航、导航守卫、axios拦截器

一、声明式导航 & 编程式导航 1. 声明式导航&#xff1a;以超链接方式实现的页面跳转&#xff0c;就是声明式导航 < a href‘url’> 链接文本或图像 < /a >< router-link to‘url’ > 链接文本或图像 < /router-link >2. 编程式导航&#xff1a;通…

录屏软件哪个好?电脑录屏软件排行榜推荐

你是不是还在为选不到合适的录屏软件而苦恼&#xff1f;市面上录屏软件种类繁多&#xff0c;功能参差不齐确实不好选择。录屏软件哪个好&#xff1f;怎样才能找到适合自己的录屏软件&#xff1f;不用焦虑。今天小编给大家推荐3款电脑录屏软件排行榜前列的录屏软件&#xff0c;每…

day37【代码随想录】贪心算法之划分字母区间、合并区间、单调递增的数字、买卖股票的最佳时机含手续费、监控二叉树

文章目录前言一、划分字母区间&#xff08;力扣763&#xff09;二、合并区间&#xff08;力扣56&#xff09;三、单调递增的数字&#xff08;力扣738&#xff09;四、买卖股票的最佳时机含手续费&#xff08;力扣714&#xff09;五、监控二叉树&#xff08;力扣968&#xff09;…

1.14 IIC总线实验

一.IIC总线&#xff1a; 1.同步半双工串行总线&#xff0c;用于同一个开发板两个芯片之间的通信 2.有两根信号线&#xff0c;一根SDA,一根SCL 3.IIC总线需要外接两个上拉电阻&#xff0c;使空闲状态保持高电平 4.IIC总线支持多主机多从机模式&#xff0c;一般采用单主机多从…

STM32外部中断解析

文章目录前言一、外部中断是什么二、STM32F103的外部中断三、外部中断的中断号四、HAL库的外部中断初始化流程总结前言 本篇文章将带大家了解STM32F103的外部中断。 一、外部中断是什么 外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时&#xff0c…

数组名的意义

数组名只有单独放在sizeof内部以及放在&后才代表整个数组的地址。其余情况数组名都表示数组首元素地址。 之前我们说过用sizeof(a)计算的是整个数组的大小&#xff0c;现在我们知道其中的原因了。由于sizeof里的数组名a表示整个数组的地址&#xff0c;故sizeof(a)求的是整…

Android10以上系统Audio音频遇到播放无声时的分析方法

​商务合作 2023年招聘 2023年逆向分析资料汇总 推荐阅读 Android Audio音频系统 Android Audio音频系统之深入浅出 Android Framework/驱动/内核中高级工程师 ​Android10以上系统Audio音频遇到播放视频无声时的分析方法 干货|Android APP应用工程师转Framework工程师(…

51单片机存储结构

之前概要介绍了8151微控制器的结构&#xff08;也就是51单片机&#xff09;。相比微处理器&#xff0c;微控制器的区别之一是在一个芯片上有程序存储器(RAM)和数据存储器(RAM)。存储区是微控制器非常重要的内容。 本文就介绍一下8051的存储结构。包括存储器的组织、处理器对存储…

VTK-Tessellator Subdivision

前言&#xff1a;本博文主要研究Tessellator 的Subdivision&#xff0c;对vtk中的所有相关接口进行研究&#xff0c;并找出最优的解决方法。 GeometricObjects中vtkTessellatorFilter的应用实例 待研究对当前的Subdivision进行优化。 vtkTessellatorFilter 位置&#xff1a;…

Docker容器数据卷与数据卷容器

文章目录什么是容器数据卷使用数据卷使用 docker 安装 mysql匿名和具名挂载数据卷容器什么是容器数据卷 Docker理念回顾 将应用和运行的环境打包形成容器运行&#xff0c;运行可以伴随着容器&#xff0c;但是我们对于数据的要求&#xff0c;是希望能够 持久化的&#xff01; 就…

【寒假每日一题】DAY.6 有序序列的合并

牛客网例题&#xff1a;点我做题 描述 输入两个升序排列的序列&#xff0c;将两个序列合并为一个有序序列并输出。数据范围&#xff1a; 1 ≤ n&#xff0c;m ≤ 1000&#xff0c;序列中的值满足0≤val≤30000输入描述&#xff1a; 输入包含三行&#xff0c;第一行包含两个正整…

微信小程序开发起步

一、小程序与普通网页开发的区别 1&#xff09;运行环境不同。网页运行在浏览器环境中&#xff0c;小程序运行在微信环境中。 2&#xff09;API不同。由于运行环境不同&#xff0c;所以小程序中无法调用DOM和BOM的API&#xff0c;但是小程序可以调用微信环境提供的各种API&am…

zabbix的安装部署,一看就会

目录 1、系统组成 2、采集模式 3、监控类型 4、相关术语 5、安装部署 1、系统组成 2、采集模式 监控系统数据采集的工作模式可以分为 被动模式&#xff08;从服务器端到客户端采集数据&#xff0c;对应的英文单词是pull&#xff09; 主动模式 &#xff08;客户端主动上报…

java基于springboot的新生报到系统app新生报到安卓app新生入学报到小程序加论文

简介 本项目主要是新生报到系统&#xff0c;包含的新生入学流程的功能&#xff1a;新生可以在app里提交预报到日期确认报到&#xff0c;查看自己的学费缴费记录&#xff0c;更改自己的银行卡号&#xff0c;查看课表&#xff0c;查看寝室&#xff0c;查看自己的专业班级等个人信…

CubeMX配置:定时器中断及串口配置

本文通过CubeMX配置F103RCT6的定时器中断和串口。 文章目录1 引入2 配置过程2.1 配置时钟过程2.2 配置串口过程2.3 定时器中断配置3 生成工程代码4 测试串口及定时器中断周期5 总结1 引入 拿到一个STM32控制器&#xff0c;在啥也没有的情况下从零开始写软件&#xff0c;博主习…