CMMI初识

CMM-Capability Maturity Model,能力成熟度模型。CMMI-Capability Maturity Model Integration,能力成熟度模型集成。 CMMI是美国产业界、政府和卡内基梅隆大学软件工程研究所(CMU/SEI)于2002年1月推出的集成了软件工程(SW)、系统工程(SE)、集成化产品和过程开发(IPPD)等学科的综合成熟度模型;

CMMI 与CMM 最大的不同点在于:CMM只是侧重于软件方面,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。

阶段式 ,成熟度级别:应用亍跨多丧过程域的组织过程改迚的成果。五个成熟度级别1-5。

连续式 ,能力级别:应用亍单个过程域中的组织过程改进的成果。四个能力级别0-3。

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的作用做好准备

 

转载请注明原文地址:http://www.cnblogs.com/chenliangcl/p/7363139.html 

质量体系 CMMI的更多相关文章

  1. TL9000 电信业质量体系管理标准

    1.背景介绍:1987年国际标准化组织创立了ISO9000标准.标准发布后,在世界范围内得到了迅速的推广和广泛的认可,成为全世界衡量质量管理水平与质量保证能力的公共标准.九十年代,美国三大汽车公司和航 ...

  2. 质量保障&&质量体系建设

    一.质量保障 先引用一段 百度百科 上对软件质量保障的解释:软件质量保障是建立一套有计划,系统的方法,来向管理层保证拟定出的标准.步骤.实践和方法能够正确地被项目所采用.软件质量保证的目的是使软件过程 ...

  3. 测试与CMMI质量体系

    1. CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型) 其目的是帮助软件企业对软件工程过程进行管理和改 ...

  4. 质量体系建设之路---可视化的MockServer

    一. 背景 福禄网络作为一家数字权益商品及服务提供商,覆盖了我们衣食住行的各种生活场景的权益内容,对接了如支付宝.京东.银行APP各种渠道,如何能够快速的响应渠道需求,提供稳定的接口服务,这就要求我们 ...

  5. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  6. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  7. 【腾讯Bugly干货分享】移动互联网测试到质量的转变

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ee0934b690d84c3188d7c7 Dev Club 是一个交流移动 ...

  8. FME之于规划CAD数据质量检测

    最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...

  9. CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发

    在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...

随机推荐

  1. Watson Explorer Analytical Components 2

    Content Analytics architecture 1. Crawlers: extract content from the various enterprise data sources ...

  2. 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑

    上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性.数据读写.应用场景: 互联网级监控系统必备-时序数据库之Influxdb 本文中,我们介绍Influxdb数据库集群的搭建, ...

  3. Spring Security4实例(Java config 版) —— Remember-Me

    本文源码请看这里 相关文章: Spring Security4实例(Java config版)--ajax登录,自定义验证 Spring Security提供了两种remember-me的实现,一种是 ...

  4. nodejs服务器部署教程二

    这篇文章主要介绍如何在服务端跑vuejs的项目,如果上一篇教程你成功输出了hello world,那这一篇更简单 首先你要有一个已经能在本地跑的基于vuejs的项目,我就以之前写的仿饿了么的项目为例来 ...

  5. js验证身份证号码

    function IdentityCodeValid(code) { var city={11:"北京",12:"天津",13:"河北",1 ...

  6. POJ 2289 Jamie's Contact Groups / UVA 1345 Jamie's Contact Groups / ZOJ 2399 Jamie's Contact Groups / HDU 1699 Jamie's Contact Groups / SCU 1996 Jamie's Contact Groups (二分,二分图匹配)

    POJ 2289 Jamie's Contact Groups / UVA 1345 Jamie's Contact Groups / ZOJ 2399 Jamie's Contact Groups ...

  7. 有关Android插件化思考

    最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接.随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内 ...

  8. 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型

    本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...

  9. (转载) java:IO流学习小结

    今天刚刚看完Java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  10. RobotFramework自动化测试框架的基础关键字(四)

    1.1.1        如何使用for循环 不管在哪种编程语言中,for循环都是必不可少的,在Robot Framework中,我们也可以使用for循环来做遍历处理. 我们用for循环对一个列表进行 ...