CMMI(Capability Maturity Model Integration)即软件成熟度集成模型。是力图通过一套模型改善软件质量,规范软件过程管理的模型。由于软件开发的随意和变动性比较大,软件质量和项目规模的控制变的越来越必要,CMMI是针对此诉求提出的一套规范。
等级一共分了五类:Level1-Level5。
Level 1:Initial初始级:项目开发的过程是随意和混乱的,每个开发者有他自己用的一套工具和方法,项目的成功和失败完全依靠开发者的经验和能力。经常会预期和超出预算。对于小规模开发几个人的小作坊,这种开发模式很常见,大部分以工业化转型到工业4.0的企业中的软件开发处于这个级别。
Level 2:Repeatable可管理级:建立了基本的项目管理过程,能够跟踪项目的花费、进度和功能完成情况。此阶段,注重项目的管理,而不是系统的开发。系统开发会遵循一定的流程,但是根据项目不同具体实现会不同。此过程仍旧要考项目成员的个人能力保证项目的成功,但是一些累计的项目成功经验能够被学习和重复。这些管理实践为进入下一阶段,提供了基础。具有几年开发经验的小型组织处在这个阶段。
Level 3:Defined 已定义级:系统开发过程已经标准化,并嵌入到组织的信息系统中供使用。项目开发使用高质量的文档和交付过程。过程是稳定、可预期和可重复的。这是我们想要达到的级别。
Level 4:Managed 可量化管理级:根据数据可以建立一套保证项目质量和数量的体系。能够在定量范围内预测性能。
Level 5: Optimized 优化管理级:标准的项目开发过程实时被检测,并根据在level 4中得到的项目开发分析数据进行改进。过程量化反馈和新技术促使过程管理不断改进。这是终极目标。一套可复制循环且不断进化的系统。
我经历过Level 1,2和5,如今要参与2->3,3->4,4->5的过程了。