软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
2 CMM基本概念
5个成熟度等级:Initial, Repeatable, Defined, Managed, Optimizing ; 18个关键过程域.
其中5个成熟度等级:
初始级(Initial)
组织:组织通常没有提供开发和维护软件的稳定的环境。
项目:当发生危机时,项目通常放弃计划的过程,回复到编码和测试。
过程能力:不可预测。(unpredictable)
可重复级(Repeatable)
组织:将软件项目的有效管理过程制度化,这使得组织能够重复以前项目中的成功实践。
项目:配备了基本的软件管理控制。
过程能力:严格的。(disciplined)
已定义级(Defined)
组织:在组织范围内开发和维护软件的标准过程被文档化,其中包括软件工程过程和管理过程,它们集成为一个一致的整体。
项目:对组织的标准软件过程进行裁剪,来开发它们自己的定义软件过程。
过程能力:标准的和一致的。(standard and consistent)
已管理级(Managed )
组织:为软件产品和过程都设定了量化的质量目标。
项目:项目减小过程性能的变化性,使其进入可接收的量化边界,从而达到对产品和过程的控制。
过程能力:可预言的。(predictable)
持续优化级(Optimizing)
组织:关注于持续的过程改进。
项目:软件过程被评价,以防止过失重复发生,从中获得的教训散布给其它项目。
过程能力:持续的改善。(continuously improving)
2 CMM能力成熟度模型的基本思想
帮助软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将开发出质量更好的软件,使更多的软件项目免受时间和费用超支之苦。
3 CMM成熟度过程等级
4 成熟度级别的内部结构
5 18个关键过程域KPA
6 CMM与CMM过程域区别
等级 | CMM | CMMI | 类别 | ||
过程域 | 缩写 | 过程域 | 缩写 | ||
5 | 技术更新管理 | TCM | 组织革新与部署 | OID | 过程管理 |
过程更改管理 | PCM | CAR | |||
缺陷预防 | DP | 原因分析与决策 |
| 支持 | |
4 | 软件质量管理 | SQM | 组织过程性能 | OPP | 过程管理 |
定量过程管理 | QPM | 定量项目管理 | QPM | 项目管理 | |
3 | 软件产品工程 | SPE | 需求制定 | RD | 工程 |
技术方案 | TS | 工程 | |||
产品集成 | PI | 工程 | |||
验证 | VER | 工程 | |||
确认 | VAL | 工程 | |||
组织过程聚焦 | OPF | 组织过程聚焦 | OPF | 过程管理 | |
组织过程定义 | OPD | 组织过程定义 | OPD | 过程管理 | |
培训大纲 | TP | 组织培训 | OT | 过程管理 | |
集成软件管理 | ISM | 集成项目管理 | IPM | 项目管理 | |
组间协调 | |||||
|
| 风险管理 | RSKM | 项目管理 | |
|
| 决策分析与决定 | DAR | 支持 | |
|
| 集成供应商管理 | ISM | 项目管理 | |
|
| 组织集成环境 | OEI | 支持 | |
| IC | 集成组队 | IT | 项目管理 | |
2 | 需求管理 | RM | 需求管理 | RM |
|
软件项目策划 | SPP | 项目策划 | PP | 项目管理 | |
软件项目监督与控制 | SPTO | 项目监督与控制 | PMC | 项目管理 | |
软件分包管理 | SAM | 供应协议管理 | SAM | 项目管理 | |
软件质量保证 | SQA | 过程与产品质量保证 | PPQA | 支持 | |
软件配置管理 | SCM | 配置管理 | CM | 支持 | |
|
| 度量与分析 | MA | 支持 | |
1 |
|
|
|
|
|
7 CMM的用途?
1 用于软件过程的改进(SPI Software Process Improvement):帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。
2 用于软件过程评估(SPA Software Process Assessment): 在评估中,一组经过培训的软件专业人员确定出一个企业软件过程的状况,找出该企业所面对(存在)的与软件过程有关的、最迫切的所有问题;以及取得企业领导层对软件过程改进的支持。
3 软件能力评鉴(SCE Software Capability Evaluation):在能力评鉴中,一组经过培训的专业人员鉴别出软件承包者的能力资格;或者是检查监察正用于(进行)软件制作的软件过程的状况。