软件能力成熟度模型(一)-CMMI概述

CMMI( Capability Maturity Model Integration)即能力成熟度模型集成,由CMM (Capability Maturity Model)发展而来,它最早是应用于软件业的一个过程改进模型,

为软件组织描述了从混乱的、不成熟的软件过程向成熟有序的软件过程进行改进的一条途径

后来随着应用的推广和模型本身的发展,CMMI逐渐演化成为一个被广泛应用的综合性过程改进模型。

1.CMMI的历史

  • 1991年,美国卡耐基梅隆大学软件工程研究所(SEI)推出了能力成熟度模型CMM,CMM的作用主要有两方面:

  1. 为软件客户提供评价软件开发商能力的方法。
  2. 帮助软件开发商改进其软件过程,提高成熟度。
  • 随着CMM在软件界应用的不断推广,其它相关学科和领域也采用它的模式,开发出了许多类似于CMM的模型。

  1. SE-CMM (System Engineering CMM) 系统工程CMM,应用于系统工程管理。
  2. SA-CMM (Software Acquisition CMM) 软件获取CMM,应用于软件获取(采购)方的能力成熟度模型。
  3. IPD-CMM (Integrated systems product Development CMM): 集成系统产品开发CMM,应用于集成系统产品的开发管理。
  4. P-CMM (People CMM):人员能力成熟度模型,应用于人力资源管理。
  • 为了以示区别,常把CMM叫做SW-CMM。

  • 同一个组织可能会应用多个过程改进模型,但多个过程改进模型的并存可能会引起冲突和混淆。

  • CMMI为工业界和政府部门提供了一个集成的能力成熟度模型产品集,消除了不同模型之间的不一致和重复,降低了过程改进的成本。

  • CMMI覆盖了软件工程、系统工程、集成产品开发和系统采购,以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。

  • CMMI 1.0版于2000年发布,2002年又发布了1.1版,2006年发布了1.2版,2010年发布了1.3版。

  • CMMI是目前世界公认的软件产品进入国际市场的通行证。一般来说,通过CMMI认证的级别越高,就越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。

  • 2000年6月,国务院颁发了《鼓励软件产业和集成电路产业发展若干政策》,其中第17条中明确规定“鼓励软件出口型企业通过CMM认证,其费用通过中央外贸发展基金适当予以支持”。随后各省市、高新区、软件园都出台了对通过CMM的企业给予资金奖励的制度。

2.软件过程成熟度

  • 软件过程成熟度指一个具体的软件过程被明确和有效地定义、管理、度量、控制和实施的程度。
  • 软件组织成熟的过程是一个不断改进、循序渐进的过程,而不是通过革命性的革新快速实现的。不成熟组织与成熟组织的对比

     不成熟组织与成熟组织的对比

    

3. CMMI中的成熟度等级

  • 初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
  • 已管理级:建立了基本的项目管理过程来跟踪费用、进度和软件的功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
  • 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。
  • 量化管理级:分析软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理活动有一个作出结论的客观依据,能够在定量的范围内预测性能。
  • 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。 有能力识别软件过程中的薄弱环节,并有足够的手段改进它们,防止缺陷的产生。
  • CMMI是一个引导软件组织不断走向成熟的过程模型。

      

 

     

4.CMMI的关键过程域

  • 每个成熟度等级(除了初始级)包含若干个关键过程域(Key Process Area,KPA)。
  • KPA表示当软件组织改进软件过程时必须集中精力解决的关键问题。
  • 一个组织要想达到某个成熟度等级,必须满足该等级(以及较低等级)包含的KPA的所有要求,满足每个KPA的所有目标。

      

     

     

5.CMMI的能力等级

  • 能力等级(Capability Level, CL)是指在一个单独的过程域中执行的良好程度。
  • CMMI包括6个能力等级:
  1. CL0,不完整级:过程域的一个或多个目标没有被满足。
  2. CL1,已执行级:过程通过转换可识别的输入工作产品,产生可识别的输出工作产品。能实现过程域的特定目标。
  3. CL2,已管理级:过程作为已管理的过程被制度化。
  4. CL3,已定义级:过程作为已定义的过程被制度化。
  5. CL4,量化管理级:过程作为量化管理的过程被制度化。
  6. CL5,优化级:过程作为优化的过程被制度化。

有关CMMI的说明

  • CMMI是什么?
  1. CMMI指明该做什么,但没有指明如何做,它不是方法论,没有给出特定应用领域内的专门技术。
  2. CMMI是从软件过程角度定义了成熟的软件过程的实践活动,但它并没有涉及到软件工程的所有方面,对于成熟的软件组织而言,人的因素和技术的因素也同样重要。
  • CMMI过程改进需要多长时间?有何效果?
  1. 统计数字表明:一般需要2年才能把成熟度提升一级(建议安排1.5年到2年)。
  2. 根据CMU-SEI的统计,软件企业在引入CMM后劳动生产率平均增长了35%;错误比率平均减少39%;平均成本回报率为5:1。

原文链接:https://blog.csdn.net/yongchaocsdn/article/details/80893195

posted @ 2022-01-25 18:06  艾薇-Ivy  阅读(1836)  评论(0编辑  收藏  举报