EPG和QA是CMMI实施中两个并驾齐驱的轮子
Jacob 2005-04
我们知道,CMMI是一个模型。什么是模型呢?模型就是对现实世界的抽象,模型都是错误的。CMMI也一样,它只是站在一个系统的高度对系统特征(最佳实践)的描述。而在这些特征的抽取和组合过程中,就要基于一定的假设。其中,很重要的一个假设是“一个系统所生产的软件产品的质量归根结底是由它所采用的过程的质量所决定的。”说得简单一些,就是“过程质量决定产品质量”。这个假设不是拍脑袋出来的,也不是上帝说的,而是来源于对质量界的一个统计发现:约85%的质量问题是由过程/系统引起的,而不是人的因素。
我们知道了这个假设,并用统计学证明了这个假设,那么我们如何保证这个假设呢?也就是如何通过过程质量去保证产品质量呢?这暗含了三个前提:第一个是我们已经定义了一个过程;第二个是我们定义的过程得到了遵守和执行;第三个是已定义的过程是正确有效的,且得到持续改进。
只有满足了这三个前提,我们才能说“通过好的过程来生产出好的产品”。那么,在CMMI模型中是如何体现这三个前提的呢?主要是两个重要的角色,EPG和QA。EPG就是组织过程定义和改进的小组,它满足了第一个和第三个前提。第二个前提呢?建立了QA这个角色。QA对实施的过程和输出的产品进行评审和审计,确保与已定义的规范和标准一致。所以,我们说EPG和QA是CMMI实施中两个并驾齐驱的轮子。
既然是并驾齐驱,就需要两个轮子相匹配。如果一个轮子大,一个轮子小,势必影响前进的速度。也就是说,我们不要对EPG或QA有偏见:认为EPG很重要QA不重要,或QA很重要EPG不重要。EPG和QA的资源和能力要匹配,两个中的任何一个团队处于弱势,都会影响CMMI的实施效果。另一个方面,如果轮子大,应对阻力的能力就越强,转一圈(PDCA/IDEAL)就能达到更高的位置(过程能力)。这就要求我们在实施CMMI过程中,最好组织较强的EPG和QA团队。