CMM为英语“Capability Maturity Model for software(软件能力成熟度模型)”的缩写,是由美国卡内基梅隆大学的软件工程研究所研究制定,并在美国随后又在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。CMM把软件开发过程的成熟度由低到高分为5级,即初始级、可重复级、已定义级、已管理级和优化级。随着等级的提高,逐步降低了软件开发风险,缩短了开发时间,减少了软件开发的人力物力成本,降低了灾难性的错误发生率,提高了质量。CMM评估等级的提升会大幅度提高软件开发能力,有助于客户特别是大公司对其评估企业建立信心。 摩托罗拉中国软件中心成立于1993年,是摩托罗拉全球软件集团的重要组成部分,在北京、南京和成都设有3个分部,拥有450多名优秀的软件工程师,业务涉及无线通信系统软件开发与测试、移动终端设备软件开发与测试、无线互联网端到端应用解决方案、嵌入式系统软件全面解决方案、数字信号处理应用、信息管理系统、电子商务、语音识别及软件工程等领域。创建之初,其任务是为摩托罗拉全球各部门开发高质量的软件,而随着业务的飞速发展以及外部客户需求的与日俱增,现在已经开始拓展对外服务,并将积极与国内软件组织展开合作开发业务。 早从1993年起摩托罗拉中国软件中心就开始采用CMM作为软件开发与管理的质量保证模式,并在借鉴其他企业经验的基础上,结合自身软件开发的需要制定了文件化的软件生产过程体系。此外,软件中心还严格按照CMM要求实施对其过程体系的量化管理,并逐步建立了一个以量化管理为基础的过程体系自我改进机制,过程体系日趋科学合理。CMM也确实为摩托罗拉中国软件中心带来了实际可观的效益。据统计,仅从1997到2000年的3年间,其人均生产率提高了6倍,而开发过程中软件错误率分别下降了15倍,软件发放后的错误率下降了24倍。 据美国卡内基梅隆大学软件工程研究院统计,自1987年到目前,全世界仅有1269家软件公司和机构通过了CMM不同级别的认证,其中通过5级认证的只有38家,集中在美国和印度。摩托罗拉中国软件中心是第39家通过CMM5级认证的企业,这也使我国继美国、印度之后成为世界上拥有这项认证企业的第3个国家。 现在美国10-15%的软件客户都是大公司如波音公司、洛克希德公司等,他们一般都要求软件供应商通过较高级别的CMM评估。欧洲许多国家除独立研究与实践有关软件成熟度的软件工程理论和方法外,也引进了CMM评估。软件产业很发达的亚洲国家印度也十分重视CMM评级工作。目前全球通过了CMM4级和5级评估的54家软件企业中,印度就占了29家。此外,印度每年还定期对软件人员进行CMM培训,现已培训了3万多人。 CMM评估过程复杂、费用昂贵。5个等级共计18个关键过程域、52个目标、300多个关键实践,每一个CMM等级评估周期(从准备到完成)约需12-30个月,由美国卡内基梅隆大学的软件工程研究所授权的主任评估师领导一个评审小组进行,其成员大部分来自企业内部。评估过程包括员工培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。评估结束由主任评估师签字生效。而要取得主任评估师的资格则比较困难,首先需有10年以上的软件开发经验;其次要在美国卡内基梅隆大学的软件工程研究所接受培训,培训费用每人约需数万美元,非美国人加倍;第三要经过两次以上CMM评估的全过程实习;第四要得到已有主任评估师资格的人推荐。主任评估师的资格并非终身制,如要继续保持,每年至少要参加两次CMM评估。目前全世界一共只有313个主任评估师,大部分在美国,而我国大陆还没有一个主任评估师。由于我国在CMM评估中要聘请外籍主任评估师,所以费用较高。据估计,要通过一个级别的CMM评估,费用是通过ISO9001认证的10多倍。
CMM五个等级:
一级为初始级,
二级为可重复级,
三级为已定义级,
四级为已管理级,
五级为优化级。