3.4 软件能力成熟度模型——CMMI
CMMI的全称是Capability Maturity Model Integrated,即软件能力成熟度模型集成,是由美国国防部、卡内基梅隆(Camegie Mellon)大学的SEI和美国国防工业协会共同开发和研制的新一代成熟度模型。SEI在2000年8月颁布了CMMI-SEI SW 1.0版本,2001年12月颁布了CMMI1.1版本,标志着CMMI的正式启用。CMMI产品包括:SW-CMM(软件能力成熟度模型)、SE-CMM(系统工程能力成熟度模型)、SA-CMM(软件获取能力成熟度模型)、IPD-CMM(集成产品开发能力成熟度模型)、P-CMM(人力资源成熟度模型)、IPPD-CMM(集成产品和过程开发能力成熟度模型)。这些模型各自面向不同的领域,具有不同的用途。由于这些模型是在同一个模型的基础上发展起来的,所以它们在过程域等方面有一定的重叠。
CMMI主要对系统工程、软件工程、集成过程和产品开发、供应商管理这4个学科进行了集成,并且在度量与分析、工程实践方面提出了更详细的要求,它是几十年来软件工程与系统工程的最佳实践的总结。
CMMI分为5个等级,25个过程域(PA)。每个等级都有几个过程区域组成,这几个过程域共同形成一种软件过程能力。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。当一个过程域的所有特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。
CMMI对五个等级的定义如下。
1.初始级(Initial)
软件开发过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理也是被动反应式的。
2.已管理级(Managed)
建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的开发要求,能重复以前类似的成功经验。
3.已定义级(Defined)
已将软件管理和工程两方面的过程文档化、标准化,并形成该组织的标准软件开发过程。所有项目均使用经批准、剪裁的标准软件开发过程来开发和维护软件,软件产品的生产在整个软件开发过程是可见的。
4.量化管理级(Quantitatively Managed)
分析对软件开发过程和产品质量的详细测量数据,对软件开发过程和产品都有定量的理解与控制。有一些客观依据,管理者能够在一定范围内进行预测。
5.优化管理级(Optimizing)
开发过程的量化反馈和先进的新思想、新技术,促进开发过程持续不断的改进。