很多软件公司在实施完成CMMI3级后,考虑实施CMMI4级或5级,在制定最初的改进计划时往往对实施高成熟度的难度估计不足,制定了很乐观的改进计划,改进的周期比较短。当领导基于乐观的估计拍板后,就很难真正地在实施高成熟度时见到实效了。如果要对实施CMMI高成熟度进行一个合理的工期估算,首先就要对CMMI的高成熟度是什么有一个清晰的、正确的理解。本文试图通过类比的方式,通俗地说明高成熟度是什么,高成熟度的实施周期为什么会比较长。
首先我们来说明一下过程稳定性的概念,这是高成熟度中的一个最重要的基本概念。
我们以孩子的学习为例来类比。假如小明和小强是同班同学。(小明是名人,总是被调侃, 熊孩子的代表啊,难以管理。小强也是名人啊,打不死的小强!)
场景一:
假如说小明连续10次考试的分数分别是:
10,90,20,100,40,90,90,30,70,100,56,45
你对小明的学习情况第一感觉是什么?
很多人会认为:这孩子学习忽高忽低,成绩不稳定!
如果让你评判小明学习是好还是坏,你好评定吗?
场景二:
再比如小强连续10次考试的分数分别是:
45,50,40,42,51,34,43,53,54,55,38
此时你对小明的学习情况第一感觉是什么?
很多人会认为:这孩子学习成绩比较差!总是不及格!学习成绩很稳定,稳定在下游!
对于小明而言,学习是不稳定的,也就意味着他的考试成绩是不可预测的,我们不好预料他下一次的考试结果。对于小强而言,他的学习成绩虽然比较差,但是是稳定的,我们能有很大的把握认为他下次考试还会考不及格,他的学习成绩是可预测的。
我们再思考一下:
如果我们只知道第1次考试的成绩,小明10分,小强45分,我们能否下结论小强比小明学习好吗?
如果我们知道了前5次考试的成绩,如上面列出的,我们能否下结论小强比小明学习好呢?
如果我们知道了前10次考试的成绩,如上面列出的,我们能否下结论小强比小明学习好呢?
要下一个可靠的结论,需要大数据量的支持才可以,有了足够多的数据的支持,我们的结论才是可靠的,才是可以信任的,我们的预测结果才会是大概率事件,才不是偶然。
返回到我们的软件开发上来,也是同样的道理。
如果一个过程稳定了,我们就可以通过历史的数据发现其中的两类规律:数据的分布规律与因果规律。如上所述小强的成绩,在一个比较大的概率下,小强的学习成绩会落在40分到55分之间,这个区间就是数据分布的规律。影响孩子学习成绩的因素有哪些呢?可能有孩子的智商、父母的教育水平、教育方法、学校的教育方式、生活的环境、孩子的性格等,这些影响因子与学习成绩之间的量化关系就是因果规律,即:学习成绩=f(孩子的智商、父母的教育水平、教育方法、学校的教育方式、生活的环境、孩子的性格), 找到这个f函数就找到了因果规律。规律是有大量的历史数据支持的,否则就不是规律,不是必然,不是大概率事件,是偶然。
对于高成熟度的4级水平,就是首先要在组织内找到这两个规律,根据这两个规律制定合理的目标,再采用量化的方法管理项目的过程,使之能够实现项目的目标。对于5级的水平,就是要基于这两个规律识别改进点,持续改进,使历史数据的偏差越来越小,数据值越来越优,因果规律的预测结果越来越符合实际。
弄清楚了高成熟的要点,我们来反思一下,找到这两个规律是否很容易呢?
Ø 你历史的过程是稳定的吗?或者说2-3级原来做的扎实吗?
Ø 你感觉是稳定的,你的历史数据真能证明你稳定吗?
Ø 你是否有足够多的数据点证明过程的稳定呢?
Ø 你的历史数据准确吗?
Ø 稳定的历史过程,数据分布的带宽是否很宽呢?
Ø 历史数据能否找到合理的、有用的因果规律呢?
Ø 历史的因果规律预测出的结果是否偏差范围很大呢?
Ø …….
即使有了这两个规律,是否就短时间内在组织中得到应用呢?
Ø 各级管理者能够掌握量化管理项目的技术吗?他们的学习周期有多长?
Ø 你的改进是否对组织的商业目标达成有直接作用呢?这些作用可以量化吗?
Ø 你们是否有足够长的时间来收集足够多的数据,证明你改进的有效性呢?
Ø ……
上述问题的解决,都需要花费时间!这就是为什么高成熟度的实施周期相对较长的原因!
是否可以拿来主义,用其他公司的规律或业内的通用规律套用到本公司以提高改进速度呢?
我们可以借鉴其他公司的规律找自己公司的规律,但是找到的具体规律肯定是不同的。比如 A,B两家公司,都可以建立关于需求评审的模型:
A公司的模型可能是:需求评审的缺陷密度=2/需求评审的速度;
B公司的模型可能是:需求评审的缺陷密度=需求评审的人员水平/评审速度的1/2次方。
即使在同一个公司内不同类型的项目、不同部门的项目,存在的规律也可能是不同的。因此,直接套用其他公司的规律肯定是不行的,不会缩短达到CMMI高成熟度的工期。