一、什么是CMMI
CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD),SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。
- CMMI本质上来讲是一套质量管理体系架构模型,与ISO9001不同的是CMMI是针对IT企业的专用质量管理体系;
- CMMI是一个IT治理工具,是能够提供质量保证、降低研发成本、提高工作效率的最佳IT治理实践工具;
- CMMI并不是一个过程,也不是告诉你怎么去做一件事情。它是一个基础架构体系,或者说是一系列基础模型,这些架构/模型能够用来度量你的有效性和实用性,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点。
表1 CMMI模型的组成和适用范围
|
CMMI模型组件 |
适用范围 |
| SE/SW | 软件工程、系统工程 |
| SE/SW /IPPD | 软件工程、系统工程、集成产品和过程开发 |
| SE/SW /IPPD/SS | 软件工程、系统工程、集成产品和过程开发、供应采购 |
| 培训课程(敏捷开发等专属课程) | 评估师、过程改进人员等培训 |
| SCMPI | 评估方法 |

CMMI的主要过程域
CMMI不仅仅是一个基础架构/模型,一个工具,它更代表了一种管理哲学在软件工业中及信息系统服务行业中的应用。
二、CMMI的由来
CMMI(Capability Maturity Model Integration For Software,软件能力成熟度模型集成)是在CMM(Capability Maturity Model For Software,软件能力成熟度模型)的基础上发展而来的。CMMI是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织全世界的软件过程改进和软件开发管理方面的专家历时四年而开发出来的,并在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。
为了保证软件产品的质量,80年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。因此,美国卡内基-梅隆大学软件工程研究所 (CMU/SEI) 于1987年研究发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM),并发布了最早的SW-CMM 1.0版。经过两年的试用,1993年SEI正式发布了SW-CMM1.1版,这是目前使用最为广泛的版本。
三、CMMI的等级划分
表2 各模型的等级对应
|
Level |
CMM | CMMI(分级式) | CMMI(连续式) |
ISO15504 |
|
5 |
优化中 | 优化中 | 优化中 | 优化中 |
|
4 |
已管理 | 定量管理 | 定量管理 | 可预测 |
|
3 |
已定义 | 已定义 | 已定义 | 已建立 |
|
2 |
可重复 | 已管理 | 已管理 | 已管理 |
|
1 |
初始级 | 初始级 | 已执行 | 已执行 |
|
0 |
— | — | 未完成 | 未完成 |
CMMI共有5个级别,代表软件团队能力成熟度的5个等级,数字越大,成熟度越高,高成熟度等级表示有比较强的软件综合开发能力。
CMMI一级,执行级。在执行级水平上,软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。但是由于任务的完成带有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。项目实施能否成功主要取决于实施人员。
CMMI二级,管理级。在管理级水平上,所有第一级的要求都已经达到,另外,软件组织在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并联合上级单位对项目与流程进行审查。二级水平的软件组织对项目有一系列管理程序,避免了软件组织完成任务的随机性,保证了软件组织实施项目的成功率。
CMMl三级,明确级。在明确级水平上,所有第二级的要求都已经达到,另外,软件组织能够根据自身的特殊情况及自己的标准流程,将这套管理体系与流程予以制度化。这样,软件组织不仅能够在同类项目上成功,也可以在其他项目上成功。科学管理成为软件组织的一种文化,成为软件组织的财富。
CMMI四级,量化级。在量化管理级水平上,所有第三级的要求都已经达到,另外,软件组织的项目管理实现了数字化。通过数字化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。
CMMI五级,优化级。在优化级水平上,所有第四级的要求都已经达到,另外,软件组织能够充分利用信息资料,对软件组织在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。
由上述的5个级别可以看出,每一个级别都是更高一级的基石。要上高层台阶必须首先踏上所有下层的台阶。
四、CMMI认证的实施程序
1、适用范围:
CMMI/SPCA评估为软件开发、外包和系统集成(IT)企业提供了业界最佳实践,有利于这些企业提升管理水平,增强竞争能力。
根据企业的业务及产品情况。一般可按如下原则选择:
1) 国内软件开发企业:CMMI-SW和SPCA
2) 软件外包企业(特别是承包美国软件项目):CMM或CMMI-SW
3) 系统集成企业:CMMI-SW/SE
4) 在国际市场竞争中显示软件过程能力:CMM或CMMI
5) 内部软件过程改进:可选择SPCA,因为评估成本较低
6) 承担较多政府项目和国内项目:SPCA,有利于享受信息产业政策
总结:
1、国内的IT企业如果承担较多的国内项目建议选择SPCA认证;
2、国内IT企业承包国外的信息系统工程建议选择CMMI 2.0。
3、关于SPCA你可以先简单的人为它就是CMMI标准的中国版(实际上不是这么回事,我会在另一个帖子中专门说说SPCA),CMMI的评估是按照美元来计价的,评审员大多都是国外的来的(国内也有,但数量不多),所以评审成本比较高,SPCA是中国标准,认证成本比CMMI小的多。
2、CMMI评审及申请基本条件
a) 评估机构及人员要求:
- 开展CMMI评估必须是SEI授权的合作机构,评估活动由SEI授权的主任评估师进行,并遵守SEI发布的评估需求 (ARC)和评估方法(SCAMPI);
- 开展SPCA评估必须得到信息产业部和国家认证认可委员会的批准,评估过程遵守国家发布的SPCA评估方法。
b) 企业申请的基本要求:
- 对于CMMI评估,一般要求企业的项目或产品活动应能覆盖所申请CMMI等级的要求;
- 对于SPCA评估,一般要求为:企业成立5年以上,软件开发人员20人以上,评估项目和人员覆盖率达到70%。
3、CMMI/SPCA认证的基本流程
- 企业实施CMM/CMMI/SPCA的基本步骤为:
CMM/CMMI培训→成立SEPG、SQA组→建立和完善文件体系→试点实施→推广并制度化→参加预评估→参加、准备最终评估→持续改进
其中制度化过程的时间一般不低于6个月。
- CMMI的组织结构
CMMI的组织结构一般在最高领导之下设立三个核心工作组:
1、 EPG(Engineering Process Group, 工程过程组)
2、 QA(Quality Assurance, 质量保证组)
3、 EG(Engineering Group, 工程组)
这三个组的构成就好像是立法、监督和执法的制衡体系,体现了西方的法治观念。EPG源于SEPG(Software Engineering Process Group, 软件工程过程组),本是组织中专职推进CMMI的职能单位,EPG的职能就是组织的过程改进。
- 企业实施CMM/CMMI/SPCA的基本步骤详细说明
阶段1:CMMI项目启动会
明确企业实施CMMI的商业目标,建立CMMI项目实施的沟通机制。
阶段2:CMMI基础培训和过程改进小组(EPG)组建
进行CMMI基础概念讲解,指导企业建立核心的过程改进小组。
阶段3:诊断
充分了解企业研发过程现状,识别企业现有软件过程与企业现阶段理应达到的的CMMI成熟度级别的差距,提交诊断报告,进行过程改进的策划。
阶段4:过程域培训和文件定义
结合企业过程现状进行CMMI过程域培训,通过举例、案例分析等方式,让企业的EPG掌握过程文件定义技巧,结合企业实际情况有针对性的定义组织的研发过程,并确定过程产出物(如:需求报告)
阶段5:项目试点
选择代表公司核心业务的项目或者典型项目进行试点,通过试点来完善过程文件,从而为企业全面推广过程文件打下基础。
阶段6:组织推广
全员参与全面导入与执行CMMI。
阶段7:预评估
验证组织推广的结果,识别企业尚存缺陷并制定再次改善方案,准备充分,以便企业能够更好进行正式SCAMPI评估。
阶段8:SCAMPI正式评估
由SEI授权的主任评估师领导,采用SCAMPI ( Standard CMMI Appraisal Method for Process Improvement)评估方法,对企业的能力成熟度进行正式的评估,颁发证书,通过SEI网站向全球发布企业信息。
五、关于CMMI 2.0的说明
2018年7月17日,CMMI 研究院正式发布了 CMMI 2.0 中文版。CMMI 2.0 版本是一个全球公认的软件、产品和系统开发优良实践过程改进模型,能够帮助组织提升绩效。
与此同时,CMMI中国卓越中心也宣布正式成立,该中心位于北京,将支持 CMMI 2.0 版本和未来更多升级,致力于推动软件、服务、数据管理和网络安全的新兴实践,通过教育、咨询、评估、对标和研究为中国企业提供服务。CMMI开发2.0版本是 CMMI 研究院针对软件、产品和系统优良实践发布的过程改进模型。
CMMI的较早版本已被用于评估和提升全球领先组织和企业的绩效,惠及数千家中国组织。CMMI开发2.0版本让经过验证的方法能适应不断变化的技术环境,更精简易用,确保决策者更好地应对新挑战,极大限度提高业绩。
CMMI2.0 版本产品套件包括成熟度模型、使用指南、系统与支持工具、培训、认证和评估方法。与前期版本一样,CMMI2.0 版本使用五个级别代表提高能力成熟度以改进业务绩效的途径。
- CMMI2.0版本具备以下优势:
改善业务绩效- 商业目标直接与运营相关联,达到在时间、质量、预算、客户满意度和其他关键驱动因素的性能方面实现可衡量的提升。
利用当前的优良实践- CMMI2.0 版本是经过验证的优良实践的可靠来源,并会在新的在线平台上持续更新,能够反映不断变化的业务需求。
构建敏捷弹性和规模化- 在整个企业范围内以绩效为焦点,为加强使用 Scrum 的敏捷项目过程提供直接的指导。
对能力和性能进行对标- 新的性能导向的评估方法提高了基准评估的可靠性和一致性,同时缩短了准备时间,降低了生命周期成本。
加速采用- 通过在线平台和应用指南,更容易获得 CMMI 提供的帮助。


