1.概念:
CMM是Capability Maturity Model for Software的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM是由美国卡内基-梅隆大学软件工程研究所(CMU SEI)研究制定,并在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。CMM把软件开发过程的成熟度由低到高分为五级,等级越高,表明该企业软件开发失败风险越低,整体开发时间越短,并能减少开发成本,降低错误发生率,提高产品质量。
2.标准划分— 摘自《使用软件工程》
CMM将软件分为5个等级:
1.初始级(initial)
工作无序,项目进行过程中常放弃当初的规划
管理无章,缺乏健全的管理制度
开发项目的成效不稳定,产品的性能和质量依赖于个人能力和行为。
2.可重复级(Repeatable)
管理制度化,建立了基本的管理制度和规程,管理工作有章可循
初步实现标准化,开发工作较好的实施标准
稳定课跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件
3.已定义级(Defined)
开发的过程,包括技术工作和管理工作,均已实现标准化,文档化。
建立了完善的培训制度和专家评审制度
全部技术活动和管理活动均可稳定实施
项目的质量,进度和费用均可控制。
对项目进行中的过程,岗位和指责均有共同的理解。
4.已管理级(Managed)
产品和过程已建立了定量的质量目标。
过程中活动的生产率和质量是可度量的。
已建立过程数据库。
已实现项目产品和过程的控制
可预测过程和产品质量趋势。
5.优化级(Optimizing)
可集中精力改进过程,采用新技术,新方法。
拥有防止出现缺陷,识别薄弱环节以及加以改进的手段
可取得过程有效性的统计数据,并可据此进行分析,从而得到更佳方法。
目前业界的通行标准:每千行源代码所包含的BUG数,CMM1级为11.95个,CMM2为5.52个,CMM3为2.39个,CMM4为0.92个,而CMM5则只有0.32个。在可靠性提高的同时,CMM5软件开发周期是CMM1的36%,而生产成本是CMM1的19%,平均每个软件开发人员的生产率会提高四倍。
3.关于当前CMM的一些知识——摘自 赛迪网->;技术天地 (可靠度有待考察)
a)
CMM的制订者卡耐基-梅隆大学的软件工程学院(Software Engineering Institute SEI)在2001年12月推出CMM的改进模型CMMI,并宣布到2005年不在支持CMM而是转向CMMI。
SEI在2000年取消了单独的SW_CMM2.0继续开发,转而综合研究了开发出集成能力成熟度模型(Capability Maturity Model Integration,CMMI)。该模型包括CMMI-SE, CMMI-SE/SW ,CMMI-SE/SW/IPPD/SS等模型组件,CMMI-SE/SW/IPPD/SS包含了CMMI-SE, CMMI-SE/SW模型组件,有连续表示(Continuous Representation)和阶段表示(Staged Representation)两种。
b)
至今(2003.06.18)全球范围内CMU SEI注册的CMM5级组织有 42家,CMM4级组织有87 家。
去年12月30日,东软成为通过CMM5的第一家中国软件企业(部门级);2003年3月25日,大连海辉科技股份有限公司又顺利的通过CMM5级的评估,成为了中国首家公司整体通过CMM5级评估的软件公司。华为作为中国最大的软件企业之一,是第一个获得CMM4级认证的中国企业,而且也是目前国内少数几家获得该项认证的企业之一。
截至2003年3月,全国共有近50家软件企业通过CMM认证,其中通过2级的32家,3级9家,4级2家,5级的4家。而全国仅有1400多家软件企业,实施CMM认证的企业比例己经高于世界平均水平。
c)
“国内企业在认证过程中的弄虚作假、评估师受贿等问题已经引起了SEI的关注。”美国SEI注册评估师芭芭拉(Barbara Hilden)对本报记者说。
通过实施CMM,世界各地的软件企业可以通过共同的语言来协调进程。而达到要求的成熟度有助于提高公司信誉,CMM成了迈向国际市场的“通行证”。
为此,2000年6月,国务院下发18号文件,其中第十七条明确规定鼓励软件出口型企业通过GB/T19000-ISO9000系列质量认证体系认证和CMM认证。其认证费用通过中央外贸发展基金适当予以支持。
目前从事CMM认证的商业机构违背认证的“第三方”原则,即几乎所有的商业公司都是聘请主任评估师为企业提供咨询服务,之后由该主任评估师评估。甚至有些商业公司将相关政府机构或者受政府机构委托从事奖励政策管理的管理人员作为合伙人。
更有甚者,有些国内企业的CMM评估并没有到SEI备案。
“国内企业在认证中最大的问题是急功近利,难以保证质量,有些干脆就是为了拿政府奖金。”Chuck Song先生这样评价。“与其失去信誉地进行CMM认证,还不如压根不做。因为一旦国际上不再相信中国企业的CMM评级,国内软件企业将很难走出国门。”
***(作为将来从事软件行业的技术人员,我觉得应该更多的注重CMM中促进软件技术发展的学术知识,避免形式化的应付,以免敷衍了事,华而不实,弄虚作假。)
d)
微软、IBM、惠普等美国的很多软件公司并没有做CMM认证
据统计,全世界共有超过20万家软件企业,选择CMM评估的仅有2300家,占1%。
卡耐基-梅隆大学国际软件研究院中国办公室主任Chuck Song的说法是,“如果一个企业仅用一年多就从2级蹦到5级,在美国是没有人会相信的。”
按照CMM的思想进行软件项目管理与通过CMM认证并不能划等号。
其实在软件业最发达的美国,很多软件企业都没有通过CMM认证。这并不是说,这些企业不重视软件质量管理,事实上,这些企业多年来已经形成了一套自己的管理方式,而且这套方式同CMM在本质上是一致的(CMM本来就是SEI从美国的工业界中总结出来的)。
***(我们学到得也许只是表面,丢掉了本质 本人意见)
他(摩托罗拉中国软件中心董事总经理陈玲生)认为,目前国内无论是媒体还是软件厂商对CMM认证都存在一定的误区。有很多软件企业费尽力气进行CMM认证,只是为了品牌效应,而没有认真执行。其实,这样的认证就只能是废纸一张,没有任何意义。CMM是一套科学的管理标准,如果把它看得过高和过低都不适宜。它重在实施,只有认真贯彻,才能取得收效。