很多公司在做CMMI,很多公司也在重复这种错误:“证书优先,机械照搬,文档泛滥,似严实宽。”!
1.证书优先
CMMI的证书成了一个敲门砖,没有这个证书难以承担国外的项目,没有CMMI的证书就难以在国内一些项目的竞标中获胜,也无法获得政府的补助,于是很多公司都选择了要在短时间内获得CMMI证书。证书只是过程改进的附属物,而过程改进的实效才是其真正的价值。为了尽快拿到证书,企业往往忽略了实效,从形式上满足了模型的要求,但是从实质上却差的很远。
根据SEI的报告,自1992年以来,从等级1到等级2的达到时间的中间值为19个月,从2级到3级的中间值为19个月,从3级到4级的中间值为24个月,从4级到5级的中间值为13个月。在中国根据调查,从1级到2级的平均时间为14个月,从1级到3级的平均时间为18个月,到4级的平均时间为32.6个月,到5级的平均时间为34个月。
CMMI的基本精神是循序渐进,循序渐进就是要逐步改进,逐步改进就要立足实际,就需要时间,而非一蹴而就。
2.机械照搬
企业在实施CMMI的时候,为了满足模型的要求,在描述自己的过程时,习惯于照搬模型的描述。最典型的例子是PMC的描述,模型中描述了10个实践:
SP1.1 监督项目的计划参数
SP1.2 监督承诺
SP1.3 监督风险
SP1.4 监督数据管理
SP1.5 监督项目相关人员的参与
SP1.6 执行进展评审
SP1.7 执行里程碑评审
SP2.1 分析问题
SP2.2 采取纠正行动
SP2.3 管理纠正行动
于是企业就按照上面的10个活动进行了描述,但实际上项目的监督与控制活动主要是:
(1)每天检查项目组成员的工作情况:进度,质量等
(2)周例会
(3)阶段审查与里程碑评审
(4)事件触发的跟踪与管理
在这4个活动已经包含了模型中要求的10条,按照企业的实践来描述这个过程是最自然的,是项目经理最容易理解的,而不需要去机械地按照模型的实践去描述。
机械照搬的根源在于缺乏软件工程的经验,不能真正理解模型的要求。在模型的构件中,只有目标是必需的,实践是期望的,子实践是解释说明的。所以首先要满足模型里每个目标的要求,目标的达成是根据实践的执行情况来判断的,模型里给出的实践是可以替换的。只要能达成目标,采用什么实践都是可以的。CMMI采用SCAMPI评估方法,评估组的成员根据专家判断给出是否达成目标的判断,是依赖于专家经验的,所以在评估方法中对评估组成员的工程经验有明确要求。对于企业来讲,只要能达成目标,就没有必要一定照搬模型。
CMM最初的实践来源基于为美国国防部供货的软件厂商,这些软件厂商的企业规模是比较大的,软件项目组的人数也比较多。对于规模比较小、管理基础比较差的公司,有些实践的并非一次改进就可以达成的,可能需要循序渐进的完成。
ISO组织在借鉴CMM模型,起草标准ISO15504时,将软件企业的成熟度划分为了6个等级而非5个等级,实际上就是规避了CMM门槛太高的问题。CMMI本身也在逐渐更新,从CMM1.0、CMM1.1、CMMI1.1到CMMI1.2,新的成功的软件工程实践也在不断地总结出来,比如每日构建等实践。这些实践都可以充分的吸收到企业的实践里面来。