CMMI 能力成熟度模型集成

简介: 关于CMMI的过程域,请参考 CMMI能力成熟度模型集成的过程区域 1、CMMI/SPCA概述   CMM是“能力成熟度模型(Capability Maturity Model)”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,最初的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM实施过程改进取得较大的成功,便在全世界范围内广泛使用。
关于CMMI的过程域,请参考 CMMI能力成熟度模型集成的过程区域


1、CMMI/SPCA概述

  CMM是“能力成熟度模型(Capability Maturity Model)”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,最初的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM实施过程改进取得较大的成功,便在全世界范围内广泛使用。
CMMI是SEI于2000年发布的CMM的新版本。CMMI发展到现在,共包含了三个模型,分别是CMMI-DEVCMMI-SVC以及CMMI-ACQ。这三个模型按照成熟度等级共分为五个等级。每个成熟度等级包含了一组过程域。在实施CMMI时,每实施高成熟度的等级必须包含低级别等级的所有过程域
SEI于2010年11月发布了这三个模型的最新版本v1.3,并规定20111130日后,只接受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
-DEV

CMMI
-SVC

CMMI
-ACQ

SPCA

产品研发(软、硬件)

P

P

 

P

软件服务外包

P

 

 

 

提供政府软件项目

P

P

 

P

通过招投标获取项目

P

 

 

 

体现国际研发竞争能力

P

 

 

 

系统集成业务

P

P

 

 

IT服务

 

P

 

 

离岸服务中心(呼叫中心等)

 

P

 

 

内部软件过程改进

 

 

 

P

政府采购

 

 

P

 

企业采购管理

 

 

P

 

注:标记“P”表示该类企业可能也会选择的模型。
以上推荐选择实施模型仅为建议,可能企业由于业务多样性,实施目标的不同等,会选择多个模型进行实施。

目录
相关文章
|
3月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
80 0
|
3月前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
83 0
|
3月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
55 1
|
4月前
|
机器学习/深度学习 分布式计算 算法
Java中的机器学习模型集成与训练实践
Java中的机器学习模型集成与训练实践
|
5月前
|
机器学习/深度学习 人工智能 Java
Java与AI集成开发:机器学习模型部署
Java与AI集成开发:机器学习模型部署
|
4月前
|
机器学习/深度学习 数据采集 TensorFlow
深度学习与传统模型的桥梁:Sklearn与Keras的集成应用
【7月更文第24天】在机器学习领域,Scikit-learn(Sklearn)作为经典的传统机器学习库,以其丰富的预处理工具、模型选择和评估方法而闻名;而Keras作为深度学习领域的明星框架,以其简洁易用的API,支持快速构建和实验复杂的神经网络模型。将这两者结合起来,可以实现从传统机器学习到深度学习的无缝过渡,充分发挥各自的优势,打造更强大、更灵活的解决方案。本文将探讨Sklearn与Keras的集成应用,通过实例展示如何在Sklearn的生态系统中嵌入Keras模型,实现模型的训练、评估与优化。
121 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】集成语音与大型语音模型等安全边界探索
【机器学习】集成语音与大型语音模型等安全边界探索
269 5
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
|
4月前
|
机器学习/深度学习 人工智能 分布式计算
Java中的机器学习模型集成与训练
Java中的机器学习模型集成与训练
|
4月前
|
机器学习/深度学习 算法 Java
Java中的机器学习模型集成与训练策略
Java中的机器学习模型集成与训练策略