CMM实施中的战略问题
于小葆
(本文转载自软件工程专家网www.21cmm.com)
[url=http://www.21cmm.com/prelogin.asp?page=/bbs/index.asp?Type=C][/url]
影响CMM成功实施的主要原因并不仅仅是技术问题,更多的是实施战略问题。分析众多企业实施CMM的过程,在其CMM实施战略上存在的问题主要有以下三点。
1. SEPG小组孤立工作
企业在决定实施CMM之前,组织一个小组进行研究探讨是很有必要的,但在决定实施之后,SEPG的组成和工作方式将更为重要。考察国内软件企业实施CMM的过程,我们发现,一些企业在组成SEPG之后就让其潜心制定规范,并在完成之后交给项目组实施,其结果是行不通或效果不好,从而导致CMM实施失败。
那么,问题究竟出在何处?实际上,CMM只陈述了要做什么,但并没有讲清楚怎么做?因此CMM的实施必须由有过程管理经验的人员参与,他们应当对软件生命周期各阶段的过程管理都相当熟悉,并且具备软件生命周期各阶段的实际开发和维护经验。没有这些经验,就无法很好地组织和管理开发与维护过程。其次,在实施CMM之后,过程管理工作应在原来的软件开发维护工作基础上尽量透明,这就要求负责软件开发维护的人员,特别是负责人,必须参与过程管理流程的制定,因为原有的软件开发维护经验并不一定能很好地适应现在的环境。只有软件开发人员和过程管理人员很好地协同工作,才可能使过程管理工作尽可能透明化。此外,制定的规范首先必须是切合实际的,最初的规范不一定是最好的,但必须是可行的,然后在持续的实践中不断完善。
2. 全面展开CMM工作
另一种情况是:SEPG提供了一组看来可行的规范,企业据此全面展开CMM工作。企业的愿望是在尽可能短的时间里完成CMM的实施,但实际情况却可能事与愿违。我们知道,CMM2级所有关键过程域之间都有很多联系,并且贯穿于整个软件生命周期。因此,在实施之初就全面展开CMM工作存在两个弊端:其一,在实施过程中肯定会发现所制定的规范本身有许多地方不适,但因为覆盖面太广而不易确定改进点,结果是欲速则不达;其二,过程管理工作在相当长一段时间内可能会掩盖原来基本软件工程中存在的问题,这将增加发现问题、分析问题和持续改进的难度。因此,CMM的实施应该选择一个着眼点,有计划、分阶段、定程度地进行,这不仅不会延长实施周期,相反还会加快实施的步伐,众多企业的成功实践也说明了这一点。
3. 照搬CMM实施模板
照搬其他企业的CMM实施模板是不可取的。首先,CMM实施模板属于企业的知识产权,除非合法获取,否则就是侵权;其次,其他企业的模板未必适合本企业,因为软件产品的特性、开发方法、开发环境、开发工具以及企业文化的不同都会影响CMM模板的适用性,因此根据自己企业的实际情况草拟一个模板远比直接采用其他企业的模板有意义。