关于CMMI的过程域,请参考 CMMI能力成熟度模型集成的过程区域
1、CMMI/SPCA概述
CMM是“能力成熟度模型(Capability Maturity Model)”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,最初的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM实施过程改进取得较大的成功,便在全世界范围内广泛使用。
CMMI是SEI于2000年发布的CMM的新版本。CMMI发展到现在,共包含了三个模型,分别是CMMI-DEV、CMMI-SVC以及CMMI-ACQ。这三个模型按照成熟度等级共分为五个等级。每个成熟度等级包含了一组过程域。在实施CMMI时,每实施高成熟度的等级必须包含低级别等级的所有过程域。
SEI于2010年11月发布了这三个模型的最新版本v1.3版,并规定从2011年11月30日后,只接受v1.3版模型的评估结果。
1.1 CMMI-DEV
即CMMI for Development模型。该模型是目前在全国使用最广的模型,通常说的CMMI模型即指该模型,该模型主要用于软件工程、硬件工程、系统工程等产品开发领域。
该模型基本上覆盖了产品研发的各个过程领域,包括:项目管理、需求、设计、开发、验证、确认、配置管理、质量保证、决策分析以及对研发的改进和培训等一系列活动。
该模型按照成熟度等级的逐步提高,产品开发企业的产品研发风险越来越低,研发效率和质量越来越高。该模型自2000年进入中国以来,已经有1700多家企业通过了CMMI不同等级的评估。
每个成熟度等级包含的过程域如下图所示:
图表 1 CMMI-DEV各成熟度等级包含的过程域
1.2 CMMI-SVC
即CMMI for Services模型。该模型的第一个发布版由SEI于2009年发布。虽然发布才2年多的时间,但该模型在全球已经有超过60家企业通过认证,中国截至到2011年8月底也已经有7家企业通过认证。其发展趋势不逊于CMMI for Development模型。该模型可以用于任何服务行业,包括IT服务、医疗卫生、教育、餐饮酒店等各类服务领域。
CMMI-SVC模型吸收了ISO20000、ITIL等服务相关标准的优点,并采用了CMMI的框架结构形成。在服务领域,提供了战略服务管理、服务系统开发、服务系统转移、服务交付、服务持续性、能力和可用性管理、事件解决和预防等服务直接相关的过程域。
每个成熟度等级包含的过程域如下图所示:
图表 2 CMMI-SVC各成熟度等级的过程域
1.3 CMMI-ACQ
即CMMI for Acquisition 模型。该模型基于CMMI模型基础架构,整合了CMMI采购模型、软件采购模型以及政府及产业采购的最佳实践等,用于指导采购方进行采购管理。该模型适用于政府、电信、金融等各领域的采购管理。
每个成熟度等级包含的过程域如下图所示:
图表 3 CMMI-ACQ各成熟度等级的过程域
1.4 CMMI 各模型之间的关系
CMMI 3个模型采用相同的基础架构。这为采用CMMI模型改进公司多个领域提供了便捷。
以下是不同模型过程域之间的关系图:
图表 4 CMMI各模型之间的关系
1.5 SPCA
“软件过程及能力成熟度评估”(简称SPCA)是软件过程能力评估和软件能力成熟度评估的统称,是中国信息产业部会同国家认证认可监督委员会在充分研究了国际软件评估体制,特别是美国卡内基-梅隆大学SEI所建立的软件能力成熟度模型CMMI,并考虑了国内软件产业实际情况之后所建立的软件评估体系。
SPCA依据的评估标准是信息产业部《SJ/T 11234-2001 软件过程能力评估模型》和《SJ/T 11235-2001 软件能力成熟度模型》两个标准,这两个标准是在深入研究了CMM、CMMI、ISO/IEC TR15504、ISO9000、TL 9000以及其他有关的资料和文件以及国外企业实施CMMI的实际情况后,结合国内企业的实际情况,以CMMI作为主要参考文件最终形成的,已于2001年5月1日发布实施。
SJ/T 11234《软件过程能力评估模型》针对软件企业对自身软件过程能力进行内部改进的需要,而SJ/T 111235《软件能力成熟度模型》则针对软件企业综合能力第二方或第三方评估的需求。两个模型分别适应于不同的目的。
SPCA评估遵循《软件过程及能力成熟度评估指南》,该指南由国家认监委和信息产业部2002年8月共同发布,作为利用SJ/T11234或SJ/T11235实施评估的操作指南。评估过程由经过培训的专业队伍以评估参考模型作为确定过程的强项和弱项的基础而对一个或多个过程进行检查。从不同用途考虑,评估分为内部过程改进评估和顾客选择评价两种。
2、为什么要实施CMMI/SPCA
实施CMMI/SPCA,可以帮助企业对产品研发/服务/采购过程进行管理和改进,增强开发/服务/采购与改进能力,从而能按时、不超过预算地提供高质量的产品或服务。提高企业的管理水平,增强企业的国际竞争能力。
实施CMMI/SPCA对企业的好处主要体现为:
·提升产品(服务)质量和效率
通过CMMI/SPCA的实施,可以对“杂乱无章、无序管理”的研发(服务)过程进行规范。通过对研发(服务)过程的关键质量点的控制,加强对质量的管理,提升产品(服务)的质量。另外,产品(服务)规范化之后,降低了出错的频率,减少了工作的返工,从而提升了工作效率。
·确保产品(服务)按时交付
实施CMMI/SPCA可以提升估算的准确程度,能够更清楚产品(服务)的交付能力。通过优化研发(服务)的过程,提升效率,降低返工来确保产品(服务)的按时交付。
·控制成本
因为质量有所保证,浪费在修改、解决客户的抱怨方面的成本会降低很多。
·提高研发(服务)人员的职业素养。
每一个具体参与其中的员工,无论是项目经理,还是工程师,甚至一些高层管理人的做事方法逐渐变得标准化、规范化。
·解决人员流动为企业带来的影响
公司通过过程改进,完善了企业的配置管理,建立了财富库以共享经验,而不是单纯依靠某些人员。
·政府补助,降低实施CMMI/SPCA的投入
我国政府一直重视软件和IT产业的规范和发展,强调提高我国软件开发和软件产品质量的重要性。目前各省市高新区、软件园或信息产业主管部门大都有对通过CMMI/SPCA评估的企业给予资金奖励的制度。
以下是某企业在实施CMMI3级以后,在生产率、质量、成本、按期交付方面改进提升的情况:
类型 |
度量项 |
实施前 |
评估时 |
评估1年后 |
生产率 |
代码生产率(KLOC/MM) |
4.52 |
5.99 |
7.04 |
代码复用率(%) |
24% |
35.50% |
39% |
|
质量 |
缺陷密度(Bug/KLOC) |
8.83 |
6.47 |
6.3 |
发布后缺陷密度(Bug/KLOC) |
0.069 |
0.048 |
0.026 |
|
成本 |
每人日成本(¥/MD) |
196 |
50.8 |
41.28 |
工作量偏差率(%) |
13% |
7% |
6% |
|
按时交付 |
项目进度偏差率(%) |
26.40% |
12.69% |
11.80% |
3、不同模型适用范围
CMMI/SPCA评估为产品研发、服务和企业采购提供了业界最佳实践,有利于这些企业提升管理水平,增强竞争能力。
根据企业的业务及产品情况,可按下表提供的建议选择实施模型:
企业类型 |
CMMI |
CMMI |
CMMI |
SPCA |
产品研发(软、硬件) |
P |
(P) |
|
P |
软件服务外包 |
P |
|
|
|
提供政府软件项目 |
P |
(P) |
|
P |
通过招投标获取项目 |
P |
|
|
|
体现国际研发竞争能力 |
P |
|
|
|
系统集成业务 |
P |
(P) |
|
|
IT服务 |
|
P |
|
|
离岸服务中心(呼叫中心等) |
|
P |
|
|
内部软件过程改进 |
|
|
|
P |
政府采购 |
|
|
P |
|
企业采购管理 |
|
|
P |
|
注:标记“(P)”表示该类企业可能也会选择的模型。
以上推荐选择实施模型仅为建议,可能企业由于业务多样性,实施目标的不同等,会选择多个模型进行实施。