软件工程过程小组(SEPG,发音为"S-E-P—G”,或者“sep-gee”,或者“see-peg”),协调各种过程改进活动。SEPG相当于管理层的代表,负责过程改进活动的实施。一个大型组织的SEPG应该有一个全职经理,一些过程改进专职人员,一些每年轮换的兼职参与人员。过程改进专职人员经常来自测试和质保人员,但是至少应有部分过程改进专职人员有丰富的开发经验,项目管理经验也同样重要。这些资格保证了SEPG成员比单纯的缺乏开发实践经验的理论专家更具可信度。SEPG成员应该掌握大量的关于过程评估、过程改进框架、过程和规范文档的书写、如何影响变更的知识。人员和组织因素方面的变更管理至少和过程改进的技术特征同等重要。工作富有成效的SEPG成员应该是有组织性、有耐心、适应能力强的有效沟通者。他们可以根据沟通对象的不同个性来调整沟通方式,他们是富于技巧的促进者,能够在敏感问题上引导不同的参与者通过讨论得到预期结果,而这些参与者可能最初反对过程改进或者不要参与过程改进活动。SEPG对于过程改进活动的所有相关人员而言,都是一个巨大的资源。他们的专业技能,人际关系都能够促进变更的发生,因为过程改进活动的参与者知道在遇到问题时应该到何处寻求帮助。
SEPG小组的职责通常包括:
(1)制定过程改进的战略计划和战术计划;
(2)领导或参与过程评估;
(3)协调促进各工作组;
(4)收集业界非常好的实践的资料和著作;
(5)积累组织的过程财富,如规程、模板、检查清单、工作样品,并在组织范围内共享;
(6)评审工作组创建的新过程、规程和模板;
(7)领导组织范围内的过程改进活动,如度量和培训。
并不推荐SEPG小组定义所有的新规程,然后强加给项目组执行。这样一种典型的“隔墙扔物,砸中行人”的方式,总是不可避免的最后要失败。推荐的方式是,由与规程定义相关人员组成工作组(“过程行动小组”或者“过程改进小组”)来制定规程。一个工作组由一群项目组代表临时组成,通常是3-6人,负责一个特定的改进领域。他们工作的可交付成果一般包括该领域当前过程的描述,新过程的定义以及其他的过程财富。工作组的努力也许仅仅包括对一个项目实施新过程,也许是为整个组织定义新的过程。
工作组的工作范围应该限制在三个月可以完成的工作量以内。如果延续时间太长,那么工作成员们会逐渐失去热情,有可能出现反复。在每一轮新的改进活动中,工作组可以重新组建或者再度召集原班人马。尽量让所有的项目成员和项目经理都有机会在某个时候参与到工作组来,当然不必在一次完成,这样让他们对于新过程有一种拥有感。SEPG小组成员可以建立工作组并负责工作组的第一次会议,但是,项目开发小组应该在SEPG小组的培训阶段结束后,自主管理过程改进活动并保证工作组的持续性。
6 计划过程改进的行动
一切工作皆项目,软件过程改进活动也应该按照项目的方式来运作,应该与任何开发项目一视同仁,提供同样的资源和结构。一个整体的过程改进战略计划,和每个工作组的过程改进战术计划,都是十分必要的。有些人不乐意作计划,将这看成浪费时间的文牍主义和额外的负担。然而,写计划本身并不困难,困难的是制定计划中的思考、询问、聆听、理解和协调等等步骤。实际上,写计划只是抄写而已。即使是对于最简单的项目,计划也能够保持项目按预期路线执行,并且提供了可以用以跟踪进度的参照。
过程改进战略计划对组织的长期过程改进活动给出了指导,组织的过程改进经理通常是战略计划的主要作者,而SEPG成员和其他高层经理评审并且批准战略计划。
每个工作组应该按照标准的模板来编制行动计划,描述工作组的待实现目标以及如何实现的思路。行动计划应该确认:
(1)验证过程变更是否达到预期目的的度量标准;
(2)过程变更在组织内的应用范围;
(3)参与者的角色和他们承诺投入的时间;
(4)工作组何时向何人报告;
(5)外部依赖或者风险;
(6)所有活动结束的目标日期;
(7)行动条目的列表,对每项行动条目指明负责人、截止日期、目的、资源和交付成果等。
每个过程改进战术计划的行动条目限制在9条以内,并且每条都应该是特定的、小规模的。这样,可以帮助控制工作组的工作量在3个月内,而不是对于参与者来说是遥遥无期。
过程改进战略计划模板:
1. 目的
1.1. 首字母缩写词
1.2. 参考文档
2. 概述
3. 执行概要
4. SPI启动的业务事项
4.1. 商业基本原理
4.2. 指导原则
5. 过程改进目标
5.1. 短期目标
5.2. 长期目标
6. 假定、风险与障碍
7. 过程改进相关的组织机构
7.1. 组织范围
7.2. 管理层决策委员会
7.3. 软件过程改进经理
7.4. 软件工程过程小组
7.5. 工作组
7.6. 过程经理
7.7. SPI顾问
8. 成功准则
9. 改进议程
9.1. SPI活动选择
9.2. 当前SPI活动
9.3. 过程改进路线
7 运筹帷幄,决胜千里
过程改进的领导者应该担负决策的功能,引导着组织首先承认需要更好的实践方式,然后成功的实施新实践。这种决策要求对于目标坚定不移,清楚知道自己的目的所在。不断改变的目标会使参与者们感到困惑,他们会最后拒绝行动:“等你拿定主意后,我们再干吧。”避免被CMM更高级别的目标所吸引分心,而集中精力于如何提升业务成效,集中精力于有选择的创造性的应用当前CMM级别所提供的指导。认真的对待过程改进活动,并且保证所需的资源提供。一个组织,如果在软件过程改进上投入的资金只占总预算的3%-4%(包括培训、评估、咨询、SEPG人员支出、工作组经费等),那么它的所谓SPI只不过是随便试试、浅尝辄止。如果资金投入比例达到7%-8%,那么该企业对于SPI就是严肃对待的;而10%的比例就意味着企业对于SPI“只许成功,不许失败”的一种承诺。跟踪实际花费的时间,确定计划的工作是否如期完成,现有的资源是否能够满足改进活动目标的需求。承认学习曲线存在的现实,短期内工作绩效有可能下降,因为你需要学习新的方法,并且将新方法和个人的工作过程结合起来。对于个人而言,要把新的更好的工作方式真正吸收掌握需要时间;同样,对于组织而言,要把新的实践制度化并且成为企业的例行工作也需要时间。你在SPI上花费的时间和金钱都是一种长期的为组织成功的战略投资,那些被占用的资源也不能在当前的项目中使用。对于每个小的进步都应该感到高兴,并且应该保持下去,让明天的工作始终比今天做的更好。这就是过程改进的全部。