很多企业在实施CMMI 的MA过程域时,积累了大量的数据,但是不知道如何分析,没有充分发挥出这些数据的作用,花费了大量的人力收集来的数据没有给决策提供应有的帮助,很是可惜。究其根源,是不了解数据分析的方法。在咨询过程中,我总结了进行数据分析的3个层次:

1 简单观察分析

通过对数据进行整理(如排序、分类等),绘制成各种图形,通过这些图形观察出直观的结论,可以绘制的图形如:饼图、条形图、直方图、折线图、散点图、帕累托图等。对于不同类型的图形适用的场景也是不同的,并非简单画个图可以。在实践中常见的错误是:选择的图形无法能让读者直观地得出结论。

观察分析很大程度上需要分析者具有比较丰富的工程经验,能够对数据比较敏感,善于从不同的视角发现问题。

2 稳定性分析

基于过程稳定性的原理,通过对比较多的数据进行过程稳定性的判断分析,以发现特殊偏差,排除异常点。

统计过程控制是比较成熟的质量管理手段了,应用于软件领域的大问题在于:(1)软件开发过程可重复的子过程的数据采样点太少,(2)2个项目组之间是否真正具有可比性不好判断。

控制图也有多种多样,应该选择哪种控制图也需要训练。

3 相关性分析

基于稳定的数据判断2或多个变量之间的相关性。常用的相关性分析是工作量与规模、人员技能、技术新颖程度等之间的相关性。规模越大,工作量越大,这是大家的常识,二者之间是线性的关系呢,还是非线性关系呢?除了规模之外是否还存在其他对工作量影响比较大的因素呢?这些问题的解答都需要对数据进行相关性分析。

COCOMO II 模型是的分析工作量与规模之间相关性的模型。但COCOMO II 模型并非适合于每个公司,并非适合于每个项目,在你的公司里究竟应该建立什么样的模型呢?那必须基于历史数据进行分析。

三种不同类型的分析层次,也代表了组织的不同的成熟度。在CMMI 的2-3级是停留在简单观察分析的水平,4级开始达到稳定性分析与相关性分析水平。