集团其他站点      
  首页        联系我们

CMMI4 实施


关键字:CMMI4,CMMI4实施,CMMI高级别
文章来源网络


CMMI到了第四级是量化管理,那如何量化,如何管理,如何划分子过程成了大家讨论众多的问题,在CMMI4的时候必须要搞清楚几个概念,模型、性能基线、SPC、子过程。 先说一下SPC,SPC 是统计过程控制,工业中又叫统计制程控制,其实这不是CMMI4的内容,应该是属于CMMI3就必须建立的内容,如果一个公司在CMMI3没有建立如此的数据,那恐怕在做CMMI4就会感到很难了,因为没有原始数据积累,但是为什么拿到CMMI4实施来讲,因为许多公司在要做CMMI4的时候才明白要建立SPC,但这样就增加了实施CMMI4的时间。

SPC分为分析用SPC和控制用SPC,到了四级的时候是控制用SPC,也就是分析用的SPC在CMMI3时就需要建立,到了CMMI4的时候就应该已经稳定并且可以预测了。分析用SPC中不需要考虑太多的过程性能能力,需要看到的就是SPC基线的走势,在这里要分为整体过程和子过程的走势,所以子过程的划分一定要明确,如果你认为企业在首先统计之后再划分子过程也未尝不可,但是如果那时再划分完子过程,就成了依据SPC结果得到的子过程,而也许并非真正实际应用的子过程了。

SPC在分析用阶段首先看到的有两条线,也就是UCL和LCL线,但是在做完UCL和LCL后,要考虑的是是否有噪点,就是在达到CMMI4之后的特殊原因点,如果有,就先判断然后看是否去除,如果不需要那就要改进,以保证将来控制用SPC真正起到作用,而且范围不会太宽。

在做SPC图的时候,会看到几个概念,比如计量型、计数型、sigma、中位数、极差、 U、M等,还有一些定理,比如中心极限定理、二项式、泊松分布、正态分布等,这些不是都需要知道的。在软件中我们一般用到的是计量型SPC,而且一般用到的是正态分布曲线,由中心机限定理得出正态分布,当数据超过100个点的时候,数据将呈现正态分布趋势。收集的点数和绘制的曲线是直接相关的。我们在软件过程中一般用到的是X-MR(也就是单值移动值域)SPC,建立这种SPC从分析用到控制用一般需要的点数是30个项目,其实如果划分了子过程,就可以收取更多的点,也就可以用比较准确的X-S图了。

sigma:标准差,也就是方差开平方,这个是数学概念
极差:最大值和最小值之间的差
UCL:UPPER Control Line
LCL:Lower Control Line
U:平均值(也就是通常的Center Line)
M:目标值(如果是SPC用了SPI和CPI之类的,该值应该为1)

SPC有很多工具支撑,比如minitab、spss、excel之类的工具,建议用EXCEL,因为对于minitab里面太过于复杂。在分析用控制图,也就是CMMI3的时候形成的时候,用EXCEL最好,这个就要熟悉EXCEL中的一些函数。

过程性能基线(PPB)
SPC 分析用控制图建立完成后,在经过大量数据积累和分析之后(所以这个在实施CMMI3~CMMI4时,才需要那么长时间的原因),达到控制用SPC了,也就是形成了性能基线。形成的两条稳定的线为UCL和LCL,注意这两条线可能和项目中实际获取的SPC数据线是不一致的。

建议对性能基线进行细化,不要仅仅用UCL和LCL两条,因为一来可以方便管理,二来可以进行项目的度量目标的制定使用,当有的项目控制的非常好的时候,就可以选取比UCL和LCL区间更加严格的UCL和LCL进行控制,比如2sigma区间。

过程性能模型(PPM)
在传统工业中叫做试验设计,根据因子和水平以及得到的结论递归反推出参数和曲线。这个是在基线稳定后才能建立的,这个稳定是要在人力能力、规模估算等稳定了(规模估算在实施CMMI2的时候重点强调过,在这里使用,这也就是为什么在CMMI2强调的原因),然后根据得出的SPI反推计算出相应的系数,也就成了数学模型。

如果说要在控制用阶段建立模型也未尝不可,但是模型一定要定期的根据改进的情况进行调整,最后形成基线的时候,模型也就真正成熟了。

子过程(Sub-Process)
什么叫做子过程,你说了算,你想自己如何定义就如何定义,但是这里要再讲一个概念,也就是VOC(voice of customers),即客户的声音,为什么要说这个,因为子过程一定是核心过程,关键过程Critical Process Point(CPP),否则就少了建立SPC的意义,对于每个子过程进行SPC控制,也就是CMMI4中的OPP中建立子过程的量化管理了,如果项目中使用也就是CMMI4的QPM使用的时候也就是经过裁剪之后的应用了,再次选择CPP。

有了这些,CMMI4就没有问题了,许多实际过程中的问题就是咨询师认识不够甚至有的根本没有做过CMMI4,有一些公司的人员目光看到的太短,应该看到长远一点,还有一些就是企业高层的认识了。

顺便多说一点,计量型的SPC有USL和LSL的概念,这两个不妨拿到企业中做要求的控制,也就是变相的分包给各个项目经理的限制。计数型SPC主要用于缺陷的预测,这个不能完全用于软件上面,除非建立了缺陷的SPC,缺陷在这里指BUG数。

如果说你的项目客户经常要求延期,所以建立的基线没用,如果说客户经常变化,建立的基线没用,如果说实施经常变更,建立的基线没用,那就错了,因为基线的建立是从分析用到控制用一个过程,而这个过程是依靠历史数据积累建立起来的,已经考虑了若多的情况,假如你在达到CMMI4即建立完成控制用SPC之后,发现可以通过解决实施过程中一些问题来重建SPC的范围,那就是CMMI5的另外一个PA:CAR了。