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的作用做好准备
质量体系 CMMI的更多相关文章
-
TL9000 电信业质量体系管理标准
1.背景介绍:1987年国际标准化组织创立了ISO9000标准.标准发布后,在世界范围内得到了迅速的推广和广泛的认可,成为全世界衡量质量管理水平与质量保证能力的公共标准.九十年代,美国三大汽车公司和航 ...
-
质量保障&;&;质量体系建设
一.质量保障 先引用一段 百度百科 上对软件质量保障的解释:软件质量保障是建立一套有计划,系统的方法,来向管理层保证拟定出的标准.步骤.实践和方法能够正确地被项目所采用.软件质量保证的目的是使软件过程 ...
-
测试与CMMI质量体系
1. CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型) 其目的是帮助软件企业对软件工程过程进行管理和改 ...
-
质量体系建设之路---可视化的MockServer
一. 背景 福禄网络作为一家数字权益商品及服务提供商,覆盖了我们衣食住行的各种生活场景的权益内容,对接了如支付宝.京东.银行APP各种渠道,如何能够快速的响应渠道需求,提供稳定的接口服务,这就要求我们 ...
-
IPD体系向敏捷开发模式转型实施成功的四个关键因素
文/杨学明 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...
-
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 手写文字识别 ...
-
【腾讯Bugly干货分享】移动互联网测试到质量的转变
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ee0934b690d84c3188d7c7 Dev Club 是一个交流移动 ...
-
FME之于规划CAD数据质量检测
最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...
-
CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发
在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...
随机推荐
-
此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
在实用VS编程的时候大家经常会遇到一个问题: 下面小编来为大家提供一个简单的解决方案: 1.在Windows中打开功能里输入regedit,回车打开注册表编辑器: 2.转到路径HKEY_LOCAL_M ...
-
css体验优化之图片容器设置宽高比
需求 我们在做web页面的时候,经常会有一些图片列表,例如下图的视频列表以及表情列表: 需求要求: 1. 列表是responsive的,在不同宽度的浏览器下面,图片要自适应容器宽度 2. ...
-
TortoiseGit 添加邮箱 失败保存配置
解决方法 将保存至改为此版本库
-
Divide and conquer:Moo University - Financial Aid(POJ 2010)
Moo University - Financial Aid 其实是老题了http://www.cnblogs.com/Philip-Tell-Truth/p/4926008.html 这一次我们换二 ...
-
javascript实例学习之三——类新浪微博的登录框
该登录框和百度的搜索框类似,可以实现如下效果: 1.文字输入时自动弹出提示层 2,提示层根据输入文字进行自动过滤 3,提示层可以使用上下按键进行选择 4,提示层可以点击或者回车来确认输入 微博登录框h ...
-
[LeetCode]题解(python):096-Unique Binary Search Trees
题目来源: https://leetcode.com/problems/unique-binary-search-trees/ 题意分析: 给定一个整数n,返回所有中序遍历是1到n的树的可能. 题目思 ...
-
Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
-
mac电脑使用技巧和相关快捷键
移动与选取 1. 光标移动 刚从 Windows 转过来的时候可能会发现,Mac 上没有 Home 和 End 键.其实,直接这样就好了: Cmd + ← 移至行首 (Home)Cmd + → 移 ...
-
MXNet官方文档中文版教程(3):神经网络图(Symbol)
https://blog.csdn.net/qq_36165459/article/details/78394259 文档英文原版参见Symbol - Neural network graphs an ...
-
python作业学员管理系统(第十二周)
作业需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学 ...