国外的一项有关SPI的调查表明,没有很好的对过程改进进行管理造成了至少70%以上的改进失败或挫折!当我们问自己如下问题的时候,能否迅速给出满意的答案——
SPI强调管理,自身是如何管理的?
SPI提供方法论,自己的方法论如何?
SPI说做事要有计划性,自身计划性如何?
SPI倡导风险管理,自身的风险被很好的识别了吗?
本文试图给出一种对SPI自身进行管理的方法:“以项目形式管理SPI”。
以项目形式管理SPI通常分为如下五步骤:
第一步 体系诊断
第二步 方案设计
第三步 项目策划
第四步 过程管理
第五步 项目验收总结
第一步 体系诊断
诊断是一切过程改进和管理咨询的前奏,对于不以取证为目的的软件过程改进来说,这一步尤其重要。
我们常讲“理论联系实际”,诊断就是实现此种联系的必要步骤。
“过程诊断”和“过程审计”有着某种程度的相似性,通常的方式为面谈、文档查阅、检查表填写等形式。
典型的基于CMM的检查表举例如下:
等级二 可重复级提问单
软件项目跟踪和监督
典型的SPI诊断开销大约为2-3人日,这和组织的成熟度,组织的历史长短,管理和业务的复杂度都有关系。
对诊断过程的漠视是自顶向下改进策略的最大弊端。
第二步 方案设计
在了解了组织、项目的实际状态以后,就可以有针对性的提出解决方案了,这一步骤称为方案设计。
面向中小企业解决方案范例之一:
在以上方案中,我们可以看到主要的元素来自于CMM、SEBOK(软件工程)、good practice (最佳实践)。这种结果是与该企业的如下现状相适应的:
首先,该企业没有形成基本的软件工程流程;
其次,项目没有生命周期的概念,无明确启动和验收点,正如其项目经理所言“我们的项目结束点要等到下一起项目已经开始,本期项目不得不结束了,才会出现”;
再次,该企业整体管理基础薄弱,资源提供不充分,这种情况下,在大企业顺理成章的事情可能在这里都是问题,所以需要大量的变通和折衷策略,这些都被归纳在GOOD PRACTICE 中。
诸如此类的方案设计,存在两个裁减特征,一是横向裁减,可以在打破现有知识体系的基础上,创造性的构建新体系;其二是纵向裁减,比如对于CMM的具体KPA,也可以分两步或更多步来达到要求。所有这些裁减都会带来更多的灵活性。
SPI方案的编制需要涵盖如下内容:
〉本组织软件过程改进的历史
〉过程诊断
诊断方法
诊断结果和差距分析
〉改进方案
总体目标
总体工程化管理系统设计
详细改进措施
〉资源需求预测
〉计划进度概要
前提和承诺
资源需求预测
〉风险
〉里程碑
附录:过程诊断提问单和原始数据
第三步 项目策划