CMMI(Capability Maturity Model Integration)能力成熟度模型集成,正如它的名字一样,它是一个模型。个人觉得它更是一种概念。它带来的是一系列的方法,并且它并不仅仅的局限于应用在软件行业中。就自己以前接触过一些CMMI知识的培训和做过一些PPQA的工作来讲,最大的感受就是CMMI帮我们明确了变更的概念,以及指明了变更控制的方向。
其实我个人的观点是流程管理的真正意义在于控制变更,即将变更对项目产生的风险尽可能的降到最低。流程管理的最高境界是没有专职的流程管理人员,人人都是流程的维护者,然而要实现这一点,同样也是一个过程,一个循循渐进的过程。在没有做到这样一个高度之前,就不得不提到CMMI中两个很重要的“组织”,EPG(Engineer Process Group)和CCB(Change Control Board),前者是过程改进小组,而后者则是变更控制委员会。
EPG小组是一个专家组,它对成员的要求最高,一方面成员需要清楚整个公司的运转和现有流程的每一个细节,另一方面它还要求成员需要有过程改进的知识背景和经验,并且这两点缺一不可。否则就是不切实际的纸上谈兵,或者就是没有方向的到处碰壁。与EPG最为直接关联的是3个过程:组织过程定义OPD(Organization Process Define)、组织过程焦点OPF(Organization Process Focus)和组织培训OT(Organizational Training)。不同于EPG,CCB实际上是一个虚拟的组织,它由高层领导、PM、开发、PPQA、CM等组成,对变更进行决策,并且其成员可以根据项目的不同进行剪裁。
跟CCB相关的一个很重要的概念即Review(评审)。因为任何变更都需要经过评估和审核。当然评审并不只是运用于变更,从项目管理、需求管理、技术解决方案、变更、测试等等一系列过程都离不开它。它的核心作用还是在于尽早的发现问题,寻求解决方案。这就给我们带来了DAR (Decision Analysis Resolution)的概念,但是决策分析的前提是必须建立完备的评价准则,否则DAR过程则是无的放矢。
此外除了MA(Measurement and Analysis)度量与分析过程,其它诸如项目管理PM、需求管理RM等等,都被大家所熟知,在此就不一一展开。根据CMMI等级的划分定义,度量数据是决定CMMI四级的关键。在四级之前,对度量数据的要求并不是很高,这是合理的,因为所谓改进,必然有一个探索的过程,尽管度量数据的准确性到四级才有了较高的要求,但是可以看到这个过程一直存在,所以,即便一个公司没有达到CMMI四级的标准,也要有意识的去收集数据。因为没有数据,我们就无法找出问题所在,更不要谈去改进。