1 2 3
  • 知识空间资讯阅览

CMMI是什么

发布时间:2010-9-4 9:27:52 阅读:4713

主题:CMMI 简介

什么是CMM? 
CMM是由美国卡内基梅隆大学的软件工程研究所(SEI)创立的CMM(Capability Maturity Model 软件能力成熟度模型)认证评估,在过去的十几年中,对全球的软件产业产生了非常深远的影响。
CMM是目前世界公认的软件产品进入国际市场的通行证,它不仅仅是对产品质量的认证,更是一种软件过程改善的途径。软件开发企业通过CMM的评估认证不仅仅是目标,它是推动软件企业在产品的研发、生产、服务和管理上不断成熟和进步的手段,是一种持续提升和完善企业自身能力的过程。
CMM分几个等级?
CMM共有五个等级,分别标志着软件企业能力成熟度的五个层次。从低到高,软件开发生产计划精度逐级升高,单位工程生产周期逐级缩短,单位工程成本逐级降低。据SEI统计,通过评估的软件公司对项目的估计与控制能力约提升40%到50%;生产率提高10%到20%,软件产品出错率下降超过1/3。
对一个软件企业来说,达到CMM2就基本上进入了规模开发,基本具备了一个现代化软件企业的基本架构和方法,具备了承接外包项目的能力。CMM3评估则需要对大软件集成的把握,包括整体架构的整合。一般来说,通过CMM认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。因此,是否能够通过CMM认证也成为国际上衡量软件企业工程开发能力的一个重要标志。
CMM的五个等级
◆ CMM 1--初始级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
◆ CMM 2--已管理级
建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
◆ CMM 3--已定义级
已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
◆ CMM 4--量化管理级
分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
◆ CMM 5--优化管理级
过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

什么是CMMI?
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,起初是美国国防部的一个设想,由工业界、美国政府和卡内基•梅隆大学软件工程研究所率先倡导。他们想把现在所有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架有两个功能,第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。
就软件而言,CMMI是SW-CMM的修订本。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科学和更周密的优点。
  CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。
  CMMI项目致力于帮助企业缓解这种困境。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够重总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的"最佳"实践;专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。

CMMI的基本思想:
  1、解决软件项目过程改进难度增大问题
  2、实现软件工程的并行与多学科组合
    3、实现过程改进的最佳效益

CMMI的原则:
1、强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。
2、仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。
3、选择最佳实践,应该基于组织现有的软件活动和过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。
4、过程改进要与组织的商务目标一致,与发展战略紧密结合。

CMMI目标:
1、为提高组织过程和管理产品开发、发布和维护能力的提供保障。
2、帮助组客观织评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。

CMMI的方法:
1、决定哪个CMMI模型等级最适合组织过程改进需要。
2、选择模型的表示法是连续式还是阶段式。
3、决定组织需要用到的模型中的知识领域。
4、类似CMM提出的过程改进6步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改进评估。

CMMI内容:
CMMI内容分为三个级别
◆Required必需的:
是模型和过程改进的基础。
模型构件是目标,代表了过程改进想要达到的最终状态,它的实现表示了项目和过程控制已经达到了某种水平。当一个目标对应一个关键过程域,就称为"特定目标";对应整个关键过程域就称为"公用目标"。整个CMMI模型包括了54个特定目标,每个关键过程域都对应了一到四个特定目标。每个目标的描述都是非常简捷的,为了充分理解要求的目标就是扩展"期望"的构件。
◆Expected期望的:
在过程改进中起到主要作用,但是某些情况不是必须的可能不会出现在成功的组织模型中。
模型构件是方法,代表了达到目标的实践手段和补充认识。每个方法都能映射到一个目标上,当一个方法对一个目标是唯一就是"特定方法";而能适用于所有目标时就是"公用方法"。CMMI模型包括了186个特定方法,每个目标有两到七个方法对应。
◆Informative提供信息的:构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下他们对需要和期望的构件做了进一步说明。
CMMI包括了10种"提供的信息":目的,概括和总结了关键过程域的特定目标;介绍说明,介绍关键过程域的范围、性质和实际方法和影响等特征;引用,关键过程域之间的指向是通过引用;名字,表示了关键过程域的构件;方法和目标关系,关键过程域中方法映射到目标的关系表;注释,注释关键过程域的其他模型构件的信息来源;典型工作产品集,定义关键过程域中执行方法时候产生的工作产品;子方法,通过方法活动的分解和详细描述;学科扩充,CMMI对应学科是独立的,这里提供了对应特定学科的扩展;公用方法的详细描述,关键过程域中公用方法应用实践的详细描述。

CMMI评估方法:
自1991年起,CMM出现了很多模型,覆盖了各种各样的专业领域。其中著名的模型有:系统工程、软件工程、软件采购、集成产品、流程开发等。
当企业想要在组织内不同专业领域的流程改进,这些针对不同专业领域的模型在架构•内容和方法上的不同限制了组织成功实施改进的能力。此外,将这样模型在组织内部集成也提高了培训•认证和改进的费用。一套包括多个专业领域的模型加上整合的培训和认证支持将解决这些问题。
  CMMI(Capability maturity model integration)是为了合并三个模型到一个框架中
  Capability Maturity Model for Software (SW-CMM) v2.0 draft C,
  Electronic Industries Alliance Interim Standard (EIA/IS) 731
  Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98
  正如其他CMM模型,CMMI提供了流程改进的指导,而不是流程或流程的描述。组织使用的实际流程取决于很多因素,包括应用领域•组织框架和规模。CMMI将许多经过验证的方法加入架构中,来帮组组织评价成熟度•某个软件流程的能力度,并且建立改进的优先顺序和实施改进。
  从CMMI框架可以产生不同的CMMI模型,因此必须首先确定那种模型最适合企业流程改进的需要。
  阶段式描述 or 连续式描述
  系统工程 or 软件工程 or 两者皆有
  使用连续式描述可以根据企业需要选择流程改进顺序,降低企业风险,这给通过ISO做流程改进提供了一个方便的比较。使用能力度(Capability)来衡量。
  阶段式描述提供了已经过验证的流程改进顺序,方便从CMM移植过来。使用成熟度(Maturity)来衡量流程改进。
  系统工程包括整个系统的开发,可能包括软件也可能不包括。
软件工程用于软件系统的开发,主要集中在使用系统的•科学的•量化的方法来开发•运行•维护软件。

CMMI的评估方式:
自我评估:用于本企业领导层评价公司自身的软件能力。
主任评估:使本企业领导层评价公司自身的软件能力,向外宣布自己企业的软件能力

CMMI评估类型:
软件组织的关于具体的软件过程能力的评估。
软件组织整体软件能力的评估(软件能力成熟度等级评估)。