CMM简介
CMM是软件过程能力成熟度模型(Capacity Maturity Model)的简称,是卡内基一梅隆大学软件工程研究院(以下简称SEI)为了满足美国联邦政府评估软件供应商能力的要求,于1986年开始研究的模型,并于1991年正式推出了CMM1.0版.国内外很多资料把CMM叫做SW-CMM。
CMM目前代表着软件发展的一种思路,一种提高软件过程能力的途径。CMM为软件企业的过程能力提供了一个阶梯式的进化框架,而且是浓缩软件过程能力提高的有用工具。它采用分层的方式来安排它的组成部分,目的是适应不同机构使用的需要。
CMM把软件开发组织的能力成熟度分为5个可能的等级。这种分级的思路在于把一个组织执行软件过程的成熟程度分成循序渐进的几个阶段,这与软件组织提高自身能力的实际推进过程相吻合。这种成熟度分级的优点在于,这些级别明确而清反映了过程改进活动的轻重缓急和先后顺序。下面就我们关心的前二级做一个简单的介绍。
现实的软件业里尚有下少组织还不具备稳定的环境用于软件开发和维护,它们缺乏健全的管理惯例,其软件过程能力无法预计,它门的软件过程是一片混沌,并且它们的软件过程总是随着软件开发工作的推进而处于变更和调整之中。这种情况被CMM定义为第1级能力成熟度,称之为“初始级”。
第2级为可重复级。在处于可重复级的组织上,顾客的需求和本组织的工作产物是受控的并且建立起了基本的项目管理惯例。藉以产生软件产品的一系列过程有如一连串“黑盒子”。尽管管理者可能不知道在“黑盒子”里具体发生了什么,但是,他能掌握过程的产物和那些确认过程是否正常的校验点.从而在发生问题时作出反应。这一级有6个关键过程域(KPA):
一 需求管理
一 软件项目计划
一 软件项目跟踪与监控
一 软件转包合同管理
一 软件质量保证
一 软件配置管理
第3级是(明确)定义级。在这一级,对于在整个组织里用于软件开发和维护的标准过程以文件形式被固定下来,针对各个基本过程建立起文件化的“标准软件过程”,这是第3级能力成熟度的突出特点、这些标准软件过程(包括工程过程和管理过程)被集成为一个相关的整体;这些标准软件过程有助于软件经理和技术人员更有效地履行他们的职责。实践表明,对软件过程加以标准化的过程,也就是发掘高效软件工程惯例的过程。而标准软件过程的建立和实施则为本组织软件项目的实施提供了公共的工程环境。较普遍的看法是,只有当达到了第3级能力成熟度时,才表明这个组织的软件能力“成熟”了。因为,在到达这一级后,表明上述的“黑盒子”被打开了。在第2级的基础上,第3级包括7个关键过程域:
一 机构过程焦点
一 机构过程定义
一 培训大纲
一 综合软件管理
一 软件产品工程
一 组间协调
一 同行评审