CMMI认证的发展大起底,软件企业认证行业发展标准
CMMI认证的起源与发展
CMM是Capability Maturity Model的缩写形式,是美国国防部委托CMU-SEI(卡耐基梅隆大学的软件工程协会)开发的一套标准,用以对软件承包商的开发能力进行评估。
美国防部因外包项目而造成的损失以亿美元为单位计,而CMM的实施则*大的提高了其外包项目的开发管理水平。后来,很多软件开发商发现CMM可用来改进软件开发管理过程,CMM因此得以推广,进而在全球范围内流行。
上世纪90年代末,SEI组织开发了CMMI(Capability Maturity Model Integration),CMMI是以3个基本成熟度模型为基础综合生成的,分别是面向软件开发的SW-CMM ( Software-CMM )、面向系统工程的SE-CMM ( System Engineering-CMM )以及面向并行工程的IPD-CMM (Integrated Product Development-CMM )。基于企业会将系统或产品的某些部分采用外购或协同开发模式进行的考虑,SEI又将外购成熟度模型SA-CMM ( Supplier Sourcing-CMM )作为CMMI的第4个模型源。其中Integration的用意是解决现有不同CMM模型的重复性、复杂性问题,并对CMM家族标准进行统一。CMMI将软件CMM2.0版草案C(SW-CMM)、EIA过渡标准731(SE-CMM)及IPD-CMM集成为一体,同时,还与ISO15504相兼容。从内容组织上看,CMMI更适合有志于改进过程的企业根据自身情况定制改进方案。SEI在2011年3月发布CMMI 1.3版本,为当前使用的版本。
CMMI模型由一系列的PA(过程域)组成,这些PA构成了集成能力模型的核心,为企业提供了软件工程、系统工程、集成产品及过程开发方面的过程改进框架和指南。在CMMI中,软件组织可以按照两中模型改进自己的软件开发过程——连续的和阶段性的模型。
据SEI统计,通过CMMI认证并切实实施CMMI管理模式的软件公司对项目的估计与控制能力约提升40%到50%;生产率提高10%到20%,软件产品出错率下降超过1/3。
CMMI的证书示例
CMMI认证的五个等级
软件过程能力成熟度的五个等级的关键特征是:
1.初始级。企业的项目开发过程始终处于黑盒状态,项目经常失控,对于关键开发人员的依赖性*大,项目组也始终处于一种救火式的状态。成功来源于个人英雄主义而非机构行为,因此它不可重复,更换人员后成功便难以维持。
2.管理级。明确了基本的项目管理和控制;对特定的项目,建立了管理该项目的策略,以及实现这些策略的过程;新项目的计划和管理,基于类似项目经验;过程能力主要通过管理单个项目的过程,来得到提高和增强;不同的项目可有不同的软件过程。
3.已定义级。软件过程已被提升成标准化过程,从而更加具有稳定性、重复性和可控性;工程活动和管理活动,集成为一个有机的整体;软件工程组(SEPG)专门负责订立机构的标准软件过程;标准的软件过程结合具体项目的特点,经过裁剪形成项目的过程;时间、成本和实现功能均可跟踪和控制,产品的质量得到保证。企业由项目组级管理机制转向组织级管理机制,组织内的每一个项目组都遵循组织级开发过程进行开发工作。
4.量化管理级。定量、可预测、异常控制和高质量;软件的过程和产品,有定量的质量指标;产品和生产过程的控制具有可预测性。
5.优化管理级。机构集中于持续的过程改进。
CMMI认证的价值
通过CMMI评估与认证对于企业的价值在于,CMMI的系统模型和技术规范保证了企业可以获得全球*的软件技术开发和管理能力的认可。那么,通过CMMI认证的企业就可以得到以下一些核心的价值:
首先,通过了CMMI评估与认证,企业的软件开发能力得到了足够的提升和规范,对软件过程管理有了可以遵循的标准;
第二,通过了CMMI评估与认证,可以帮助企业更好地去建设自己的软件开发和管理团队,并同时对组织管理产生积*的影响。
第三,CMMI评估与认证是个全球软件开发行业*认可的技术、管理标准,获得了此标准的评估和认证的企业便获得了行业的技术资格与认可,因此就可以得到更多的外包订单、技术合约等。这对软件外包企业至关重要。
*后,CMMI系统是个集成体系,它不仅可以运用到软件开发和管理过程中,而且可以对企业、项目各个环节的过程管理,以及组织和团队的建设都起到一定的规范和管理效果。因此,其在各个领域都得到了充份的认可。