UML软件工程组织

软件过程改进战略策划 
作者:Frank Koch、 Emanuel R. Baker 博士(选自系统分析员之窗)
介绍 
如果我们把软件过程改进看作一个项目,象其他项目一样,它也要有一个好的计划,这个计划不但要满足公司的商业目标,还要包含过程改进战略和具体的实施步骤(子项目)。 软件过程改进非一日之功,急于求成必将导致失败;因此,如果不进行系统的战略策划而盲目进行过程改进,只会浪费时间和资金而不会取得好的效果。有了有效的战略计划,我们才能在这项长期的活动中获得管理人员、开发人员和公司的所有者的理解和耐心的支持。 
那么如何进行战略策划呢?本文介绍的两位主任评审员开发的过程改进战略策划的方法,已经在很多软件企业成功实施。其中应用的主要技术包括:战略决策、优先级排序、过程改进与过程评审。 
通常,战略策划由一个小组负责,小组里要包括参与了过程评审的人员以及其他策划工作的受益人,另外高层经理的参与是非常重要的;策划的方式是在负责人的指导下以讨论方式进行。实践证明,以下步骤非常有效: 
针对不同的改进点分别制定改进方案 
方案评价 
将改进方案排序 
估计并制定实施的进度表 
获得管理层的承诺 
具体介绍如下: 

1 制定过程改进方案 
评审结束后,策划组要对评审结果进行分析,筛选出十个左右的改进点;然后将每个改进点都作为一个改进项目,分别制定两到三页的改进方案。方案主要包括以下内容: 
现状的简单介绍 
改进方案介绍 
预期收益 
实施负责人 
对成本、资源和项目周期的估计 
方案中还应该说明建议使用的实施方法,例如是否进行试用等。估计成本时要包括:过程定义的时间、试用期间人员培训的成本、处理反馈意见的时间和重新试用的成本。 
因为所有的改进工作不可能一次实施,所以接下来我们要确定各个改进项目的优先级,具体步骤如下: 
2 评价各个改进方案 
我们怎么确定改进活动的优先级呢?主要是通过考察三方面的因素,即:对商业目标的影响、风险和在CMM中的定位。 
有些公司还会对各方案进行成本/收益分析(例如,考察投资回报率),但是1级或2级的企业往往没有充分的历史数据,因此无法准确估计过程改进的无形收益;4级和5级的企业通常就能作到这一点,3级的企业也有可能作到。 
2.1 对商业目标的影响 
对商业目标的影响是指某项改进工作对总体的战略目标的影响。 
首先,策划小组要和主管的高层经理进行讨论,明确公司商业目标、并分析确定决定商业目标能否实现的5-7个关键成功因素(CSFs)。如果公司没有明确成文的商业目标,小组的首要工作就是确定商业目标;如果商业目标已经非常清楚、明确,并且形成了文档,策划小组的核心工作就是分析关键成功因素并每个关键成功因素确定权重。 
接下来,我们要对每项改进活动进行分析,按其对每个关键成功因素的贡献进行评分,然后将结果进行加权平均,作为最后比较的一个依据。 
2.2 风险因素 
风险是指实施改进工作的困难程度,我们要考虑实施某项改进是象赌博一样冒险么?结果是不是有一定的可预测性呢?通常,风险的来源主要有三个方面:项目的规模、结构的问题和技术。 
项目规模风险,是指实施的人工成本,一般人工成本越低风险越小。 
结构方面的风险,主要有以下因素 
参与该项目开发的功能组的数量 
项目的复杂程度 
制定解决方案的人员在该过程域的经验是否丰富 
对改进中带来变更,预期存在抵触行为 
技术风险,主要包括以下方面: 
需要改进的软件工程过程的成熟程度 
能否获得充分的新技术方法的培训 
工具和其他支持条件的成熟程度 
2.3 CMM中的定位:
是指某一改进活动对达到更高能力成熟度等级的贡献。权重是按照KPA所属的能力成熟度等级来确定,比较简单。我们可以初步确定:目前所处等级的下一个能力成熟度等级的KPA权重最大且相等,其后按顺序递减。各改进点的分值按其对个KPA的影响确定,有些改进点可能影响多个KPA;另外需要注意,各个改进点对某一个KPA的影响总值不能超过100%。 
接下来,我们还可以根据评审结果将下一个成熟度等级的KPA进行划分,看看哪些更重要。评审中,大家达成共识认为对组织影响最大的问题所对应的KPA应该获得较高的权重。 
3 对改进方案进行排序 
进行了以上分析之后,我们按照分值对各个改进方案进行排序,总分的计算方法如下: 
总分=(权重1)(对商业目标的影响)+(权重2)(风险)
+ (权重3)(在CMM中的定位) 
公式中的得分是按上面介绍的步骤进行处理得出的,权重主要是根据策划小组成员的共识确定的,有些公司认为三方面的因素同样重要因此赋予相同权重,也有些公司认为对商业目标的影响的重要性是在CMM中定位的的三倍,而风险因素是在CMM中定位的两倍。 
这样,我们就基本建立了各个改进项目的优先级,分数最高的优先级最高。 
4 估计实施的进度表 
排序完成后,我们就要考虑各个改进点的依赖关系,根据优先级顺序和依赖关系进行总体战略策划,并制定进度表。有趣的是,优先极较低的改进项目往往是优先级较高的项目的先决条件,因此在进度表中就应该靠前。另外,我们还要考虑实施效果的影响和可视性。例如,对于1级的企业,管理层还没有建立起过程改进的威信,过去给人的印象总是言行不一,那么就要选择风险较低,大家都能看到且有不凡收益的改进项目,帮大家建立信心,即使这些项目优先级较低。 
5 获得管理层的承诺 
下一步,我们要完成正式的计划、提交管理层获得认同和承诺。我们在上面说过,高层管理人员的参与确定关键成功因素是非常必要的,这里,我们要再次强调管理层的重要作用,因为他们要负责批准战略计划、授权启动改进项目并且不断重申对于过程改进的承诺。 
过程改进的总体计划通常包括:介绍(说明计划的目标)、制定计划时所使用的方法、对评审结果和推荐措施的总结,主要内容是各个改进项目的方案和策划活动的结果。当然也应该包括:进度表、相关任务、负责人、项目运行指标以及所需的资源,如:人员、资金、软件、硬件工具等。 
管理人员评审和签字批准,意味着管理层对改进活动人员和资源上的支持和承诺。 
总结 
通过以上的介绍,希望大家对过程改进的战略策划有了一定的了解。我们需要强调的是:成功的过程改进策划是建立在以下的基本原则之上的: 
过程改进与商业目标相结合 
合适人员的参与 
有效的策划方法 
积极沟通、思路共享 
保持整体观念 
我们的很多客户通过实施以上的方法,在评审结束后迅速、有效地实施了过程改进,他们对自己的决策满怀信心、不断向着更高的能力成熟度迈进。

 
 

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