CMMI(Capacity Maturity Model Integration,能力成熟度模型集成)是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织世界上优秀的软件开发过程改进和软件开发管理方面的专家在CMM的基础上历时4年开发出来的一套软件企业能力成熟度评估标准,主要用于指导软件企业实施开发过程改进,SEI依据此标准对软件企业的软件开发能力进行评估,其本质就是一种过程模型,而软件企业实施CMMI过程改进的关键在于将其标准开发过程执行制度化。
CMMI是一个集成化的模型,它涵盖了以下模型:
(1) SW-CMM (Software CMM) 软件CMM
(2) SE-CMM (System Engineering CMM) 系统工程CMM
(3) SA-CMM (Software Acquisition CMM) 软件采购CMM
(4) IPD-CMM (Integrated Product Development CMM) 集成产品开发CMM
CMMI过程模型将复杂的软件项目工作合理地划分为22个专业领域(模型称之为过程域),分而治之,逐步提升。按照专业领域能力累积的多少,模型又将一个软件企业的过程成熟程度划分为5个等级(见下图),农行软件开发中心就是参考达到CMMI3级要求的18个专业领域来实施项目过程改进的。
过程域:简单的说就是做好一件事情的某一个方面,对应软件开发项目来说,就是做好软件开发项目的项目计划、项目监控、需求管理、需求开发、配置管理等等。
第一级:初始级
在初始级,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:可重复级
在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。基于过往的项目的经验来计划与管理新的项目。
第三级:定义级
在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体,这就称为企业的标准软件过程。同行评审是该级别中的关键过程域。我行即刚刚通过了该级别评定。
第四级:定量管理级
在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案, 要对所有项目的重要的过程活动进行生产率和质量的度量。软件 产品因此具有可预期的高质量。
第五级:持续优化级
在这个等级,整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时,分析有关过程的有效性的资料,做出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。