<软件工程>SE8 集成化能力成熟度模型 CMMI

本文最后更新于:2023年11月4日 下午

SE8 集成化能力成熟度模型 CMMI

软件系统的质量取决于用来开发和改进它的过程的质量。过程是生产产品的机制。不论过程改善还是能力确定,都需要过程评估。而过程评估通常基于已提出的一些评估模型。

软件能力成熟度模型(CMM)给出了从混乱、个人的过程到成熟的规范化过程的一个框架。按照软件过程的不同成熟度划分了 5 个等级,1 级最低,5 级最高。人们可以利用该框架进行可靠且统一的评估,实现对软件过程的度量。

CMM 体现了软件工程和软件管理的优秀实践。CMM 并没有涉及使得项目成功的所有重要问题。

自从 CMM 出现以来,出现了多种基于 CMM 的模型:

  • SW-CMM:为了与其他模型区分,将软件能力成熟度模型也称为 SW-CMM
  • SE-CMM:系统工程 CMM
  • SA-CMM:软件采购 CMM
  • IPD-CMM:集成产品开发 CMM
  • P-CMM:人力资源 CMM

CMMI 模型基于 过程途径 思想。CMMI 的目标是集成已有的 CMM 模型,实现一个组织的集成化 过程改善。包括:软件CMM、产品集成开发CMM、系统工程CMM

支撑软件产品/系统质量的三大要素是:受训人员、规程和方法、工具和设备

SE8.1 CMMI 模型部件

CMMI 的层次关系如下图所示

graph TB
CMMI[CMMI]
Y1(过程域1)
Y2(过程域2)
Y3(过程域3)
ZT{专用目标}
GT{共用目标}
ZP{{专用实践}}
GP{{共用实践}}
Z1([典型工作产品])
Z2([子实践])
G1([共用实践的精化])
G2([子实践])


CMMI---Y1
CMMI---Y2
CMMI---Y3
Y2---ZT
Y2---GT
ZT---ZP
ZP---Z1
ZP---Z2
GT---GP
GP---G1
GP---G2
  • 过程域

    过程域是一个业务域中的一束相关实践。这些实践得以实现时,就满足被认为对该过程域的改进具有重要作用的一组条件

    graph LR
    A(过程域)

    CMMI 中有 22 个过程域,分为四类:

    过程域类名 包含的过程域
    项目管理类 规划、监控、定量项目管理、集成项目管理、风险管理、提供方协议管理
    工程类 需求开发、需求管理、技术解决方案、产品集成、确认、验证
    支持类 配置管理、过程和产品质量保证、测量与分析、原因分析与解决、决策分析与解决
    过程管理类 组织过程定义、组织过程性能、组织过程培训、组织过程关注、组织

    过程域有自己的确定专用目的和公共目标。每个过程域还有意图陈述,简介性注释以及相关过程域

  • 专用目标

    一个过程域中都有一个或多个专用目标,描述该过程域必须呈现的一些独有特征。专用目标可以帮助确定一个过程域是否得以满足

    graph LR
    A{目标}

    每个专用目标和公共目标的实现,分别依赖一些实践

  • 专用实践

    专用实践是对于达到专用目标而言重要的活动。期望以专用实践所描述的活动,会导致达到一个过程域专用的目标

    graph LR
    A{{实践}}

    每个专用实践有自己的子实践和确定的典型工作产品,资料性部件

  • 共用目标、共用实践

    可用于多个过程域的目标和实践。

  • 典型工作产品

    专用实践产生的输出样品

  • 子实践

    对专用实践、共用实践的详细描述

  • 共用实践的精化

    为一个共用实践唯一的应用于一个过程域提供了相关的指导

  • 意图描述

    用来描述过程域的意图

  • 简介性解释

    描述该过程域中涉及的主要概念

  • 相关过程域

    用来描述过程域引用的相关过程域

SE8.2 CMMI 的等级

CMMI 有两种类型的等级:

  • 能力等级:一种过程改善路径。能使组织 针对单一过程域 不断改善该过程域
  • 成熟度等级:一种过程改善路径。能使组织 针对一组过程域 不断改善该组相关程域

# 能力等级

过程能力:遵循一个过程可达到的期望结果的程度。表示组织对一个过程域的改善,是不断改善过程域的手段

能力等级包含一个共性目标及其相关的共性实践,它们与一过程域相关联,能够改进组织同该过程域关联的过程

能力等级 描述
能力等级 0 未完成级:过程不完整
能力等级 1 已执行级:实现了过程域的特定目标
能力等级 2 已管理级:建立了基本的项目管理过程。制定了必要的过程纪律,能重复早先类似项目的成功经验
能力等级 3 已定义级:按照组织到裁剪指南从组织的标准过程中裁剪出的一个已管理(能力等级 2)过程
能力等级 4 已量化管理级:使用统计和其他定量技巧控制的一个已定义(能力等级 3)过程
能力等级 5 已持续优化级:经过改进的一个量化管理过程

# 组织成熟度等级

成熟度等级是达到预先定义的一组过程域所有目标的一种 过程改善 等级。

每一等级包含一组过程目标。当一个软件开发组织达到其中一个目标时,则表明软件过程的一个(或几个)重要成分得到了实现,从而导致该组织软件过程能力的增长。每个成熟度等级为达到下一个等级提供了一个基础

在成熟度框架中,将能力成熟度分为五级:

成熟度等级 描述
成熟度等级 1 初始级:过程是混乱的,应付式的
成熟度等级 2 已管理级:能确保过程按预定方针得到计划和执行
成熟度等级 3 已定义级:用程得到了好的描述和理解,并应用标准、规程、工具、方法来表现
成熟度等级 4 量化管理级:组织和项目为质量和过程绩效制定了量化目标并用作管理过程标准
成熟度等级 5 持续优化级:通过渐进性和革新性过程改进和技术改进来持续改进过程绩效

为了达到成熟度等级 2,则 2 级包含所有过程域都必须达到能力等级 2 或更高级。

为了达到成熟度等级 3,则 2 级、3 级包含所有过程域都必须达到能力等级 3 或更高级。以此类推。

SE8.3 过程域举例

# 项目规划

意图:建立并维护项目活动计划的的定义

要满足的专用目标、共用目标、所需实践:

专用目标 专用实践
SG1:建立估算 SP1.1:估算项目规模
SP1.2:建立工作产品和任务属性估算
SP1.3:定义项目生存期
SP1.4:确定工作量、成本估算
SG2:开发项目计划 SP2.1:建立预算和进度
SP2.2:标识项目风险
SP2.3:规划数据管理
SP2.4:规划项目资源
SP2.5:规划需要的知识和技能
SP2.6:规划利益攸关方的参与
SP2.7:建立项目计划
SG3:获得对该计划的承诺 SP3.1:评审该项目计划
SP3.2:调和工作和资源等级,使之一致
SP3.3:获得计划承诺
共用目标 共用实践
GG2:共用目标 2
把过程制度化为一个已管理过程
对达到共用目标 1 的专用实践实施了 P-D-C-A
GP2.1:建立组织策略
GP2.2:规划过程
GP2.3:提供资源
GP2.4:指派委任
GP2.5:培训人员
GP2.6:管理配置
GP2.7:标识相关利益方参与
GP2.8:监控过程
GP2.9:客观评估符合型
GP2.10:高层管理视角评审状态

<软件工程>SE8 集成化能力成熟度模型 CMMI
https://i-melody.github.io/2023/11/03/软件工程/SE8 集成化能力成熟度模型/
作者
Melody
发布于
2023年11月3日
许可协议