实施CMMI3有感:CMMI绝对是软件公司的特大毒瘤!
公司实施了一段CMMI3,很有感触,总结一下:
1 CMMI文档过多过滥
抽象看,好像CMMI的文档每一项都能说出它的用处来,但为什么这些“有用”的文档却不能在软件开发实践中起到促进作用,反而成为一种累赘呢?可能有以下几点:
1)现实中这些“有用”的文档都只是可能有用,而非一定有用。而且每份文档能起到作用的概率都很小,只是小概率事件。为了应对大量的小概率时间,而写大量的文档,付出相当大的工作量;即使这个小概率事件在一个较长时间内发生了一次,CMMI文档为此节省的成本,一般也无法抵消大量文档编写导致的成本升高。更何况不用CMMI也要写必要的文档,这个小概率未必就一定造成损失。
这就好比,每次赶飞机都提前2小时到机场以避免误机一样,坐一千次飞机耽误了2000小时。另一个人每次都提前三十分钟到机场,虽然偶尔有一次误了机,导致的损失也比不上2000小时的时间损失。
2)项目开发人员都不是作家,没有几个人有下笔成章的文笔能力。编写文档往往本身成为一个大的时间开销。假定每个人都有随手把心中所想转化为文档的能力是不切实际的。
3)软件开发人员的工作成效往往是在特定时段创造的,就是通常大家说的“灵感来了”。这种状态一旦被打断,下次进入这种状态就比较困难,勉强去做可能比高效状态效率低得多,出错概率还高。CMMI繁琐的文档和会议常常打断开发人员的思路,客观上延长了项目开发的周期,提高了出错量。
4)CMMI把高度创造性的开发过程当成机器的开动运转和停止,忽视了人的主观能动性和人在不同状态下工作效率的很大差异,必然遇到开发人员的普遍抵制。
2 CMMI定位是精细化管理,需要过程、交付、量化数据来支撑,如果还是依赖人员的检查、海量的Excel文件汇总,势必导致技术人员抵触,这样CMMI必然流于形式,所以结合业界成功实施CMMI公司的经验:CMMI必须要借助IT手段来推行。否则就是一大祸害。