软件能力成熟度模型
软件能力成熟度模型的五个等级

软件能力成熟度模型的五个等级软件能力成熟度模型的五个等级导语:在软件开发和管理领域,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一个被广泛应用的评估和改进软件开发能力的框架。
CMM根据不同的组织在软件开发过程中的能力水平,将其分为五个等级,逐步提升组织的软件开发能力。
本文将详细介绍软件能力成熟度模型的五个等级,并对每个等级所代表的特点和优势进行分析。
一、初始级(Level 1 - Initial)初始级是软件能力成熟度模型中最低的等级。
在这个等级中,组织没有明确的软件开发过程,开发工作往往是以临时和非结构化的方式进行的。
在这种情况下,项目的成功往往依赖于个别的开发人员的经验和个人技能。
缺乏标准化的开发流程、文档化的要求和质量控制,容易导致开发过程中的混乱和错误。
二、重复级(Level 2 - Repeatable)重复级是软件能力成熟度模型中的第二个等级。
在这个等级中,组织开始意识到软件开发过程的重要性,并开始建立一些基本的规范、流程和工具来规范开发过程。
组织能够重复地执行一些已经被证明是成功的软件开发实践。
这些实践可以帮助组织在不同的项目中保持一定的一致性,提高软件质量和生产效率。
三、定义级(Level 3 - Defined)定义级是软件能力成熟度模型中的第三个等级。
在这个等级中,组织进一步明确了软件开发过程,并进行了规范化和文档化。
组织能够定义一套标准的开发流程和过程,并将其应用于所有的软件开发项目。
组织还会建立一些针对不同项目要求的指南和标准,以确保开发过程的一致性和高质量。
四、管理级(Level 4 - Managed)管理级是软件能力成熟度模型中的第四个等级。
在这个等级中,组织开始对软件开发过程进行量化和度量,以便对项目进行更加准确和全面的管理。
组织会使用一些度量指标来评估和监控软件开发过程的质量和效率,以及在开发过程中发现和解决问题的能力。
“软件能力成熟度模型”

“软件能力成熟度模型”(1)背景介绍:CMM是“软件能力成熟度模型”的英文简写,该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,初始的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM模型实施过程改进取得较大的成功,所以在全世界范围内被广泛使用。
CMMI是SEI于2000年发布的CMM的新版本,目前CMMI已经发展到1.2版本,并且只接受1.2版本的评估结果。
CMMI目前包含了三个模型,分别是CMMI-DEV、CMMI-SVC以及CMMI-ACQ模型。
CMMI-DEV:最新版本是SEI于2006年8月份发布的CMMI for Development v1.2版本。
该版本集成了软件工程、硬件工程和系统工程三大学科领域。
图表1 CMMI-DEV模型集成CMMI-DEV模型按照阶段式表达方式将成熟度分为五个等级,每个等级包含相应的过程域,如下图所示:图表2 CMMI-DEV各成熟度等级包含的过程域CMMI-SVC:该模型SEI于2009年2月份发布,最新版本是CMMI for Services v1.2版本。
该模型可以应用于IT、医疗卫生、教育等各类服务领域。
该模型采用了CMMI的基础架构,在此基础上增加了服务相关的特有过程域。
对于已经实施CMMI- DEV 的企业,提供了快速、便捷的理解和导入机制。
图表3 CMMI-SVC和CMMI其他模型的关系CMMI-SVC模型按照阶段式表达方式也分成五个等级,每个等级包含相应的过程域,如下图所示:图表4 CMMI-SVC各成熟度等级的过程域CMMI-ACQ:该模型SEI于2007年11月份发布,最新版本是CMMI for Acquisition v1.2版本。
该模型基于CMMI模型体系架构,整合了CMMI采购模型、软件采购模型以及政府及产业采购的最佳实践等,用于指导采购方进行采购管理。
软件能力成熟度模型(精)

CMM的一些基本概念(3)
关键实践:对关键过程域的实践起关键作用的方针、规 程、措施、活动以及相关基础设施的建立。关键实践一 般只描述“做什么”而不强制规定“如何做”。整个软 件过程的改进是基于许多小的、渐进的步骤,而不是通 过一次革命性的创新来实现的,这些小的渐进步骤就是 通过一些着关键实践来实现。
CMM等级模型图
CMM的作用: 科学地评价软件开发单位的软件能力成熟 等级; 帮助软件开发单位进行自检,了解自己的 强项和弱项,从而不断完善和改进单位的 软件开发过程,确保软件质量,提高软件 开发能效率。
CMM的意义
迄今为止学术界和工业界公认的有关软件 工程和管理实践的最好的软件过程。 为评估软件组织的生产能力提供了标准。 为提高软件组织的生产过程指明了方向。
企业结构原则:商业结构,应用结构,技术结构,信息结构 应用开发原则:组队模型,开发模型,风险管理 组件设计原则:概念设计,逻辑设计,物理设计 基础开发原则:组队模型,开发模型,风险管理
CMM/CMMI本身是一套非常有价值的过程模型,但简 单的将其图腾化却是整个中国软件行业的悲哀,反观 CMM/CMMI的发源地——美国,除了和军方有业务往 来的软件企业会寻求通过CMM/CMMI评审外,其他多 数的企业并不怎么在乎是通过了CMM/CMMI的三级还 是四级,象是著名的微软、甲骨文等知名企业都没听说 过和CMM/CMMI沾过边,但这也丝毫不影响以他们为 代表的美国软件企业在整个行业中独领风骚。 只有有效的而不是最权威的,才是最好的。
链接3:软件市场的通行证——CMM
世界上第一家通过CMM5认证的并非美国公司, 而是来自印度的WIPRO。同时,WIPRO还是 全球第一个通过人力成熟度模型(PCMM)5级 认证的软件及服务公司。 据SEI统计,目前有大约300家印度软件公司通 过了CMM认证,其中通过最高质量等级CMM5 的有50余家,占全球的60%以上。高品质的管 理决定了高品质的产品,从而也确立了印度在 美国外包市场的垄断地位。
软件能力成熟度模型CMM CMMI

什么是CMMI?软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。
CMM/CMMI是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了国际软件产业界的认可,成为当今(企业)从事规模软件生产不可缺少的一项内容。
CMM/CMMI将软件过程的成熟度分为5个等级,以下是5个等级的基本特征:(1)初始级(initial)。
工作无序,项目进行过程中常放弃当初的计划。
管理无章法,缺乏健全的管理制度。
开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一但离去,工作秩序面目全非。
(2)可重复级(Repeatable)。
管理制度化,建立了基本的管理制度和规程,管理工作有章可循。
初步实现标准化,开发工作比较好地按标准实施。
变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。
(3)已定义级(Defined)。
开发过程,包括技术工作和管理工作,均已实现标准化、文档化。
建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。
(4)已管理级(Managed)。
产品和过程已建立了定量的质量目标。
开发活动中的生产率和质量是可量度的。
已建立过程数据库。
已实现项目产品和过程的控制。
可预测过程和产品质量趋势,如预测偏差,实现及时纠正。
(5)优化级(Optimizing)。
软件能力成熟度模型-13

CMM(Capacity Maturity Model)
张庆生 zhangqs@
计算机学院软件工程系
摘要
• • • • • • • • 绪论 CMM体系结构 软件过程评估的国际标准 可重复级(第2级) 已定义级(第3级) 已管理级(第4级) 优化级(第5级) 提问单
6 CMM模型的已管理级和优化级
• • • • CMM4级上的定量过程管理 组织的测量程序; 组织的标准软件过程; 项目的有关软件产品的质量、生产能力和 产品开发周期的目标; • 对其他项目定义的软件过程测量的性能数 据; • 项目定义的软件过程的描述。 2)定量过程管理计划需经同行评审。
6 CMM模型的已管理级和优化级
6 CMM模型的已管理级和优化级
• CMM4级上的定量过程管理 定量过程管理的目标 –定量过程管理主要涉及为项目定义软件过 程制定实施目标、 测量过程的性能、 分析 得到的变量,并通过变量的调整使过程性 能处于可接受的范围内。
6 CMM模型的已管理级和优化级
• CMM4级上的定量过程管理 定量过程管理要达到以下的目标: –有计划地进行定量过程管理活动 –对项目定义软件过程的过程性能进行定量 控制 –组织标准软件过程的过程能力是已知的、 定量的。
6 CMM模型的已管理级和优化级
• CMM4级的关键过程域 • 在CMM4级中, 软件过程具有精确定义的、 一致的评价方法, 这些评价方法为评估项目 的软件产品和质量奠定了一个量化的基础。 • 量化控制将使软件开发真正变成一种工业生 产活动。
6 CMM模型的已管理级和优化级
• CMM4级的关键过程域包括以下2个 • 定量过程管理 (QPM: Quantity Process management) • 软件质量管理 (SQM: Software Quality Management) • 每个关过程域都有一组目标,并包含一些可 操作的、目标明确的关键实践,它们指明了 改进其软件过程应关注的区域,以及为达到 本成熟度等级,其软件过程必须决的问题。
软件能力成熟度模型

基于CMM的软件质量管理
24
2.2可重复级
± Ó ì Ì ª î Ï Ä À Å Í Ä ï²è î º ¾ Ì Á ¹ ¨¢ ç ¼ à ¸ Ë ³ ® Á CMM2¹ £ º ´ · ¨ ¢ ð » Á ç ¼ ¾ ¸ ±³ Ì Á µ ³Ì Á º ñ Õ ç ¼ õ Ü ì ä ´ Ê ¤ ¶ ½ ¶ ²· ¶ Å ´ ïñ à ³¸ Ó ´ ° à º Í Ñ ñ ²õ ¶ ½ · ¼ Ó Ü ì Ê Ô Ã ç ¸ ¨¢ è î ð ß º ¾ Í Ä ¸ Ì ½ á ç ¼ ä £ ¶ È Ì Á ¶ Á Æ ±¢ Ç ² ¸ ± » ¡ ³Ñ £ ¨¢ ç ¼ à ® º ¾ Ì Á ¹ ¸ É ¢ ²Ò Á ± ¡ å Ì Ë ³ Å ¼ ç ¼ õ ¶ ´ ¾ Ì Á º Ò ½ ÷ æ © ¸ » Ò ² Ç £ é ¤ñ ²Ê ç Î Ó ° à · ¸ è î £ Í Ä ¡ Ñ ñ ²¢ â ò ´ ° à ¡ ±µ ´ ð Ê Ô Ã ¸ Ç ±· ¼ Ó £ ¡ ñ Ì Î Ñ · Ç ³ ± Á Í â ª ¢ ç ¯ £ à ¼ ²¸ ´ ¡ ¯ ´ ¢ ¤ï¼ ¢ ¡ ¶ ³¾ ¡ ¢ ½ á ¢ ÷ ¡ ¶ È ¡ ¶ £ ¡ ¬ °±Æ ¡ £ ¹ Ç ° Å ¯ Ä ñ ö Ì ´ Ç ²²· ¢ Ç à õ ¡ Ë É º Í ò É ¬ Ü ì °Æ £ ¶ ½ ì ø â À Ü ì Å ¹ Â Ó ¶ ½ ì ø Ð Ì ¬ Ü ì Å ¹ ³· Ê ¶ ½
26
基于CMM的软件质量管理
2.4已管理级
ì Ó ± Ì CMM4¹ £ Ë ´ · ª ¾ µ ³· ¼ Ó È ñ Õ Ê Ô Ã ì ø ª ¢ Ç Å ¹ ¼ ²Ó ¾ £ Ï ´ ¼ ² ¼ ¬ ª Ñ ª ¢ ¶ ± · ° à º ÷ É Ê ñ ²õ Í ²Ë Ó ô ª î Ï Ä ¨¢ º ¾ ê ± Ñ Ì ´ ç õ º Í ì ½ ç ¸ ¯ ´ ª µ õ ì ø ÷ É ¨¢ Å ¼ Ë Á º Å ¹ ¶ ± º ¾ ´ ¾ Ç ¼ ¼ Ó ¾ Á ¼ ±¸ Á ê £ ¨¾ ì ø ñ ²Ç ¼ ¼ ê £ º ¢ Å ¹ ° Ã Ó ¾ Á ±¡ ¼ õ ¶ ´ ì ¹ ¶ ± ³ Í Á º Í ´ Á º Ò Ñ Å ø ÷ É Á Ñ Ü õ Å ¼ ¯ Ü ¾ ¸ ¾ ¸ ¶ ¼ £ Ñ ° ²Ç ¼ õ Å ¼ ´ ñ Ã Ó ¾ º Í ´ ¾ Ô ò ÷ É õ í ¶ ¹ ¶ ± Ä Ð ÷ ¼ ¯ ÷ É Ü ì Ç ¾ ¸ ¶ ± ¶ ½ ì ø Ç ¼ Ü ì Å ¹ Ó ¾ ¶ ½ ÷ ¼ ¯ ÷ É Ü ì Ç ¾ ¸ ¶ ± ¶ ½ ì ø Ç ¼ Ü ì Å ¹ Ó ¾ ¶ ½
软件能力成熟度模型

SWSW-CMM分为
五个等级 初始级 可重复级 已定义级 已管理级 优化级
SWSW-CMM的管理思想与结构(续一) 的管理思想与结构(续一)
1、初始级:混沌的过程 初始级: 不具备稳定的环境用于软件开发和维护; 缺乏健全的管理惯例,其软件过程能力无法预计; 软件过程是一片混沌; 软件过程总是随着软件开发工作的推进而处于变
内
容
我们怎么办? 我们怎么办?
什么是SW CMM? 什么是SW-CMM? SW SW-CMM称为软件能力成熟度模型,是Capability SW-CMM称为软件能力成熟度模型,是Capability
Maturity Model for Software的缩写形式。 Software的缩写形式。 目前国际上最流行最实用的软件生产过程标准和 软件企业成熟度等级认证标准。用于评价软件承 包能力并帮助其改善软件质量的方法。 美国卡内基-梅隆大学的软件工程研究所(SEI: 美国卡内基-梅隆大学的软件工程研究所(SEI: Software Engineering Institute) 在1987年研制成 1987年研制成 功。 卡内基卡内基-梅隆大学的软件工程研究所是美国国防部 的软件开发基地之一,CMM就是受美国国防部委 的软件开发基地之一,CMM就是受美国国防部委 托而研制的。
SWSW-CMM的由来与发展(续二) 的由来与发展(续二)
70年代中期美国国防部曾立题专门研究软件项目做 70年代中期美国国防部曾立题专门研究软件项目做
不好的原因,发现70%的项目是因为管理不善而引 不好的原因,发现70%的项目是因为管理不善而引 起,而并不是因为技术实力不够。 90年代中期,软件工程管理不善的问题仍然存在。 90年代中期,软件工程管理不善的问题仍然存在。 据美国软件工程实施现状的调查,大约只有10%的 据美国软件工程实施现状的调查,大约只有10%的 项目能够在预定的费用和进度下交付。 1995年,美国共取消了810亿美元的软件项目,其 1995年,美国共取消了810亿美元的软件项目,其 中31%的项目未做完就取消了,53%的软件项目进 31%的项目未做完就取消了,53%的软件项目进 度通常要延长50%的时间,通常只有9%的软件项目 度通常要延长50%的时间,通常只有9%的软件项目 能够及时交付并且费用也不超支。 结论:管理是影响软件研发项目全局的因素,而技术 结论:管理是影响软件研发项目全局的因素,而技术 只影响局部。
软件能力成熟度模型体系

软件能力成熟度模型体系软件能力成熟度模型体系(Software Capability Maturity Model,简称SCMM)是一个评估和改进软件开发组织能力的框架。
该模型由美国国防部软件工程研究所(Software Engineering Institute,简称SEI)在1986年提出。
它是一个五层的阶梯模型,用于评估和指导软件开发组织的软件工程能力。
本文将详细介绍软件能力成熟度模型体系的各个层次和其对软件开发过程的重要性。
第一层:初始级初始级是指软件开发组织没有一个确定的过程,所有工作都是临时性的,没有一致性的开发标准。
在这一级别,项目成功与否主要依赖于个人技能和意愿。
没有任何的文档化标准和过程规范,项目无法可靠地按时、按质完成。
在初始级,很难复制和标准化成功的开发方法。
第二层:重复级重复级是指开始建立一些通用的软件开发过程。
组织开始制定一些工作指导方针和标准操作流程。
重复级的主要特点是组织具有了一定能力来复制和重复之前的成功。
虽然还没有完全标准化的过程,但团队已经开始建立对软件开发流程的控制。
第三层:定义级定义级是指软件开发组织开始将过程进行文档化,并建立起一套软件工程的标准和指导文件。
软件开发组织在这个级别上建立了一套可重复的工程方法,并对项目开展了全面的计划和控制。
具体的软件开发过程标准化并进行了持续的改进,起到了确保项目按时交付、满足质量要求的作用。
第四层:管理级管理级是指软件开发组织建立了系统化的软件过程管理,通过度量和监控来控制软件开发过程。
在管理级,组织可以进行定量的评估和分析,以便更好地调整和改进软件过程。
该级别的目标是通过有效的量化和改进,持续提升软件开发过程的质量和效率。
第五层:优化级优化级是指软件开发组织通过确定和推动改进机会,实现持续和可持续的过程改进。
在优化级,组织通过收集和分析数据,识别问题并找到解决方案。
持续的过程改进能够保持组织的竞争优势,并使软件开发组织更加灵活和适应变化。