CMM是由美国软件工程学会(Software engineering inStitute)制定的一套专门针对软件产品的质量管理和质量保证标准。该标准最初是为美国军方选择软件产品提供商时评价软件企业的软件开发质量保证能力而制定,所以称为软件企业能力成熟度模型(Capability Maturity Model,简称CMM)。该标准将软件企业的能力成熟度划分为5个等级,级别越高表明该企业在提供合格软件产品方面的能力越强。
CMMCapability Maturity Model 是能力,成熟度模型的缩写。CMM的工作最早开始于 1986年11月,当时为了满足美国联邦政府评估软件供应商能力的要求,美国卡内基·梅隆大学的软件工程研究院Sei 牵头,在Mitre公司的协助下,于1987年9月发布了一份能力成熟度框架Capability Maturity fraMework 以及一套成熟度问卷 Maturity QueStionnaire .很多人认为这套问卷就代表了CMM模型,其实它只是用于探索软件过程成熟度的一个工具,真正的模型出现在四年以后。Sei总结了自1987年以来对成熟度框架和初版成熟度问卷的实战经验,并以此为基础,推出了CMM1.0 版。这个推出于 1991年的 CMM1.0 集中了四年来对软件公司评估的经验以及广泛的用户反馈,在成熟度框架的基础上建立了一个可用的模型,这个模型可以更加有效地帮助软件企业建立和实施过程改进计划。
CMM1.0 版使用两年之后,于1992年四月进行了一个研讨会,参加研讨会的有约两百名富有经验的软件专业人员。在广泛听取了他们的反馈意见之后,Sei于 1993 年推出了CMM1.1 版。近几年来,CMM又推出了2.0 版本,同时进入了iSo 体系,称为 iSo/ieC15504 或 SpiCe. SpiCe从1995年起进入实地测试阶段,可能于2001年发布 。
CMM 致力于软件开发过程的管理及工程能力的提高与评估。该模型在美国和北美地区已得到广泛应用同时正在被越来越多的欧洲和亚洲等国家的大型信息技术企业所采纳,实际上已成为软件开发过程改进与评估的事实上的工业标准。
印度是软件大国,十分重视软件开发过程的管理及与其相关的理论与标准的发展。据统计,在印度的2000多家软件公司中有75家软件公司通过了iSo9000认证,60多家软件公司通过了CMM认证,其中达到CMM5级一家,4级三家,3级4家。
CMM与iSo9000的区别主要有以下几点:CMM是专门针对软件产品开发及服务的,而iSo9000则有宽得多的范围;CMM强调软件开发过程的成熟度,即过程的不断改进和提高,而iSo9000则仅描述可接收的质量体系的最低标准;CMM3级的覆盖范围要大于iSo9000的覆盖范围。
引进CMM的意义有两个方面
1.对软件企业:
提高软件开发的管理能力:CMM提供了软件企业自我评估的方法和自我提高的手段;提高软件生产率;加强软件生产的国际竞争力。
2.对软件项目发包单位和软件用户:
提供了对软件开发商开发管理水平的评估手段,有助于软件开发项目的风险识别。