CMMI简介

发表于:2009-01-20来源:作者:点击数: 标签:cmmiCMMI简介
CMMI ( Capability Maturity Model Integration )的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50 多年来计算的发展使人们认识到要高效率、高质量和低成本地 开发 软件,必须改善软件生产过程。基于模型的过程改进是指用
CMMICapability Maturity Model Integration)的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50多年来计算的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基于模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。

然而,软件组织形成一套完整而成熟的软件过程不是一蹴而就的事情,需要经历一系列的成熟度。软件组织首先要进行差异分析,评定自己比较接近哪一个成熟度,然后再根据自身的情况来决定要采取哪些改进活动,来更有效地改进自己的软件过程。这就对软件过程的评定提出了一个客观的标准。美国卡内基梅隆大学软件工程学院于1987年研究成功的SW-CMMCapability Maturity Model for Software)就是这样的一个理论模型,其目的在于帮助软件组织改善软件生产流程,以探索一个保证软件产品质量、缩短开发周期、提高工作效率的软件工程模式与标准规范。

CMMI
是一个可以改进系统工程和软件工程的整合模式。199710SEI停止对CMM的研究,改而致力于CMMI,以解决使用多个过程改进模型的问题。SEI同时宣布CMMI将取代CMM,与2000811颁布了CMMI-SE/SW 1.0版本,200112月颁布了1.1版本,这次发布标志着CMMI正式启用,并准备今年内完成CMMCMMI的过渡。说到CMMI就不能不提CMM

CMM

CMM
框架用5个不断进化的层次来评定软件生产的历史与现状:初始级描述了不成熟,或者说是未定义的过程的组织,是混沌的过程以不可预测结果为特征;可重复级是经过训练的软件过程;已定义级是标准一致的软件过程,以组织内改进项目执行为特征;已管理级是可预测的软件过程,以改进组织性能为特征;优化级是能持续改善的软件过程,以可快速进行重新配置的组织性能,和定量的、持续的过程改进为特征。任何单位所实施的软件过程,都可能在某一方面比较成熟,在另一方面不够成熟,但总体上必然属于这5个层次中的某一个层次。

CMM
包括两部分"软件能力成熟度模型""能力成熟度模型的关键过程域""软件能力成熟度模型"主要是描述此模型的结构,并且给出该模型的基本构件的定义。"能力成熟度模型的关键过程域"详细描述了每个关键过程方面涉及的过程域。

可重复级关键过程域:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理

已定义级关键过程域:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。

已管理级关键过程域:定量过程管理,软件质量管理

优化级关键过程域:缺陷预防,技术更新管理,过程更改管理。

多数组织的基本目标是达到成熟度3级。评估组织当前的成熟度级别的手段之一是软件能力评估(SCE)。SCE通过评估软件过程(一般以方针陈述的形式)和项目实践来确定该组织是否言行一致。组织的过程体现了如实记录所做的工作,项目实施(对该过程的特定剪裁和解释)应该证明说到做到。

现在全球许多不同的组织以CMM为协助企业作全面的过程改进活动,除了肯定其软件成熟度外,更像征具有跨足国际市场的能力。现在通过CMM5级认证的组织达到了一百多家。

CMMI

CMM
的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、人力资源、集成产品开发、软件采购等等,从CMM衍生出了一些改善模型,比如:SWCMM,SE-CMM,IPD-CMM等。不过,在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆。CMMI就是为了解决怎么保持这些模式之间的协调。

由业界、美国政府和卡内基·梅隆大学软件工程研究所率先倡导的能力成熟度模型集成(CMMI)项目致力于帮助企业缓解这种困境。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的"最佳"实践;专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。

CMMI
的源模型:软件能力成熟度模型2.0版,C稿;电子行业协会临时标准(EIA/IS731;集成产品开发能力成熟度模型(IPD-CMM)

CMMI
的原则:

1
强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。

2
仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。

3
选择最佳实践,应该基于组织现有的软件活动和过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。

4
过程改进要与组织的商务目标一致,与发展战略紧密结合。

CMMI
目标:

1.
为提高组织过程和管理产品开发、发布和维护能力的提供保障。

2.
帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。

CMMI
的方法:

1
决定哪个CMMI模型等级最适合组织过程改进需要。

2
选择模型的表示法是连续式还是阶段式。

3
决定组织需要用到的模型中的知识领域。

4
类似CMM提出的过程改进6步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改进评估。

CMMI
内容

CMMI
内容分为"要求""期望""提供信息"三个级别,来衡量模型包括的质量重要性和作用。最重要的是"要求"级别,是模型和过程改进的基础。第二级别"期望"在过程改进中起到主要作用,但是某些情况不是必须的可能不会出现在成功的组织模型中。"提供的信息"构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下他们对需要和期望的构件做了进一步说明。

"
要求"的模型构件是目标,代表了过程改进想要达到的最终状态,它的实现表示了项目和过程控制已经达到了某种水平。当一个目标对应一个关键过程域,就称为"特定目标";对应整个关键过程域就称为"公用目标"。整个CMMI

原文转自:http://www.ltesting.net