软件过程改进的根本目标是软件质量和生产力的提高
在国内,许多软件企业进行过程改进,往往忘记了其根本目的:软件质量和生产力的提高,而把目标放在通过CMM/CMMI的认证,如何通过2级。通过了2级,就想如何通过3级、4级和5级。这实际是抓了芝麻、丢了西瓜。有一组数据可以说明这些问题:
在评估认证之后,72%的组织在过程改进上没有获得成功或收效甚微。
在前三年,有83%的组织放弃了过程改进
未来,有57%的组织放弃了过程改进的努力
只有不到1%的组织以改进的数据声明获得过程改进的成功
为什么有那么多的组织在过程改进上失败了?主要原因有以下几点:
过度重视评估,而没有将注意力集中在过程改进的实现上(兑现承诺)
只强调成熟度的级别,而没有清晰的方向和可度量的目标
缺乏良好的IT基础设施来支持过程改进活动的协调和管理
混淆概念和实践,即追求CMM/CMMI的形式,而忽视了真正的执行
过程改进实施的管理很差
软件过程改进必须为组织的业务服务,必须受公司发展战略的指导。软件过程改进,实际上就是为了提高公司的利润,只有两个目的:不断提高产品或服务质量、不断提高软件开发的效率(生产力)。所以说,
过程改进不是根据一本书写成的一对文档
过程改进是业务的竞争力
过程改进过程中,我们要不断问自己:质量提高了吗?成本降低了?效率提高了吗?开发周期缩短了吗?进度控制更准确了?客户更满意了吗?......而要为这些问题找到答案,只有靠数据、数据,还是数据。例如,每千行代码的缺陷数、进度误差率、软件复用程度、投入产出比、等等。
当许多人在质疑CMM/CMMI 含金量的时候,向大家一再强调过程改进的实质目标,是非常具有现实意义的。John Vu的演讲可以看作是对国内软件业的“CMM/CMMI热”敲响的警钟,对纠正政府某些片面政策(如哪个企业通过CMM 3级,将获得奖励基金50万元)也是有帮助的。在一种务实的态度下,紧急围绕着“质量和生产力”这两个核心,以客户需求为导向,以务实的态度,让数据说话,把过程改进持续进行下去,才是正确的做法。