CMM的含义与作用

CMM是Capability Maturity Model for Software的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件过程改进模型,成为当今企业从事规模软件生产不可缺少的一项内容。CMM的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。企业实施CMM模型并评估可为企业带来如下好处:指导软件组织提高软件开发管理能力;降低软件承包商和采购者的风险;评估软件承包商的软件开发管理能力;帮助软件企业识别开发和维护软件的有效过程和关键实践;帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践;增加软件企业的国际竞争能力。
CMM的发展过程

1984年美国国防部为降低采购风险,委托卡耐基—梅隆大学软件工程研究院(SEI)制定了软件过程改进、评估模型,也称为SEI SW-CMM。该模型于1991年正式推出,迅速得到广大软件企业及其顾客的认可。从1987年SEI推出SW-CMM框架开始,1991年推出 CMM 1.0 版,1993年推出CMM 1.1 版,2000年推出CMMI-SE/SW 1.0版。我国也于2001年4月发布了《SJ/T 11234-2001 软件过程能力评估模型》和《SJ/T 11235-2001 软件能力成熟度模型》两个标准。我国政府一直重视软件产业的规范和发展,国务院于2000年6月颁发的“18号文件”第五章第十七条明确提出鼓励软件出口型企业通过ISO9000系列质量保证体系认证和CMM认证,其认证费用通过中央外贸发展基金适当予以支持。目前各省市、高新区、软件园都有对通过CMM的企业给予资金奖励的制度。

CMM的结构与内容

CMM吸取了质量工程的主要原理,形成了5级模型。提出了由第一级(初始级)向第五级(优化级)逐级发展的模式。模型的等级从低到高,可以预计企业的开发风险越来越低,开发能力越来越高。模型的每个等级由不同的关键过程领域(Key Process Area)构成,而每个过程领域又由各种目标构成,每个目标由各种特定惯例和通用惯例支持。
CMM的级别划分如下:

CMM 1—初始级;

CMM 2—已管理级,有6个过程域;

CMM 3—已定义级,有7个过程方面;

CMM 4—定量管理级,有2个过程域;

CMM 5—持续优化级,有3个过程域。

CMM的建立与评估方法

企业实施CMM,可从如下几个步骤进行:

1、提高思想认识,了解必要性和迫切性;

2、确定合理的目标;

3、进行CMM培训和咨询工作,成立工作组;

4、制定和完善软件过程;

5、内部评审;

6、初期评估;

7、正式评估;

8、根据评估的结果改进软件过程。

CMM 评估是为了评价当前的水平,找出问题所在,指导如何改进和了解软件承包商的软件能力。目前针对CMM开发出许多的评估方法,其中公认评估方法有两个:一是用于内部过程改进的CMM评估称为CBA-IPI;二是用于选择和监控分承包方的CMM评估,称为SCE方法。这两种方法基于不同的目的,但评估的结果应一致。评估包括三个阶段:准备阶段、现场阶段和报告阶段,最终评价当前的水平结果是SEI的主任评估师签署的评估报告,并且评估需要在SEI注册登记。(注:2005年底前,SEI不再支持CMM的工作)。

CMMI的起源

随着人们对CMM研究的不断深入,其他学科也结合本系统的特点,陆续推出了自己的CMM模型。例如,人力资源能力成熟度模型、系统工程能力成熟度模型等等:
(1) SW-CMM (Software CMM) 软件CMM
(2) SE-CMM (System Engineering CMM) 系统工程CMM
(3) SA-CMM (Software Acquisition CMM) 软件采购CMM
(4) IPT-CMM (Integrated Product Team CMM) 集成产品群组CMM
(5) P-CMM (People CMM) 人力资源能力成熟度模型
为了以示区别,国内外很多资料把CMM叫做SW-CMM。按照SEI原来的计划,CMM的改进版本2.0应该在1997年11月完成,然后在取得版本2.0得实践反馈意见之后,在1999年完成准CMM2.0版本。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更为紧迫的项目CMMI。
CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,这也是美国国防部的一个设想,他们想把现在所有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架有两个功能,第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。就软件而言,CMMI是SW-CMM的修订本。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科学和更周密的优点。SEI在发表CMMI-SE/SW 1.0版时,宣布大约用两年的时间完成从CMM到CMMI的过渡。
CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。

CMM/CMMI咨询与评估服务

我们拥有14名不同领域内的美国软件界享负盛名的SEI注册主任评估师,这些评估师曾直接或间接参与SEI-CMM的创建,并为MPSI, Biometric Solution, Motorola University, Qwest, Lockheed Martin, 美国电报、电话公司,南方贝尔公司,大西洋贝尔公司,波音公司,洛克希德、马丁公司,罗杰肯公司,诺思罗普格鲁曼公司, 美国空军,美国国家安全局,美国国务院等提供过解决方案、过程改进指导、评估工作。BTC-USA还在美国、加拿大等地从事软件开发、PMO等业务。我们还拥有十多名国内资深高级咨询师。均有十年以上的项目开发经验或项目管理经验,他们分别有着对电子、通信、金融、网络、信息系统集成等多个领域的IT企业进行咨询及评估的丰富经验。可以为您的企业提供最有价值的专业服务。
另外我们和合作伙伴BTC-USA是美国CMU-SEI(卡耐基梅隆大学软件工程研究所)授权的CMM培训、咨询、评估权威转换伙伴,
自2001年10月以来,BCC与BTC-USA公司进行全方面的合作,通过提供一系列CMM培训、咨询、评估服务,帮助中国软件企业获得增强国际竞争力的最新理念和国际标准。对通过SEI的CBA-IPI评估的企业,我们还通过PMO为其提供海外软件开发合作及产品出口的机会。
强大的各方面实力使得我们在中国可以最快的掌握CMM及CMMI的发展动向、新技术且及时得到准确和完整的教材。
成功案例

自2001年起,BCC与BTC-USA(后改名为EPS-USA)密切合作,在国内外广泛开展了多项CMM活动,包括人员培训,软件过程诊断,CMM咨询、评估,进行标准软件过程改进,软件配置管理SCM等。
2002年3月,BCC高级咨询师为交大铭泰举行了CMM2级的培训与咨询;
2002年4月, 邀请SEI授权的CMM培训师 Mr. Thomas Vaitkus对我国软件行业的20名精英举办 “intro to CMM” CMM实习评估师资格培训课程;
2002年4月,为NEC提供“intro to CMM” CMM实习评估师资格培训与CMMI实施工作,该公司已于2005年初通过CMMI5级的评估;
2002年8月,BCC高级咨询师为广东AIA举行了CMM3级的培训和咨询;
2002年12月13曰,由SEI授权的CMM主任评估师Ralph D. Bowden先生领导的六名BCC高级咨询师及一名万达内部成员对万达信息股份有限公司进行评估,并一致认为万达信息股份有限公司的软件过程成熟度达到CMM3 级;
2002年12月27曰, 由SEI授权的CMM主任评估师Ralph D. Bowden先生领导的六名BCC高级咨询师对北京华泰贝通网络科技有限公司进行评估,并一致认为北京华泰贝通网络科技有限公司的软件过程成熟度达到CMM2 级;
2003年3月31曰,由SEI授权的CMM主任评估师Ralph D. Bowden先生领导的八名BCC高级咨询师对重庆普金软件股份有限公司进行评估,并一致认为重庆普金软件股份有限公司的软件过程成熟度达到CMM2 级;
2003年6月,BCC高级咨询师为北京奥码天地举行了CMMI2级的培训与咨询;
2003年9月,对北京通茂科技公司实施CMMI的咨询和过程改进;
2003年9月3曰,由美国SEI授权的CMMI培训师 Mr. Shawn Presson对我国软件行业的25名精英举办 “intro to CMMI” CMMI实习评估师资格培训课程,其中包括柯达、西门子中国公司、Ntt data, Nec-中科软等著名公司的高级雇员;
2003年12月, 由SEI授权的CMM主任评估师Ralph D. Bowden先生领导的八名BCC高级咨询师对北京华泰贝通网络科技有限公司进行评估,并一致认为北京华泰贝通网络科技有限公司的软件过程成熟度达到CMM3级;
2004年3月,对交大铭泰信息技术有限公司实施CMMI3级咨询;
2004年5月,BCC高级咨询师为西门子(中国)举行了CMMI2级的培训与咨询;
2004年6月-2005年3月,BCC高级咨询师为北京天融信网络安全技术有限公司举行CMMI 2级的培训与咨询;
2004年10月,对建设银行总行信息技术管理部北京开发中心项目实施管理与质量控制处实施CMMI咨询;
2004年12月17曰, 由SEI授权的CMMI主任评估师Ralph D. Bowden先生领导的八名BCC高级咨询师对万达信息股份有限公司进行评估,并一致认为万达信息股份有限公司的软件过程成熟度达到CMMI5 级;
2005年3月7曰,对上海国信朗讯进行软件度量的培训;
2005年3月21曰-2005年3月25曰,由SEI授权的CMMI主任评估师Ralph D. Bowden先生领导的八名BCC高级咨询师对北京天融信网络安全技术有限公司进行评估,并一致认为北京天融信网络安全技术有限公司的软件过程成熟度达到CMMI2 级;
2005年9月20号-2005年9月29号,由SEI授权的CMMI主任评估师Ralph D. Bowden先生领导的八名BCC高级咨询师对北京久其软件股份有限公司进行评估,并一致认为北京久其软件股份有限公司的软件过程成熟度达到CMMI3 级;
2005年8月-2006年3月,北京新世纪高级咨询师为北京东方飞扬软件技术有限公司实施CMMI2级过程改进;
正在实施的有“武汉钢铁自动化CMMI3级”、“天津大地网络科技有限公司CMMI3级”、“北京京北方科技有限公司CMMI3级”“北京北广软件技术有限公司CMMI2级”、“中国一汽无锡油泵油嘴研究所CMMI2级”等。

部分获得我们美国合作方BTC-USA CMM评估的美国客户:BTC-USA, Biometric Solution, Motorola University, Qwest, Lockheed Martin, 美国电报、电话公司,南方贝尔公司,大西洋贝尔公司,波音公司,洛克希德、马丁公司,罗杰肯公司,诺思罗普格鲁曼公司, 美国空军,美国国家安全局,美国国务院等。

什么是CMM的核心?本人转载了别人在一次CMM培训中准备的案例,希望能够生动而浅显地解释这个问题,如要转载,顺手给原创作者发个Email:JennyLi@netease.com,非常感谢。尊重原创!
案例背景:有一间房子,里面有一些人,一些杯子和水壶,以及用于烧水的用具,所有的人都需要喝开水。

CMM 1级:
过程:
找到杯子和水壶
倒水喝
问题:
找不到杯子,没水喝
找不到水壶,没水喝
水壶没水——不知道该怎么办
一天要喝多少水——不知道
倒一杯水要花多少时间,每个人每天为倒水花多少时间——不知道
思考:
买个饮水机能解决问题吗?

CMM 2级:
过程:
杯子放在茶几上
水壶放在餐台上
如果水壶没水,在厨房烧水
杯子用完要清洗,并放回茶几
培训:厨房烧水,清洗杯子
度量一天要烧几壶水,每个人每次/每天倒水要花多少时间
有人检查是否所有人用完杯子后都清洗并放回餐台
管理者关注这些活动的执行状态与成效
问题:
烧水太花时间
水要等凉了才能喝
效率不稳定:有人每天花20分钟倒水,有人每天花80分钟
思考:
买个饮水机能有帮助吗?

CMM 3级:
过程:
所有人都先在茶几取杯子,再去餐台倒水
统一用大杯子
每人每次倒两杯水,与人分享
指派专人定时烧水,放在凉水壶里
指派专人定时收集和清洗杯子
问题:
怎样才能做得更好?
思考:
买个饮水机划算吗?

CMM 4级:
过程:
建立评价模型:节省1分钟=节省1元钱,如果每人每天节省1分钟,则100个人1个月(30天)可以节省3000元——只要每月花费不超过3000元,我们就可以尝试新过程
定义量化的管理目标:3个月内将每人每天用于倒水的时间减少2分钟
以现在每人每天用于倒水的时间建立基线:平均10分钟,最少5分钟,最多20分钟
每个人为自己制定优于平均值的目标:本人每天用于倒水的时间不超过6分钟
度量并监控每天用于倒水的时间,一旦超过6分钟,要分析根本原因,并制定调整措施;最后结果是8分钟,超出预定的目标,但比平均值要好
3个月后调整基线:平均8分钟,最低4分钟,最高15分钟
问题:
不改进不行了!
思考:
买个饮水机是最好的方案吗?

CMM 5级:
过程:
发现问题的根本原因:倒水的时间之所以不能再少,是因为房间太大,走到餐台太远
找出能够解决根本原因的所有方法,用评价模型进行评价
选择一种方法,并制定改进的目标:买10个饮水机放在客厅里,每人每天节省2分钟
制定相应的过程:如果买饮水机,则需要定期定购桶装水,定期对饮水机出水口进行清洗和消毒,请人及时更换空水桶
试行过程:先找几个人试用,看看是否能达到预期目标
推广:让所有人都用饮水机
继续发现其它的根本原因……
问题:
怎样发现更多根本原因
怎样引进更多新方法
思考:
还有什么比饮水机更好的方法吗?
 
比喻二:
一级:一群人没有经过训练,也不知道有没有经验,下水之后乱扑腾,有的人浮起来,有的人沉下去了。这就是一级的无序状态,结果是不可知的
二级:大家都在游泳池或者小池塘里下过几次水,基本上在这样的条件下不会出事了。但是动作乱七八糟,有狗刨有说不出名字的动作。也就是二级的能够重复以前的成功经验
三级:经过研究,确定了几种标准泳姿,知道自由泳最快,蛙泳最省力等等。这就是三级,有了标准的过程定义
四级:大家都掌握标准动作之后,互相之间的成绩就可以比较了。通过测量大家的游泳成绩(当然不同泳姿的成绩要分开)、肌肉力量等等,分析特别好的和特别差的,找出好的原因和差的原因,大家的技术水平不断提高。这就
是四级的量化控制,通过数据来管理和改进
五级:大家的技术水平都很高了,动作都很完美。我们就通过创造新的泳姿,引入新式游泳衣等等创新来提高成绩。这就是五级的持续改进

CMM---软件能力成熟度模型相关推荐

  1. 软件能力成熟度模型(Capabilitymaturity model,CMM)

    一.软件能力成熟度模型(Capabilitymaturity model,CMM) CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义.评价软件开发过程的成熟度,并提供提高软件质量的指导 ...

  2. 软件能力成熟度模型(CMM)

    一.软件能力成熟度模型(Capabilitymaturity model,CMM) CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义.评价软件开发过程的成熟度,并提供提高软件质量的指导 ...

  3. 项目管理之道——软件能力成熟度模型五大等级详解!

    Hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 今天在这里记录一下在进行软件开发过程中,软件能力成熟度模型的五大等级,这是衡量软件质量的重要指标,等级越高,软件质量越可靠! 从下到上五个等 ...

  4. 软件能力成熟度模型CMMI

    本章内容提要 CMMI概述 CMMI的成熟度等级及其过程域 CMMI的应用 PSP,TSP与CMMI 第一节 CMMI概述 CMMI( Capability Maturity Model Integr ...

  5. CMM是什么?什么是 “能力成熟度模型”?

    欢迎关注博主公众号:[矿洞程序员]文章由陈晓阳原创. 本人微信:chenxiaoyangzxy. 免费提供本人大量学习资料. CMM是指"能力成熟度模型",其英文全称为Capabi ...

  6. 【2017年第4期】数据管理能力成熟度模型

    李冰1,宾军志2 1.中国电子技术标准化研究院,北京 100007:2.御数坊(北京)科技咨询有限公司,北京 100007 摘要:为促进大数据产业持续深入发展,提高政府.企事业单位大数据资产管理意识, ...

  7. CMM能力成熟度模型

    能力成熟度模型(Capability Maturity Model,英文缩写为CMM)是一种开发模型.CMM的基本思想是,软件问题是由我们管理软件过程的方法引起的,改进的过程将会生产出质量更好的软件. ...

  8. (软件工程复习核心重点)第十二章软件项目管理-第四节:软件配置管理和能力成熟度模型

    文章目录 一:软件配置管理 (1)相关概念 A:软件配置管理定义 B:目的 C:与维护的区别 (2)软件配置 A:软件配置项 B:基线 C:软件工具 (3)软件配置管理过程 A :标识软件配置中的对象 ...

  9. CMMI软件开发过程及能力成熟度模型评估

    一.什么是CMMI CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是由美国卡内基-梅隆大学软件工程研究所推出的评估软件能力与成熟度的一套标准 ...

  10. CMMI(软件能力成熟度集成模型)

    前言:CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),本质是软件管理工程的一个部分.CMMI认证的目 ...

最新文章

  1. 随机森林算法参数解释及调优 转胡卫雄 RF模型可以理解成决策树模型嵌入到bagging框架,因此,我们首先对外层的bagging框架进行参数择优,然后再对内层的决策树模型进行参数择优
  2. 一个小程序引发的思考
  3. python 倒计时功能怎么用print实现_python 实现倒计时功能(gui界面)
  4. HoloLens开发入门
  5. 吉大c 语言程序设计奥鹏作业,吉大19秋学期《C语言程序设计》在线作业一【满分答案】...
  6. sdn智能互联系统及开发平台_聊天交友平台系统APP开发
  7. python 脚本将视频转化成图片 | python scripts to convert video to pictures
  8. 丁仲礼院士回应被美国制裁:我反正不去美国,也没有美元账户,就一次公益捐赠被拦截了...
  9. callback回调使用 vue_Vue实现剪切板图片压缩
  10. Oracle 函数进阶、分组排序、列转行、cast 类型转换、dbms_random 生成随机数、sys_guid
  11. 模式识别学习笔记——1(线性分类器)
  12. 棋牌游戏算法——麻将系列总结
  13. 安卓手机作为文件共享服务器,安卓手机的文件共享应该怎么操作?
  14. Leetcode 312 打气球 Burst Balloons C++ 史上最详细题解系列
  15. 非线性方程求根方法——二分法
  16. Mac系统随笔 | (2) Macbook WiFi共享
  17. 【总结】1026- 一文读懂 base64
  18. 做了个多语种网站 不能被GOOGLE,yahoo收录,baidu可以收录 终于找到问题
  19. 数字证书认证中心简介
  20. Centos 7 开机一直转圈 错误 failed to load SELinux policy freezing

热门文章

  1. Dns连通性常用测试方法
  2. Canvas-2d fillRect
  3. 改变鼠标样式的两种方法
  4. Java:萌新之路——银行账户管理系统
  5. CPU,操作系统,应用软件,安装时的32位与64位区别收集总结
  6. Windows或Linux中32位与64位操作系统的区别
  7. Matlab2019b中配置最小均方误差滤波器(dsp.LMSFilter)详细设置
  8. gif动图怎么制作更简单,手把手教你在线gif制作
  9. 自动化测试:Selenium原理及安装教程
  10. 小米手机不能发短信的一种解决方法--重新设置短信中心号码