昨天和朋友聊CMM,其中发了一些感慨,记录下来。
在James Bach的“The Immaturity of CMM”一文中,提到了CMM的种种不足,Weinberg也是对CMM提出质疑的重要一方。
我认为,
所有一切的源泉,都在于把CMM搞成了应试教育。
搞清楚一个问题必须看它的根源。CMM来源于DOD对承包企业的一个资质评价。因为双方要做生意,但互相之间又不了解,我想请人来做这块软件,首先要对这几个候选者能否做好有一个大致的评判,怎么评判呢,以什么标准评判呢?
作为一个研究机构,SEI来给出这个评判标准非常合适。CMM作为一套评判企业软件开发过程能力的问卷,应该是非常成功的,SEI提供的各种成功的CASE数据可以作为证据。因此CMM也获得了空前的成功和流传。
但“CMM只是一套试卷”这个最初的出发点导致了James Bach一文中提到的CMM的众多不足:
1) has no formal theoretical basis
2) has only vague empirical support
3) reveres process, but ignores people
4) reveres institutionalization of process for its own sake
5) contains very little information on process dynamics
6) encourages displacement of goals from the true mission of improving process to the artificial mission of achieving a higher maturity level.
请容我一一分析:
1) 如果只是一套试卷,想必没有坚实的理论基础是可理解的了;
2) 没有人根据一套“五笔输入”的考试试卷来学习五笔字型;
3) 4) 5) 是对试卷内容上的垢病了;
6) 典型的应试教育后遗症;
从这个出发点来看,对现在国内很多地方实施CMM效果并不理想,也就不足为怪了。专业一些说,CMM只是一个过程评价模型,而并不是过程实施的指导模型。应该说,SEI已经认识到CMM在可操作性上的不足, Humphery主持开发的团队软件过程TSP(Team Software Process)和个人软件过程PSP(Personal Software Process)是面向开发小组和开发个人对CMM进行的过程的微观优化,对CMM的实施提供了很好的帮助,但是,TSP和PSP只是对过程进行细化,并没有解决CMM与工程过程相结合的问题。另外,SEI还曾制定了SPF(Software Process Framework),希望提供一个设计、分析、评审软件过程的指南,以保证过程符合CMM的要求,效果也并不理想。
而国内在实施CMM中发现的问题在于什么呢?就是:CMM是一个考卷,但问题这是一个
开卷的考试,结果想抄近道的人们希望根据这个考卷来作过程改进方面的工作,这是典型的应试教育思想,从而导致出无数的问题……针对这个,我的建议就是,软件企业在建立组织标准过程、改进过程的时候真正以提高组织的开发能力为目的,这个时候最好把CMM抛在一边,或者说“心中有CMM”,但不要老挂在手边,嘴边。在过程建立起来,run起来之后,某个阶段,可以成立组织内部的评价小组等进行CBA-IPI,根据过程的现状来答CMM这个问卷,看看还有哪些地方有遗漏,有不足,需要改进。然后有针对地进行下一步的过程改进工作。
总结我的观点:CMM只是评价过程能力的一套试卷,用它来评价和改进组织的过程能力都很好,但不要试图用它来指导组织的过程建立。一句话,不要搞应试教育。
发表于 @ 2004年12月13日 20:31:00|评论(loading...)|编辑