一、CMMI概述
CMMI全称是Capability Maturity Model Integration能力成熟度模型集成,是一套世界级的绩效改进框架。
它最早是由美国卡耐基梅陇大学的软件工程学院,借助Watt Humphrey一生在IBM工作践行的软件开发、过程改进与质量提升理论与实践的基础上编制而来;用于帮助美国军方挑选和评估软件以及系统集成供应商的软件开发与服务水平的一套标准。因此,CMMI是建立在组织的业务绩效目标的基础之上,提供一整套过程改进实践,并最终建立绩效改进体系,使组织获得良好的投资回报。CMMI模型,告诉组织如何“改进”过程而非“定义”过程。CMMI的设计是用来将组织既有的过程,与行业最佳实践作比较,找到可行的改进部分,并提供度量改进进展的方法。这将帮助组织,建立和管理适合于自身独特环境的整体绩效提升系统。
至今CMMI仍是软件工程领域全球最具权威的资质评审与认证标准。
证书样式
二、实施CMMI的收益
1. 获得全球性软件与系统工程行业的唯一权威认证,是对企业软件研发与服务能力的权威认可。
2. 提升公司品牌形象与市场竞争力,帮助企业在竞争中脱颖而出。
3. 获得“中国梦”发展计划中,政府对软件与系统集成企业自主创新与发展的支持。
4. 让公司持续、可控的向客户交付符合要求的产品与服务。
5. CMMI通过降低研发、生产和交付的成本,帮助公司提升经营业绩。
6. 灵活运用CMMI的三种不同模型,用以帮助提升不同的商业需求。无论是CMMI DEV(研发)、CMMI SVC(服务)还是CMMI ACQ(采购),其主体是16个几乎完全相同的核心过程域(Core PAs)。不同CMMI模型之间的差别,在于特定过程域(Specific PAs)所关注的不同的业务目标和管理诉求。
三、CMMI DEV模型简介
CMMI DEV是为专注于开发产品和服务的企业而设计的。该模型探讨了将客户需求转化为开发人员所需的细节,有效地将产品组件集成到最终产品或服务中,进行技术分析和开发工作来设计产品或服务,并确保开发产品、开发工作满足了最终用户的需求和设计过程中的规范要求。
CMMI模型推荐使用渐进的路径供组织改进其开发产品或服务的过程,并采用级别来描述这一渐进的路径。级别也可以是评估中评定活动的结果。评估可应用于整个组织或小一些的组,如一组项目或一个部门。
四、CMMI不同成熟度等级
按照阶段式的划分方法,CMMI模型共有5个等级,企业可以根据自身现状与改进目标,选择适合的阶段性改进目标:
CMMI1级,初始级
整个软件工程是无序的、混乱的,偶尔也会取得成功,但这样的成功是建立在团队内的“个人英雄主义”的基础之上,不可复制与延续。CMMI没有针对1级的评估,官方默认所有未进行CMMI评估的企业,至少具备CMMI 1级水平。
CMMI2 级,已管理级
组织在小范围内(如某个部门、某个项目组)建立了初步的管理体系,用来把控项目的成本、周期与质量。这样的的管理,会快速帮助项目组或者部门提升开发工作的效率与质量,但是并没有在整个组织范围内推广开来。
CMMI3 级,已定义级
在公司层面建立的统一而标准的管理制度,并通过明确的、文档化的规程与文件,将制度的执行落实到每个工作单元的工作中,并有专职人员进行监督与检查。CMMI3级是重要的承上启下的一环,因为组织范围内的统一管理,不仅有助于提高软件产品与服务的效能与质量,其稳定的过程可以为进一步的量化管理提供标准的分析数据,也帮助组织逐渐形成了管理的文化。
CMMI4 级,量化管理级
CMMI4级之前,主要是定性的方式进行管理;而从4级开始,组织在标准而稳定的过程下,收集软件开发过程中的数据,建立基线与模型,开启企业的量化管理之门。量化管理不仅可以将隐形的软件开发过程,通过数据显性的表达出来,还能基于企业的历史经验,在统计学方法指导下,预测项目的进展情况。
CMMI5 级,持续优化级
所谓优化管理级,最重要的是企业内部形成了自觉的持续优化文化。组织及其成员会不断寻求新技术、新方法,追求管理上可量化的绩效指标提升。这种文化,还为企业的管理变革和转型奠定了坚实的基础,帮助企业在取得阶段性胜利之后,跨越平台期,迈向下一个改进循坏的开始,促成进一步的成长。
五、CMMI DEV过程
过程域在CMMI模型中是某一领域内的一组相关实践,当它们共同得到实施时,能满足一组对于在本领域作出改进较为重要的目标。不同等级所包含的不同过程域,可以帮助企业实现不同的管理诉求,改进不同的管理过程与实践。
CMMI DEV V1.3版本模型共有22个过程域,其中2级7个,3级11个,4级2个、5级2个,每一等级的CMMI评估,均需向下覆盖所有的过程域。比如,CMMI3级需要执行与评估2级的7个过程域与3级的11个过程域,共计18个过程域。
六、CMMI实施流程
差距分析:评估企业现有的软件工程水平与期望的CMMI等级之间的差异。
体系文件定义:根据CMMI要求,帮助客户梳理和建立一套适合的软件工程管理体系。改过程会涉及到从立项到交付的完整生命周期。
项目试点:将定义的CMMI管理过程在实际的项目中进行测试,检验其有效性与灵活性。
预评估:采用CMMI Institute要求的SCAMPI C方法,对试点项目的CMMI实践情况进行评估,以确保在体系文件定义阶段所产出的CMMI管理标准与实践,可以满足客户实际的软件研发管理诉求。
推广:在恰当的组织范围内,推广本轮改进多制定的CMMI管理标准与实践。
正式评估:对组织阶段性实施CMMI的结果予以评价,判断企业是否满足CMMI阶段式表示法某个等级的要求,并提交企业信息到CMMI Institute,颁发CMMI证书。