CMMI软件能力成熟度模型详细简介

CMMI全称是Capability Maturity Model Integration,直接翻译就是能力成熟度模型。作为软件开发领域最佳实践集合,CMMI®系列模型已然成为业内提升研发管理及流程能力的公认标准。
很多人也许读过类似《成功人士的七个习惯》的文章,如果能具备那些习惯,我们也非常可能成为成功者。同理,CMMI可以看作是成功企业在软件上的一些习惯、做法、准则等的集合,是做好企业软件的最佳实践的集合。 
如果企业能达到CMMI的要求,则成功近在咫尺。 
CMMI是软件工程领域全球最具权威的资质评审与认证标准。
CMMI发展历史

CMMI(Capability Maturity Model Integration For Software,软件能力成熟度模型集成)是一个用于产品与服务开发的过程改进成熟度模型。它包含开发与维护活动的最佳执行方法,涵盖产品从构思到交付与维护的生命周期。
CMMI是由美国国防部委托卡耐基-梅隆大学(Carnegie Mellon University)软件工程学院(Software Engineering Institute)组织全世界的软件过程改进和软件开发管理方面的专家历时四年而开发出来的,并在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。
目前CMMI的官网组织为:CMMI研究院 (cmmiinstitute.com) ,是ISACA Enterprises的子公司,在促进人员、过程和技术的最佳实践方面处于全球领先地位。
CMMI涉及三种不同模型,用以帮助提升不同的商业需求。无论是CMMI DEV(研发)、CMMI-SVC(服务)还是CMMI-ACQ(采购),其主体是16个几乎完全相同的核心过程域(Core PAs)。不同CMMI模型之间的差别,在于特定过程域(Specific PAs)所关注的不同的业务目标和管理诉求。
CMMI的版本升级迭代过程

CMM的产生,拥有着浓浓的“军方”背景。上世纪80年代末,计算机技术方兴未艾,软件开发尚处于初级阶段,美国国防部资助卡内基梅隆大学(Carnegie Mellon University, CMU)成立软件工程研究所(Software Engineering Institute, SEI),建立一系列的软件工程优秀实践和标准,这包括为了有效的评估供应商的能力而开发出的软件过程能力框架,也就是软件CMM的雏形。在高校、业界和政府多方的努力下, 被寄予厚望的SEI于1991年成功推出CMM(Software Capability Maturity Model)V 1.0模型。

多年来,这套标准不断进化升级,逐渐跳出了“军用”的局限,从软件扩大到系统,进而覆盖至各类产品开发,向着商业化领域发扬光大。在此背景之下,CMM的替代模型——CMMI(Capability Maturity Model Integration, 能力成熟度模型集成)应运而生。

在经历了CMMI V1.0、V1.1以及V1.2的交替革新之后,2011年,应用最久的CMMI V1.3正式发布。两年之后,CMMI连同产品与服务一起,全部由SEI转入CMMI研究院负责,直至2018年3月,CMMI V2.0闪亮登场,标志着CMMI全新应用时代的开启,也是其从SEI剥离、并入国际信息系统审计协会(ISACA)之后的首次版本更新。

自2020年10月1日起,CMMI研究院(CMMI Institute)将停止受理CMMI V1.3评估,这意味着CMMI V2.0的时代序幕就此全面拉开。

CMMI-DEV证书样本

目前,中国已经成为CMMI应用发展最广阔的市场。CMMI适用于金融科技、软件开发、互联网、国防科研、汽车制造、电信等行业。

CMMI-DEV模型介绍

CMMI-DEV模型即CMMI开发模型(CMMI for Development, CMMI-DEV),CMMI-DEV1.3版是生成自CMMI1.3版架构与框架的、来自政府与产业界的有关开发的最佳实践集合。
CMMI-DEV模型为开发产品与服务提供了全面的、集成化的系列指南,为开发型组织应用 CMMI 最佳实践提供了指南。模型中的最佳实践关注于开发高质量产品与服务的活动,以满足客户与最终用户的需要。
在CMMI模型中,所有软件组织的软件能力成熟度划分为5个等级。数字越大,成熟度越高,高成熟度等级代表比较强的综合软件能力。
企业如果要做CMMI认证,一般从3级做起。 
等级连续式阶段式表现
1已执行级初始级过程不可预测,也很少能被控制及对项目起作用。
2已管理级已管理级过程符合项目的特征,且能够对项目起作用。
3已定义级已定义级过程符合组织的特征,且具有可预见性。
4已量化管理级已量化管理级过程是被度量的和控制的。
5已优化级已优化级专注于持续的过程改进。

 

CMMI的组织结构

CMMI的组织结构一般在最高领导之下设立EPG(Engineering Process Group, 工程过程组)、QA(Quality Assurance, 质量保证组)、EG(Engineering Group, 工程组),这三个组的构成就好像是立法、监督和执法的制衡体系,体现了西方的法治观念。EPG源于SEPG(Software Engineering Process Group, 软件工程过程组),本是组织中专职推进CMM的职能单位,随着CMM发展到CMMI,内容更加广泛,EPG的职能就是组织的过程改进。
申请CMMI能获得哪些收益

参加CMMI评估的角色要求

序号角色职责
1公司领导

(MSG组长)

将过程改进与公司战略目标结合,提供资源和资金支持,监督EPG工作。
2EPG组长

(过程改进组)

负责过程改进中意见收集、整理、定期召开EPG例会,指导过程改进文件更新、处理相关问题,承担过程改进甲方高级咨询师的职责;
3QA(质量保证人员)负责按照公司过程文件规范,进行项目的过程和产品的检查;同时,参加项目组会议,协助高级咨询师收集项目数据。
4CM(配置管理员)负责按照配置管理规范进行配置管理工作,收集过程改进中发现的配置管理方面的问题。
5项目经理负责按照公司的过程文件要求,制定项目计划,进行项目监督等工作,及时向EPG反映项目中遇到的问题。
6培训管理员主持公司总体的培训工作,协助EPG开展过程标准文件的培训,按照公司的年度培训计划开展培训,收集培训反馈意见,保持培训记录。
7需求工程师参加培训,依据公司过程文件要求填写相应的文档,参与项目计划、项目需求、设计评审等。
8设计工程师参加培训,依据公司过程文件要求填写相应的文档,参与项目计划、项目需求、设计评审等。
9编码工程师参加培训,依据公司过程文件要求填写相应的文档,参与项目计划、项目需求、设计评审等。
10测试工程师参加培训,依据公司过程文件要求填写相应的测试文档,参与项目计划、项目需求、设计评审等。
11采购负责人参加培训,依据公司过程文件要求填写相应的采购文档,负责项目采购。
12ATM成员正式评估小组成员,参加整个正式评估活动
13现场协调员负责后勤和人员协调
CMMI实施流程

  • 阶段1:CMMI项目启动会
明确企业实施CMMI的商业目标,建立CMMI项目实施的沟通机制。
  • 阶段2:CMMI基础培训和过程改进小组(EPG)组建
进行CMMI基础概念讲解,指导企业建立核心的过程改进小组。
  • 阶段3:诊断
充分了解企业研发过程现状,识别企业现有软件过程与企业现阶段理应达到的的CMMI成熟度级别的差距,提交诊断报告,进行过程改进的策划。
  • 阶段4:过程域培训和文件定义
结合企业过程现状进行CMMI过程域培训,通过举例、案例分析等方式,让企业的EPG掌握过程文件定义技巧,结合企业实际情况有针对性的定义组织的研发过程,并确定过程产出物(如:需求报告)
  • 阶段5:项目试点
选择代表公司核心业务的项目或者典型项目进行试点,通过试点来完善过程文件,从而为企业全面推广过程文件打下基础。
  • 阶段6:组织推广
全员参与全面导入与执行CMMI。
  • 阶段7:预评估
验证组织推广的结果,识别企业尚存缺陷并制定再次改善方案,准备充分,以便企业能够更好进行正式SCAMPI评估。
  • 阶段8:SCAMPI正式评估
由CMMI Institute授权的主任评估师领导,采用SCAMPI ( Standard CMMI Appraisal Method for Process Improvement)评估方法,对企业的能力成熟度进行正式的评估,颁发证书,通过CMMI Institute网站向全球发布企业信息。
CMMI证书查询

可至CMMI官方网站,输入“公司英文名称”查询

https://sas.cmmiinstitute.com/pars/pars.aspx