UML软件工程组织

软件能力成熟度模型评估CMM的误区
来源:希赛网
为保证软件开发的有序、高效、高质和可控,曾尝试过各种方法,从实施ISO-9000标准认证到实施软件能力成熟度模型(CMM)评估,但是收效似乎不大。CMM是国际上公认的、最成熟、最有效的一种提高软件。

工程化水平的方法和标准。CMM模型划分为5个级别,共计18个关键过程域、52个目标、300多个关键实践。

以清华鼎新公司为例,它是国内第一家通过CMM二级评估的企业,鼎新公司是在和IBM公司合作的Java构件的项目中通过这项评估的,耗时近3年。联想公司在CMM评估中,公司专门组成了由十个人组成的过程改进的小组,实施时间持续了一年多。从公司所花的费用来看,十个人的工资+请评估专家+动用公司的其他资源,肯定超过了几百万。

当前,国内CMM评估实施主要有以下三个问题:

一是评估费用非常高,如国内某公司仅通过CMM2级的评估花费大约150万人民币;

二是时间非常长,在实施CMM的过程中,将过程复杂化了,增加了软件开发的难度和复杂性,整个过程操作起来非常困难,尤其是第一次评估;

三是效果不是理想,很多评估形式大于内容,很多评估项目、文档都有杜撰的痕迹,因此效果自然大打折扣。而且,评估都是和个别项目联系在一起的,如何在整个公司内推广是一个非常大的问题。

正如前面所述,CMM是一个相当复杂的标准,它为如何改进软件开发过程提供了很好的指导,它规定了应该做哪些事,没有规定应该如何去做。这种方法给客户留下了很大的空间来开发适合自己的软件过程、规范和标准,但是,也对客户提出了非常高的要求。而且,CMM标准本身就是一个理想化的东西。CMM有18个关键实践域,每个关键实践域的第一条基本原则就是,必须为这项管理/技术工作提供充足的资金、时间和资源。这条原则却是绝大多数企业无法满足的。

国内企业在进行CMM评估时,存在很多误区。例如,有的企业将CMM当成解决一切问题的圣经,没有很好地理解CMM的内涵;有的企业盲目追求轰动的市场效应,为了获得所谓的“国际市场的入场券”,没有扎扎实实地进行企业软件工程能力的提高,纯粹是为了过级而过级,通过评估后,所有的开发过程基本上又回到原来的状态,完全违背了CMM的思想。

绝大多数企业希望通过CMM来提高自己的软件工程化水平,但却无从下手。其中,很多企业在准备实施CMM的初期,就被其繁琐的过程和高昂的费用所吓退。每一个采用传统的方法实施CMM认证的企业都需要“大动干戈”,首先是全公司的培训;然后,把项目停下来补文档;最后,准备各种各样的问题和答案,准备应付评估师的随时提问,闹得整个企业不得安宁。因为即使CMM二级也有近百种实践要求,就是每个人培训一个星期,他还是很难记住这些操作。短时间参加CMM培训的人员的一个最显著的特征就是迷茫,不知道该怎么去实施,好像以前在开发软件方面还有一些心得,培训完后,就完全不知所措了,更别提将这些管理要求有机地结合到一个项目里去了。

这种做法的后果可想而知,这就是为什么很多企业在通过了评估以后,又回到原来做法的原因。总而言之,传统的CMM实施方法要求按部就班地进行,不仅周期长,对人员和经费要求高,而且,实施后效果保持难度很大。因此,如何真正快速有效地实施CMM,提高软件生产率是一个亟待解决的难题。

 

版权所有:UML软件工程组织