CMMI基础知识扫盲

CMMI全称是Capability Maturity Model Integration,CMMI是个好东西来的,但行内人士对她的认识并不全面,甚至有种种的误解。尽管网上有不少CMMI相关介绍,但通常都是比较苦涩难懂的。本文将用生动通俗的语句,让你们初步看清楚CMMI的真面面孔。php

 

CMMI是什么东西?html

CMMI英文全称是Capability Maturity Model Integration,直接翻译就是能力成熟度模型,直接看这几个中文字,你仍是没有办法搞清楚CMMI是什么东西的。数据库

你们可能在网上见过不少《成功人士的七个习惯》(可能还有不少相似的名字)的文章吧?有人总结了成功人士的成功的缘由,总结出他们的习惯,若是咱们也能具有这些习惯,那么咱们也极可能成为成功人士。相似的,CMMI能够看做是成功企业如何作好软件的一些习惯、作法、准则等的集合,是如何作好软件的最佳实践的集合。若是企业也能按照CMMI的要求作好,那么企业就极可能成为成功的企业。post

CMMI里面全部的要求,都是来自于成功企业的最佳实践的,她的先进性咱们没必要怀疑,若是咱们没有作好,那不是CMMI自己的问题,而是咱们本身没有理解好或者是没有执行好的缘由。优化

说到CMMI,就不可避免会提到另外3个字母SEI,SEI全称是Software Engineering Institute的全称,直译就是软件工程学院,是美国的一所大学,CMMI标准就是他们搞出来的。spa

CMMI目前最新版本是V1.2,若是你是如今才开始了解CMMI的,那么你彻底没有必要去搞清楚V1.1与V1.2的差异,更加没有必要去比较CMM与CMMI的差异,直接了解CMMI V1.2就能够了,你只须要知道CMM是CMMI的前身,而CMMI V1.1虽然比CMM要新不少,但如今已经不用了。如今在互联网上还有不少比较CMM与CMMI的文章的,除非你很想了解或者你有不少时间,建议没必要去看这些内容。.net

连续式 vs 阶段式翻译

CMMI有两种表述方式:连续式与阶段式,两种方式只是从不一样的角度来阐述CMMI,其实质上表达的内容是一致的。就好像咱们作数据库设计的时候,可能会设计不一样的视图来查看相同数据表的数据,只是角度不同。设计

你们可能会问,好好的CMMI,为何要搞两种表达方式呢?不怕把你们搞糊涂吗?htm

确实这两种方式把很多人给搞糊涂了,这是SEI的一个败笔。之前的CMM是只有阶段式的表达方式的,连续式是后来提出来的,SEI内部分红两派,一派支持连续式,一派支持阶段式,各执己见,最后达不成一致,就出来了如今这个样子,连续式与阶段式二者共存。

连续式其实更加能反应过程改进的本质,而且能更好地引导企业把过程改进作到实处,但连续式比较难以理解。阶段式是直接继承CMM的,你们都比较容易理解,并且阶段式有一个级别,在商业上更好宣传,但很容易致使企业为了过级而过级。

连续式和阶段式同时也是评估的两个不一样角度,用连续式评估,企业会获得不少个PA的Level,用阶段式评估,企业会获得一个总体的Level。

对CMMI还不是很熟的人士,先了解这么多就能够了,之后再慢慢了解。

CMMI 1至5级简述

这里咱们用比较容易理解的阶段式的角度,来描述一下CMMI的级别。

在模型中,全部软件组织的软件能力成熟度划分为5个等级——第1到第5级。数字越大,成熟度越高,高成熟度等级表明比较强的综合软件能力。

5个成熟度等级分别是:

第1级:初始级

第2级:受管理级

第3级:已定义级

第4级:定量管理级

第5级:持续优化级

CMMI的五个台阶(五个等级)

 

台阶一:CMMI一级,完成级。 

 

在完成级水平上,企业对项目的目标与要作的努力很清晰,项目的目标得以实现。可是因为任务的完成带有很大的偶然性,企业没法保证在实施同类项目的时候仍然可以完成任务。企业在一级上的项目实施对实施人员有很大的依赖性。

台阶二:CMMI二级,管理级。 
在管理级水平上,企业在项目实施上可以遵照既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的全部项目实施都会获得成功。

台阶三:CMMI三级,定义级。 
在定义级水平上,企业不只可以对项目的实施有一整套的管理措施,并保障项目的完成;并且,企业可以根据自身的特殊状况以及本身的标准流程,将这套管理体系与流程予以制度化这样,企业不只可以在同类的项目上生到成功的实施,在不一样类的项目上同样可以获得成功的实施。科学的管理成为企业的一种文化,企业的组织财富。

台阶四:CMMI四级,量化管理级。 
在量化管理级水平上,企业的项目管理不只造成了一种制度,并且要实现数字化的管理。对管理流程要作到量化与数字化。经过量化技术来实现流程的稳定性,实现管理的精度,下降项目实施在质量上的波动。

台阶五:CMMI五级,优化级。 
在优化级水平上,企业的项目管理达到了最高的境界。企业不只可以经过信息手段与数字化手段来实现对项目的管理,并且可以充分利用信息资料,对企业在项目实施的过程当中可能出现的次品予以预防。可以主动地改善流程,运用新技术,实现流程的优化。

由上述的五个台阶咱们能够看出,每个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶。企业在实施CMMI的时候,路要一步一步地走。通常地讲,应该先从二级入手。在管理上下功夫。



第1级是不须要评估的,哪怕大家是手工做坊开发的软件公司,也能够说是CMMI1级。从2级开始到5级,SEI在每一个级别都有详细的标准。

那怎样才算达到某个级别呢?

要经过高级别的评估,要知足这个级别如下全部级别的标准。

例如:

一个进行4级评估的企业,评估的时候首先是看是否达到2级要求,而后是3级要求,而后才是4级要求。

评估的时候,若是2级的标准达到,但3级的要求达不到,就算4级的要求达到了,也只能算2级。

每一个级别又表明怎样的意思呢?下表简要地说明了1到5级的差别:



 

 

2级比较容易作到,要作到3级要作的事情多不少,通常来讲建议二、3级一块儿来作。3级到4级跨度很大,要作到4级很是不容易。若是4级作得比较好,要作到5级难度不算很大。如下是各级难度的示意图:

 

 

 

过程域(PA)、目标(Goal)与实践(Practice)

CMMI2级到5级,每一个级别都包含几个到十几个PA(Process Area),直接翻译就叫作:过程域。

PA简单地说就是要作好软件开发的某一个方面,若是要达到某个级别的要求,就要达到该级别全部PA的要求。一个PA包含几个Goal(目标),若是要达到某个PA的要求,就意味着要达到该PA每一个Goal的要求。

每一个Goal怎样才算达到要求呢?每一个Goal又包含几个到十几个Practice(实践),若是这些Practice都作到了,就认为该Goal达到要求了。

级别、PA、Goal与Practice的关系示意图以下:

 

 

2级有7个PA,3级有11个PA,4级有2个PA,5级有2个PA,一共22个PA,Practice的总数量超过400个。若是要达到5级的要求,意味着必须知足这400多个Practice的要求。

 

评估办法

评估一个企业达到多少级别的要求,其实就是看相应的Practice是否达到要求。评估办法根据严谨的程度,分为如下办法:

SCAMPI C

SCAMPI B

SCAMPI A

SCAMPI A是最严谨的,进行正式评估的时候,必须采用该办法。下面咱们简单体会一下SCAMPI A评估方法。

举一个平常的例子,比方说你今天中午吃了饭,但别人不知道,别人要判断你是否是吃了饭,用SCAMPI A的办法来判断的话,须要提供如下证据:

1)书面直接证据,能证实你吃了饭的书面的直接的证据。若是你去餐厅吃饭的,你的账单就能够用来作直接证据,若是你在家作饭,那就麻烦,可能没有能留下直接书面证据了。

2)书面间接证据:比方说你在家作饭,以前去买菜了,你买菜的帐单就能够做为间接书面证据。

3)访谈证据:若是别人问你,今天中午有没有吃饭,你能准确说出来,而且没有疑点,那就认为证据有效了,或者是若是你和别人吃饭,别人能说出跟你吃了饭,也认为证据有效了。

以上3方面的证据,第一个证据书面直接证据,是必需要有的,同时第2和第3类证据,至少要有一个。以上证据都具有,才能认为你吃了饭。

我想你们可能要“吐血”了,为了要证实吃了饭,竟然要这样麻烦!固然吃饭只是一个例子,咱们进行CMMI评估的时候,每个Practice都须要提供这样的证据。

准备评估没有什么捷径,就是老老实实按照CMMI的要求去作,认真作好过程改进的工做,认真准备书面证据,访谈的时候就按照实际的作法老老实实的回答。

 

企业商业目标与CMMI

有一种业内广泛的误解,好像CMMI级别越高,项目的成本就越高。那么咱们要问,为何咱们还要去追求高级别呢?企业到底为何要去评估CMMI?

业内也有另一种误解,CMMI是用来提升软件质量的。那么CMMI不用来加快软件开发进度,节省成本吗?软件开发历来就是质量、进度、成本的平衡,CMMI只关注一个方面吗?

公司的商业目标,简单地说两个字能够归纳——“赚钱”!为了赚钱,咱们有不少办法:

提升质量,咱们的质量不须要很高,比竞争对手高就能够了。

加快进度,咱们的进度也不须要很快,但至少要比竞争对手快。

减小成本,成本也没必要减小不少,关键是能支持公司运做,能带来利润就能够了。

 

CMMI是为企业的商业目标服务的!既不是纯粹提升质量,也不是光增长公司的成本而不提升效益。CMMI是为了提升企业的生产力!

若是贵公司实施了CMMI,而没有提升生产力的话,改进是失败的,违背CMMI的初衷的。CMMI是个好东西,咱们没有作好,并非CMMI的错,是咱们没有理解好或者是执行好。

要让CMMI切实为企业带来价值,难度很高,如何才能作到?这些内容能够写一本书。本文但愿能澄清你们的一些思想误区,扫扫CMMI的文盲,为切实发挥CMMI的做用作好准备


 
相关文章
相关标签/搜索