能力成熟度模型 (CMM) 及其软件工程级别

什么是三坐标测量机?

能力成熟度模型用作衡量组织软件过程成熟度的基准。

CMM 是 80 世纪 XNUMX 年代末由软件工程研究所开发的。它是美国空军资助的一项研究的成果,用于评估分包商的工作。 Later 基于 1991 年创建的用于评估软件开发成熟度的 CMM-SW 模型,多种其他模型与 CMM-I 集成,它们

能力成熟度模型

什么是能力成熟度模型 (CMM) 级别?

  1. 初始
  2. 可重复/托管
  3. 已定义
  4. 量化管理
  5. 优化

能力成熟度模型 (CMM) 级别

不同级别的 CMM 会发生什么?

楼层 游戏及活动 优势
1级初始
  • 在第 1 级,过程通常是混乱且临时的
  • 能力是基于个人而不是组织来表征的
  • 未衡量进展
  • 开发的产品经常按计划进行并且超出预算
  • 进度、成本、功能和质量目标存在很大差异
没有任何。项目完全混乱
2 级管理
  • 需求管理
  • 估算项目参数,例如成本、进度和功能
  • 衡量实际进展
  • 制定计划和流程
  • 定义软件项目标准
  • 识别和控制产品、问题报告变更等。
  • 项目之间的流程可能有所不同
  • 流程变得更容易理解
  • 经理和团队成员花更少的时间解释事情是如何完成的,而花更多的时间执行它
  • 项目得到更好的估计、更好的规划和更灵活
  • 质量融入项目
  • 成本最初可能会很高,但随着时间的推移会下降
  • 询问更多文书工作和文件
3 级定义
  • 明确客户要求
  • 解决设计要求,制定实施流程
  • 确保产品符合要求和预期用途
  • 系统地分析决策
  • 纠正和控制潜在问题
  • 流程改进成为标准
  • 解决方案从“编码”发展到“设计”
  • 质量门贯穿整个项目工作,整个团队都参与该过程
  • 风险得到缓解,不会让团队感到意外
四级量化管理
  • 以统计方式管理项目的流程和子流程
  • 了解流程绩效,定量管理组织的项目
  • 优化整个组织的流程绩效
  • 在组织中促进定量项目管理。
5 级优化
  • 及早发现并消除缺陷原因
  • 识别并部署新工具和流程改进以满足需求和业务目标
  • 促进组织创新和部署
  • 推动因果分析和解决

下图以图形方式表示了不同 CMM 级别发生的情况

不同级别的 CMM

实施CMM需要多长时间?

对于任何软件开发公司来说,CMM 是维持产品质量最理想的流程,但其实施时间比预期的时间稍长。

  • CMM 的实施并非一蹴而就
  • 这不仅仅是一份“文书工作”。
  • 典型的实施时间是
  • 3-6个月 -> 准备用
  • 6-12个月 -> 为实施
  • 3个月 -> 用于评估准备
  • 12个月 ->对于每个新级别

三坐标测量机内部结构

CMM 中的每个级别定义为 关键过程域或KPA,1 级除外。每个 KPA 定义一组相关活动,这些活动共同执行时可实现一组被认为对于提高软件功能至关重要的目标

对于不同的 CMM 级别,有一组 KPA,例如对于 CMM model-2,KPA 是

  • REQM-需求管理
  • PP-项目规划
  • PMC-项目监控
  • SAM-供应商协议管理
  • PPQA-流程和质量保证
  • CM配置管理

同样,对于其他 CMM 模型,您也有特定的 KPA。要了解 KPA 的实施是否有效、持久和可重复,请根据以下基础进行映射

  1. 履行承诺
  2. 执行能力
  3. 活动进行
  4. 测量与分析
  5. 验证实施情况

CMM 模型的局限性

  • CMM 确定流程应解决什么问题,而不是如何实施
  • 它并不能解释软件过程改进的所有可能性
  • 它专注于软件问题,但不考虑战略业务规划、采用技术、建立产品线和管理人力资源
  • 它没有告诉我们一个组织应该从事什么样的业务
  • CMM 在目前有危机的项目中没有用处

为什么使用坐标测量机?

如今,CMM 已成为软件行业的“认可标志”。它以多种方式帮助提高软件质量。

  • 它指导可重复的标准流程,从而减少学习如何完成工作的时间
  • 实践CMM意味着实践开发标准协议,这意味着它不仅可以帮助团队节省时间,而且可以清楚地了解要做什么和期望什么
  • 质量活动与项目很好地结合在一起,而不是被视为一个单独的活动
  • 它充当项目和团队之间的通勤者
  • CMM 的努力始终致力于流程的改进

总结

CMM 于 80 年代末在美国空军首次引入,用于评估分包商的工作。 Later 并不断改进版本,实现了对软件开发系统的质量跟踪。

整个CMM级别分为五个级别。

  • 等级1 (初始):系统的需求通常是不确定的、被误解的和不受控制的。该过程通常是混乱且临时的。
  • 等级2 (托管):估算项目成本、进度和功能。定义软件标准
  • 等级3 (定义):确保产品满足要求和预期用途
  • 等级4 (定量管理):统计管理项目的流程和子流程
  • 等级5 (成熟度):识别并部署新工具和流程改进,以满足需求和业务目标