CMMI划分为三个分支:
适用于供方、乙方的模型:
CMMI-DEV:主要是针对开发类组织的;
CMMI-SVC:主要是针对服务类组织的;
适用于需方、甲方的模型:
CMMI-ACQ:主要是针对采购类组织的;
CMMI-DEV中提到的开发,是包括了软件、硬件等类型的开发。CMMI-DEV这个模型还可以增加适用于复杂多学科的产品开发的IPD附件,在CMMI之外称为IPD,在CMMI内称为IPPD。IPPD并没有涉及到市场、财务等。多出来的一个P代表是过程,IPD中包含了市场与财务,所以IPD与IPPD是有一定差别的。IPPD有其适用范围,不能乱用,IPD也是同理。国内有些企业盲目追随华为实施IPD,成功者少,失败者众。为什么呢?没有注意IPD的适用范围。IPD适用于什么类型的组织呢?
(1)复杂产品的开发,需要多学科配合协同的产品开发;
(2)市场驱动的产品开发,产品需要随时判断是否满足了市场的需求,是否投入产出合适,如果不可以,需要随时终止项目的开发。
(3)项目的团队规模比较大,需要划分为多个小组进行协同工作。小组之间的沟通是项目成功的一个制约因素。
在CMMI-DEV中包含了22个过程域。何谓过程域(process area,简写为PA)?过程域是一类最佳实践的集合,这些最佳实践属于同一类的过程。CMMI中有几百条最佳实践,需要将他们分类管理,以便于实施,便于记忆。分类的方法是人们分析、认识问题的一种主要的方法。在CMMI中将所有的实践划分成了22类,每类中包含的实践个数从4个到14个不等。这种分类是否就完全合理呢?仁者见仁,智者见智,没有绝对的合理,有的实践放在某个PA中很自然,有的就有点牵强,SEI就那么划分了,你就那么记忆吧。
要注意过程域与过程的概念不同,过程域是实践的集合,何谓集合?集合中的元素是没有严格的先后顺序的,是一个堆,堆是数据结构中的专业术语。过程是活动的偏序集(偏序关系是离散数学中的专业术语),活动之间是有先后顺序的。不要搞混了2个概念,否则是很囧的。
22个过程域可以分成4类,项目管理类、过程管理类、工程类、支持类。总结为下表:
![](https://img-my.csdn.net/uploads/201212/29/1356754036_2791.jpg)
![](https://img-my.csdn.net/uploads/201212/29/1356754041_1173.jpg)
通过上表我们可以看到,在CMMI模型包括了很多的开发活动,没有包括什么呢?没有包括考核,没有包括市场,没有包括财务、行政、人事等等其他非开发管理活动。对于开发活动是否都包含全了呢?项目立项、技术预研、系统维护等活动并没有描述在里面,没关系,立项、预研、维护的活动都可以分解为上述PA中的活动,也可以认为是含在里面了。
每个过程域有其名字与简写,一般我们都称呼其简写,比如一说REQM就知道是需求管理过程域,一提DAR就代表了决策与解决方案过程域。不一定要刻意去背他,知道每个缩写代表的英文单词,自然就记住了。
我说CMMI之三:CMMI的构件
CMMI中的内容是按照成熟度等级或过程域类别、过程域、目标、实践、子实践的方法来进行分类管理的,这些概念之间的整体部分关系可以参见下图。
![](https://img-my.csdn.net/uploads/201212/29/1356754191_4207.jpg)
过程域的概念我们前面讲过了,这里不赘述。每个PA都有一个目的,在英文里明确区分了Purpose与goal这两个单词,我们翻译为了目的与目标。在中文里这2个单词并没有特别明显的区别。Purpose是一种抽象的,宏观的期望,goal是一种具体的,微观的期望。
PA之间有一定的关联性,互相影响,比如RD的输出为TS的输入,TS的输出又影响了RD的输出,如此交织在一起。在CMMI模型中有多张图描述了各个PA之间的关联关系,也仅仅是一个概念的视图,不能全面描述复杂的交织关系,参考而已。
每个过程域里进行了细分类,即又分为多个目标,目标其实也可以理解为是对实践的一种分类方式。目标分为特定目标与共性目标,所谓特定目标是指某个PA特有的,独有的,这个PA有其他PA没有的。所谓共性目标,是每个PA都有的,你有我有他也有,共性的。目标是CMMI模型中必需的构件,是不可以裁剪的,是评估时必须考察,必须满足的。
每个目标下有能够满足此目标的实践,对应于特定目标与共性目标有特定实践与共性实践。实践是期望的模型构件,所谓期望即最好这么做,如果不那么做,你可以替换这些实践,替换后要通过测试,即要满足目标的要求。每个目标下的实践是非严格排序的。比如我们讲需求管理过程域5条特定实践:
SP1.1 与需求提供者对需求达成一致的理解;
SP1.2 获得需求实现者对需求的承诺;
SP1.3 管理需求的变更;
SP1.4 建立与维护需求的双向可跟踪性;
SP1.5 识别需求与计划及其他工作产品间的不一致;
这5条特定实践之间就没有严格的先后顺序关系。在管理需求的变更之前,我们已经建立了需求跟踪矩阵,根据需求跟踪矩阵进行了需求变更波及范围的分析,所以不能认为SP1.3与SP1.4之间存在严格的先后关系。
每条实践都有一个编号,如上所述,SP代表的是特定实践,GP代表的是共性实践,1.2代表第1个目标的第2条实践。
绝大部分实践模型都列举了典型的工作产品,这些典型的工作产品并非都是必须的,而是可选的,只要你能证明你的工作产品满足了这条实践的要求即可,不必从文档名字、文档个数需要和模型保持一致。
每条实践都可能有子实践,这些子实践是对实践的细化描述,是对实践的解释说明,在正式评估时并不一定需要考察子实践。我也曾经看到过有的企业在做CMMI时,把每条子实践都定义在了体系中,如果真有用,还可以理解,如果不是这样,就太机械了。
对于过程域,实践,子实践都有一些解释性的说明,这些解释性的说明在正式评估时是供参考的,对我们准确理解模型的要求有一定的帮助。
二、
由CSAI顾问团主办,CSAI.cn、北京中经蓝山文化交流有限公司共同承办的第七届中国软件工程大会(CCSE 2010)于2010年12月18日在北京新世纪日航饭店成功召开。大会开幕式发布了“2010中国CMMI咨询机构年度评选调查报告”,报告对国内CMMI咨询机构2010年度以来的工作和成绩进行了全面、深入的调查与评估,北京斯福泰克科技股份有限公司,北京翰通融达管理顾问有限公司,麦哲思科技(北京)有限公司,上海睿泰信息科技有限公司,深圳致卓信息技术有限公司,北京赛柏科技有限责任公司,北京国信普道科技有限公司等10家CMMI咨询机构被评为“2010中国CMMI咨询机构前10强”并获得单项奖。 序 号奖 项咨询机构
![](https://img-my.csdn.net/uploads/201212/29/1356753319_2485.jpg)
此次调查活动历时57天,共收到20081份调查问卷,从咨询机构的主任评估师经验与水平、咨询师经验与水平、实施案例与效果、性价比、服务能力、客户信赖度、企业影响力、企业成长潜力、市场份额与增长率及关注客户自身竞争力程度等方面进行了全面深入的调查。
CSAI.cn副总经理王勇向记者介绍,目前,国内从事CMMI咨询与培训的机构已有数十家,每一家的规模、服务质量和能力各异,机构之间的竞争亦十分激烈,导致企业在选择培训与咨询机构的时候“难以抉择”。为此,CSAI.cn从2005年开始启动了“中国CMMI咨询机构年度评选调查”,目前已成功举办了6次调查,其目的是从行业用户角度出发,对CMMI咨询机构进行大范围的深入调查,为即将实施CMMI或进行CMMI评估的企业选择咨询机构提供选择依据和参考标准。
《2010中国CMMI咨询机构年度评选调查报告》下载:http://se.csai.cn/2010cmmi.pdf
关于中国软件工程大会(CCSE)
中国软件工程大会(CCSE)是在软件产业不断发展和规范的背景下应运而生,软件工程是一门具有指导意义的理论科学,大会将作为把理论和知识应用于实践的交流与合作平台,从中立、客观的角度围绕软件产业发展、信息化建设、软件工程实践、软件人才培养、未来软件技术发展等方面进行深入广泛的交流。会议将为来自国内外科研院所、高等院校、企事单位的专家、教授、学者、工程师提供一个代表国内软件产业产学研最高水平的高层平台,交流有关软件工程领域的最新成果与经验,探讨相关领域所面临的关键问题和研究动态,引领软件人对中国软件产业作更多、更深入的思辨,积极推进国家信息化建设和软件产业化发展。其宗旨是建立一个中立和开放的交流与合作平台,引领软件人对中国软件产业作更多、更深入的思辨,积极推进国家信息化建设和软件产业化发展。更多详细内容请访问中国软件工程大会官方网站:http://ccse.csai.cn/
关于CMMI
CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。
CMMI是一套融合多学科的、可扩充的产品集合, 其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。
CMMI分为五个等级,二十五个过程区域(PA):
1.初始级 软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
2.已管理级 建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
3.已定义级 已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4.量化管理级 分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5.优化管理级 过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
每个等级都被分解为过程域,特殊目标和特殊实践,通用目标、通用实践和共同特性:每个等级都有几个过程区域组成,这几个过程域共同形成一种软件过程能力。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。当一个过程域的所有特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。