CMM
软件过程能力成熟模型(CMM),其研究目的是提供一种评价软件承接方能力的方法,同时它可帮助软件组织改进其软件过程。
CMM将软件过程改进分为以下5个成熟度级别:
- 初始级:
软件过程的特点是无秩序或说无定规的,有时甚至是混乱的。软件过程定义几乎处于无章法、无步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。 - 可重复级:
已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。 - 已定义级:
用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。 - 已管理级:
软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。 - 优化级:
通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对促进过程进行改进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,自然可以向上一更为成熟的高一级别迈进。CMM 体系不主张跨级别的进化,因为从第二级开始,每一个低级别的实现均是更高级别实现的基础。
CMMI
CMMI是若干过程模型的综合和改进;CMMI提供了两种表示方法:阶段式模型和连续式模型。
阶段式模式
阶段式模型的结构类似于CMM,它关注组织的成熟度。CMMI-SE/SW/IPPD 1.1版本中有5个成熟度等级。
- 初始的:过程不可预测且缺乏控制。
- 已管理的:过程为项目服务。
- 已定义的:过程为组织服务。
- 定量管理的:过程已度量和控制。
- 优化的:集中于过程改进。
连续式模式
连续式模型关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级(Capability Level,CL)。CMMI中包括6个过程域等级,等级号为0-5。能力等级包括共性目标及相关的共性实践,这些实践在过程域内被添加到特定目标和实践中。当组织满足过程域的特定目标和共性目标时,就说该组织达到了那个过程域的能力等级。
能力等级可以独立的应用于任何单独的过程域,任何一个能力等级都必须满足比它等级低的能力等级的所有准则。对各能力等级的含义简述如下:
- CL0(未完成的):
过程域未执行或未得到CL1中定义的所有目标。 - CL1(已执行的):
其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。 - CL2(已管理的):
其共性目标是集中于已管理的过程的制度化。根据组织级政策规定过程的运作将使用哪个过程,项目遵循已文档化的计划和过程描述,所有正在工作的人都有权使用足够的资源,所有工作任务和工作产品都被监控、控制、和评审。 - CL3(已定义级的):
其共性目标集中于已定义的过程的制度化。过程是按照组织的裁剪指南从组织的标准过程中裁剪得到的,还必须收集过程资产和过程的度量,并用于将来对过程的改进。 - CL4(定量管理的):
其共性目标集中于可定量管理的过程的制度化。使用测量和质量保证来控制和改进过程域,建立和使用关于质量和过程执行的质量目标作为管理准则。 - CL5(优化的):
使用量化(统计学)手段改变和优化过程域,以满足客户的改变和持续改进计划中的过程域的功效。