有一句非常有名的话:所有模型都是错误的,只有部分是正确的(all models are wrong, some models are right)。也就是说,我们不能100%地将自己企业的未来和命运托付给某个咨询公司和某个模型,然后就安心地等待奇迹发生。
CMMI是Humphrey的知识汇集,主要是IBM的知识汇集,特别是IBM大型机的知识汇集。全世界CMMI5级的公司很多,并不是每个企业都能提供优秀的产品,都是市场的领先者;相反全世界优秀的公司很多,几乎没有几家是CMMI5的。
CMMI模型被批判的最大不足之处,忽视了市场交付压力和竞争对手的压力。CMMI模型原本是美国国防部在外包军事软件的时候,对于承接单位能力的评判,然后逐步推广到民间企业中来。
很显然,国防部的软件的交付日期是不会经常变动的,国防部是没有很多竞争对手的,需求是稳定的,因而承接国防部软件开发的企业自然不需要考虑市场交付压力,不需要考虑市场需求的变化,不需要考虑竞争对手突然提前推出产品等因素。
而在实际的竞争环境中,这些都是不得不考虑的。很多时候,市场用户需要的不是最高品质的产品,而是最快交付的,提供了有吸引力功能的“质量尚可”的产品。
马克思同样为人们提供了一个历史发展的模型,姑且不论这个模型本身是否准确。但是不同的国家在引入这个模型的时候,必须也必然会根据自身的国情进行必要的修正。比如列宁对俄国十月革命和帝国主义理论的解释,中国对中国特色革命路线和社会主义建设路线的解释等。
我们可以退一步假想,政府和企业从众多模型中选择了CMMI模型作为公司过程改善的模型。
CMMI只说明了what to do,没有说明how to do,更没有说明why should we do?即:CMMI本身并不包含具体的软件方法学,不能帮助企业理解各个具体的方法学。