1.1 基础知识——CMMI 是什么东西?

本文旨在清晰解析CMMI(能力成熟度模型集成)的实质与应用,通过通俗易懂的语言揭示其本质,帮助企业理解并实施CMMI以提升软件开发效率与质量。CMMI被视为一套最佳实践集合,指导企业实现过程改进和优化,从而成为成功企业。文章还详细介绍了CMMI的级别划分、评估方法及与企业商业目标的关系,强调CMMI的核心在于提高生产力,而非单纯追求质量或降低成本。

     摘要

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

 


CMMI是什么东西?

CMMI英文全称是Capability Maturity Model Integration,直接翻译就是能力成熟度模型,直接看这几个中文字,你还是没有办法搞清楚CMMI是什么东西的。
大家可能在网上见过很多《成功人士的七个习惯》(可能还有很多类似的名字)的文章吧?有人总结了成功人士的成功的原因,总结出他们的习惯,如果我们也能具备这些习惯,那么我们也很可能成为成功人士。类似的,CMMI可以看作是成功企业如何做好软件的一些习惯、做法、准则等的集合,是如何做好软件的最佳实践的集合。如果企业也能按照CMMI的要求做好,那么企业就很可能成为成功的企业。

CMMI里面所有的要求,都是来自于成功企业的最佳实践的,她的先进性我们不必怀疑,如果我们没有做好,那不是CMMI本身的问题,而是我们自己没有理解好或者是没有执行好的原因。

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

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

 

连续式 vs 阶段式

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

大家可能会问,好好的CMMI,为什么要搞两种表达方式呢?不怕把大家搞糊涂吗?

确实这两种方式把不少人给搞糊涂了,这是SEI的一个败笔。以前的CMM是只有阶段式的表达方式的,连续式是后来提出来的,SEI内部分成两派,一派支持连续式,一派支持阶段式,互不相让,最后达不成一致,就出来了现在这个样子,连续式与阶段式两者共存。

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

连续式和阶段式同时也是评估的两个不同角度,用连续式评估,企业会得到很多个PA的Level,用阶段式评估,企业会得到一个整体的Level。

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

 

CMMI 1至5级简述

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

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

5个成熟度等级分别是:

第1级:初始级

第2级:受管理级

第3级:已定义级

第4级:定量管理级

第5级:持续优化级

第1级是不需要评估的,哪怕你们是手工作坊开发的软件公司,也可以说是CMMI1级。从2级开始到5级,SEI在每个级别都有详细的标准。

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

要通过高级别的评估,要满足这个级别以下所有级别的标准。

例如:

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

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


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


2级比较容易做到,要做到3级要做的事情多很多,一般来说建议2、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的作用做好准备。


课程视频

《畅游CMMI》视频课程已经发布,视频中的内容更加浅白和精彩,欢迎大家学习:

http://www.umlonline.org/school/thread-468-1-1.html



作者:张传波

创新工场创业课堂讲师

华为某团队高级顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

<think>好的,用户问的是CMMI在计算机科学中代表什么英文缩写。首先,我需要确认自己对这个缩写的了解是否正确。CMMI的全称是Capability Maturity Model Integration,中文通常翻译为“能力成熟度模型集成”。这是一个用于改进组织流程的模型,尤其在软件开发和管理领域应用广泛。 接下来,我应该思考用户为什么会问这个问题。可能的用户包括学生、刚入行的软件工程师,或者对软件工程管理感兴趣的人。他们可能在课程学习中遇到这个概念,或者在工作中接触到需要流程改进的项目,因此想要了解其基本含义和背景。 需要确认CMMI的发展历史,确保信息准确。CMMI起源于卡内基梅隆大学的软件工程研究所(SEI)开发的早期模型,如SW-CMM(软件能力成熟度模型)。后来为了整合多个领域的模型,形成了CMMI,使其不仅适用于软件工程,还扩展到系统工程、产品开发等领域。 用户可能还想知道CMMI的作用和结构。比如,它分为不同的成熟度等级,从初始级到优化级,帮助组织评估和提升其流程能力。需要简明扼要地解释这些等级,以及实施CMMI的好处,比如提高产品质量、项目可控性等。 同时,要避免过于技术化的术语,用易懂的中文解释。例如,可以提到CMMI帮助组织系统化地改进流程,而不是零散的改进措施。此外,可能还需要区分CMMI和其他类似标准,比如ISO的标准,指出CMMI更专注于流程成熟度的逐步提升。 最后,检查是否有常见的误解需要澄清。比如,CMMI认证并不等同于质量保证,而是流程改进的框架。组织需要通过持续的努力来提升成熟度等级,而不是一次性的认证。 总结回答的结构:先给出全称和中文翻译,然后解释其背景、目的、结构层次以及应用领域,确保用户能够全面理解CMMI的基本概念和重要性。</think>计算机科学中的**CMMI**是以下英文单词的缩写: **Capability Maturity Model Integration** 中文译为**“能力成熟度模型集成”**。 --- ### 分步说明: 1. **背景与目的** CMMI由美国卡内基梅隆大学软件工程研究所(SEI)开发,旨在帮助组织系统化地改进其软件开发、项目管理等流程。它通过定义不同成熟度等级,指导组织从混乱的初始状态逐步提升到可预测、持续优化的流程管理水平。 2. **核心概念** - **能力(Capability)**:衡量单个流程的执行效果。 - **成熟度(Maturity)**:衡量组织整体流程的完善程度。 - **模型集成(Integration)**:将多个领域(如软件开发、系统工程)的流程改进模型统一为一个框架。 3. **成熟度等级(5个阶段)** 1. **初始级**:流程不可预测,依赖个人能力。 2. **已管理级**:项目级流程有基本规范。 3. **已定义级**:组织级流程标准化。 4. **量化管理级**:通过数据驱动决策。 5. **优化级**:持续改进与创新。 4. **应用领域** 最初专注于软件开发,后扩展至: - 系统工程 - 产品开发 - 服务交付 - 采购管理等。 --- ### 实际意义 CMMI帮助组织降低风险、提高效率,并通过第三方评估认证证明其流程能力。例如,许多大型企业在竞标政府项目时需达到特定CMMI等级要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张传波

打赏的朋友很帅噢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值