CMM (Capability Maturity Model) 是卡耐基梅隆大学软件工程研究院(SEI,Software Engineering Institute)受美国国防部委托制定的软件过程改良、评估模型,也称为SEI SW-CMM,(Software Engineering Institute SoftWare- Capability Maturity Model)。 该模型于1991年发布,目前修改至1.1版,并发展成为系列标准模型。全世界已经有1万多家软件企业经过CMM评估。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化,标准化。使企业能够更好的实现商业目标。
CMM的五级标准
由于CMM是为美国国防部制订的,所以这一标准比国际上质量认证的其他一些标准,如ISO9000系列要复杂许多。CMM 把软件开发机构按照不同开发水平划分为5个级别:Initial(初始化)、Repeatable(可重复)、 Defined(已定义 )、Managed(已管理)和 Optimizing(优化中)。
Initial级,软件过程没有任何标准和规章,完全是手工作坊的方式,软件产品的质量具有不可预测性。
Repeatable级,软件制作已基本形成固定过程,并引入了简单的过程管理。软件企业可依据一定的标准重复利用类似的软件产品,以前的开发经验成为开发新产品能否成功的极为重要制约因素。
Defined级,软件产品开发和维护的基本过程被记录下来成为文档,软件工程和过程管理也紧密的结合起来,形成了"标准软件过程"。
Managed级,针对软件过程的每一个阶段都进行了监控、取样和定量分析,形成了一个关于软件制作和维护流程的数据库并不断更新,以保证软件过程保持较高的质量。
Optimizing级,整个软件开发机构的重心转移到优化软件过程。基于Managed级取得的关于软件过程的数据,软件开发机构进行成本收益综合分析,明确软件开发中出现的问题和错误,并找到方法杜绝错误的再次发生。
因此,CMM可以作为企业软件过程改良的参照标准(Checklist),协助软件开发机构建立严格、标准的软件开发过程,最及时、高效地组织软件开发队伍进行软件开发。
CMM与ISO9000的关系
ISO9000和CMM既有区别又相互联系。
ISO9000和CMM是国际上通用的软件质量评估和管理方法。二者有很多相似之处,它们的实施可以改变软件组织开发不规范、文档不齐、维护跟不上、质量漏洞多等弊病。尽管ISO 9001标准的一些要求在CMM中不存在,而CMM的一些要求在ISO 9001标准中也不存在,两者之间的关系非常密切。
两者的最大相似之处在于两者都强调对每一个重要的过程应形成文件,包括指导书和说明,并检查交货质量水平,同时也都强调强调持续改进。取得ISO 9001认证对于取得CMM的等级证书是有益的,反之,取得CMM等级证书,对于取得ISO 9001认证也是有帮助的。
|