CMMI之需求管理

news/2024/7/24 2:28:23 标签: cmmi

需求管理(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.niftyadmin.cn/n/27088.html

相关文章

机器学习公式推导与代码实现-无监督学习模型

聚类分析与k均值聚类算法 督学习算法。在给定样本的情况下,聚类分析通过度量特征相似度或者距离,将样本自动划分为若干类别。 距离度量和相似度度量方式 距离度量和相似度度量是聚类分析的核心概念,大多数聚类算法建立在距离度量之上。常用的距离度量方式包括闵氏距离和马…

【图像处理OpenCV(C++版)】——4.2 对比度增强之线性变换

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

Makefile从入门到....

本文参考正点原子的I.MX6U 嵌入式 Linux 驱动开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 文章目录Makefile 的引入Makefile 语法Makefile 规则格式Makefile 变量赋值符“”赋值符“:”赋值符“?”变量追加“”Makefile 模式规则Makefile 自动化变量Makef…

【蓝桥杯】时间显示(省赛)Java

【问题描述】 小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从1970年1月1日O0:00:00到当前时刻经过的毫秒数。 现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日&a…

MATLAB实现费诺编码的计算与分析

一、实验目的 1、理解霍费诺编码的原理。 2、掌握费诺编码的方法和步骤。 3、熟悉费诺编码的效率。 4、本实验用Matlab语言编程实现费诺(Fano)编码。 二、实验环境 windows XP,MATLAB 7 三、实验原理 费诺编码算法如下:在信源…

Shiro【授权、整合Spirng、Shiro过滤器】

前言 本文主要讲解的知识点有以下: Shiro授权的方式简单介绍与Spring整合初始Shiro过滤器 一、Shiro授权 上一篇我们已经讲解了Shiro的认证相关的知识了,现在我们来弄Shiro的授权 Shiro授权的流程和认证的流程其实是差不多的: 1.1Shiro支…

商品详情的APP原数据接口测试

一、原数据接口的来源: 原数据接口来源于手机端,随着智能化的发展与普及,越来越多的人都是使用智能手机,这样极大的方便了人民的生活,各大电商平台看准了这个商家,把目光都瞄准这个商机,伴随而…

DVWA靶机CSRF全难度(未完)

目录 Low难度 medium难度 Cross Site Request Forgery跨站的请求伪造 原理:利用受害者尚未失效的身份认证信息、会话;诱骗其访问黑客设计号的页面,在受害人不知情的情况下以受害人的身份向服务器发送请求完成非法操作 Low难度 源代码 &l…