UML软件工程组织

 

 

过程改进,有道可循
 

2008-03-18 作者:赵越 来源:CSPIN

 

摘要

本文分析了过程改进的基本特征及共性问题,认为过程改进工作可以借鉴通用的管理经验和工具,并且分享了霍尼韦尔技术研发中心的实践经验,最后总结了成熟的过程改进小组应具备的特征。本文包括以下内容:

1.为什么业界同行普遍认为过程改进很难做?

2.共性问题分析及实践分享

3.管理人员的三项技能

4.成熟的过程改进小组应该是怎样的?

5.走向成熟

为什么业界同行普遍认为过程改进很难做?

目前国内业界同行普遍认为过程改进不好做。通过和美国、印度同事的交流,发现他们也面对同样的困难,对此我总结了三个方面的原因。

首先,人们通常把过程改进当作产品开发项目之外一项“额外”的工作,属于重要而不紧急。重要而不紧急的活动很容易被推迟,甚至取消。人们往往会说“这个项目进度紧,就这样做了,我们在下一个项目中再改进”。不去实施过程改进,短期内似乎并不影响企业的正常运营,但是长期下来会暴露问题。如果把企业比作一辆车,过程改进就意味着“一边往前开,一边换轮胎”。我们的确不能把车停下来再换轮胎,我们要在行驶中对车辆进行保养,维修,升级,这是高难度的动作。

其次,过程改进意味着过程改变。无论过程改进面对何种问题采取何种方法,最终人们的工作方式要发生变化才可能解决问题。工作方式的变化可能体现在一个小的环节,例如,在检查单中增加一个检查项,也可能是大的调整,例如,组织结构的变化,新工具的引入,等等。如果安于现状,只是把当前项目按照熟练的套路来完成,这对很多资深员工来说是轻松的事情。过程改进意味着追求更快、更好,要付出额外的努力去分析问题、深入思考,学习新方法。心理学研究表明,多数人容易满足于现状,拒绝变化,因此促使人们改变工作方式是不容易的。

第三,过程改进是一种管理工作,其效果要通过业务部门的产品开发人员来体现。只有项目组的产品开发完成得更快、更好,才能体现出过程改进的价值。即使你自己有一番功夫,知道如何跑得更快,你不能使别人做出改变来按照你的方法跑,还是没有效果。更何况,你不可能在每个环节上都是专家,需求分析、架构设计、代码编写、系统测试,等等,你需要发动大家一起想办法、去尝试。通过影响他人来取得效果也绝非易事。

共性问题分析及实践分享

凡事至少有三种解决办法。无论面对怎样的困难,只要相信这一点,就能想出办法,然后我们根据情景来选择一种合适的办法。下面讨论一些共性问题并介绍我公司的实践方法。

1.“ 重要而不紧急”,列入计划内

把过程改进目标设定为组织级目标,通过目标分解落实到个人,并且对目标实现情况进行绩效考核,这样就使得过程改进不是一件“额外”的事情,而是计划内的事情,并且过程改进不再是某个部门的事情,而是大家的事情。设定目标,考核目标是一种有效的管理工具。国家对于促进企业环保降耗、节能减排也是这样做的。企业不但要实现利润目标,也要实现节能减排目标。

如何设定具体的、有效的过程改进目标需要考虑企业实际情况,可以采用产品缺陷率、生产效率,进度符合性、预测能力、客户满意度等指标。另一方面,评价目标的完成情况需要可信任的度量系统。例如,“产品开发的生产效率提高5%”,就需要对工时、工作量有明确的定义,并且在组织级用统一的工具来收集数据。

2. 如何有效推行新方法、新工具的应用?

首先使第一个试点项目成功,然后再使第二个试点项目成功

有一次老板的老板在听取工作汇报时,让我们说明自己面对哪些挑战,需要他的什么帮助。我介绍了自己在推行新方法时遇到的困难。原来我以为有30个人参加了新方法的培训,这30个人回到项目中就会应用新方法。后来我才知道,事情要是真的这么简单也就不需要过程改进人员了。人们会对新方法有质疑,人们不愿在自己的项目中尝试不确定的方法。培训只是拉开了改进的序幕。对此,老板的老板给出的建议非常简单:最开始的时候你不需要关注所有30个人的应用情况,你只需集中力量保证新方法在一个试点项目中应用成功,然后利用取得的经验再保证第二个试点项目成功。以此类推,取得第三个、第四个试点项目的成功。如果再有人提出质疑,你就可以给他们展示这几个成功案例了。我听完这个建议觉得豁然开朗。其实身边有很多例子都体现了这一管理经验,只是我没有把这样的经验与自己的工作联系起来。比如,中国移动在大规模推出新业务之前会首先在几个省份进行试点工作,试点结束后,总结经验,再全面推出新业务。

有了这样的工作思路,对于每个试点项目还要制定明确的计划。计划应包括:现状是怎样的,预期结果是怎样的,预计时间,什么样的实践特征意味着新方法的应用,哪些度量参数可以用来评价试用效果,等等。
 3. 人们行为改变的四个台阶

心理学认为人们对新事物的接受是一个循序渐进的过程,概括为四个阶段,如下图所示。

 

图1 人们行为改变的四个台阶

我们以如何推行六西格玛为例来说明这个过程。最初大家没有听说过什么是六西格玛,不知道这是什么意思,这时处于第一个台阶“无意识,不做”。当CEO在全员大会上开始宣讲六西格玛,大家对此形成初步了解,知道公司推行六西格玛是为了使客户满意,提高效率,改善质量。但是CEO只讲意义,不讲六西格玛的具体方法,大家还不会应用,这时迈上第二个台阶“有意识,不做”。直到公司引入六西格玛方法的培训,大家开始在课堂上做练习,并且在项目中试用,“我们在使用六西格玛工具”,有些新鲜感,这表明迈上了第三个台阶“有意识,做”。当公司所有员工都会使用六西格玛工具,人们会在解决问题的回议中使用思维图,会在分析用户业务流程时画出流程图,已经成为习惯,就是这么自然,这意味着终于迈上了第四个台阶“无意识,做”。

这个原理对过程改进很有指导意义。首先,我们不再急于求成,无论谁来推行新方法都要经历这样的阶段。其次,遵循这样的原则:一次只上一个台阶。不管进行什么活动来推行新方法,请领导动员讲话,做培训,等等,都要目的明确——你要把大家推上哪一个台阶,然后有针对性地开展活动。

4. 有效的过程并不意味着各种文档和记录

过程的有效性体现在做事的效率和效果,而非完善的文档和记录。一个印度同事曾经问我,“你认为项目组的会议记录是必要的吗?人们有多少机会要查阅以往的会议记录?”我之前没有考虑过这个问题,于是他自问自答。他说现在我们已经有对项目风险、行动事项、重要决定的追踪表格,我们完全可以把会议中识别的风险、待办事项等记在这个表格里,所以再去写会议记录是多余的。他的这番话提醒了我:要学会质疑,不要全盘接受。后来这位同事主持修订了新版本的组织级流程定义,我发现会议记录模版确实被砍掉了。

按照他的思路我重新审视各种模版和检查单。我发现供质量保证人员使用的过程符合性检查单似乎是多余的。质量保证人员的职责是监督执法,检查既定的流程是否被遵循。这类似于法官的工作。我们回顾一下法官是如何宣判的,他们说某人违反了某条法律,并没有说某人违反了某检查单中的某一项。所以项目计划就是过程符合性检查的依据,因为项目计划包括了任务分解,方法或工具的选择,产出物的定义等事项,项目计划体现了项目组对组织级流程的裁剪。例如,如果项目任务分解包括了代码评审活动,最后项目组没有做评审,质量保证人员就应该指出这一点。可见,不一定对每种检查都要有个检查单。

总之,文档和记录只是为了实现管理目的,而不是为了应对认证。我们需要花心思把各种文档的模版设计得简洁易用。

5. 过程太厚没人看

我们公司的组织级流程定义放在公司内部网上。如果把所有的过程描述、模版、指南、检查单、示例都打印出来,我估计可以有枕头那么厚。很多新员工对组织级流程的第一印象是不错的,“嗯,大公司遵循流程”。但是他们在项目中遇到问题想从过程资产中寻求帮助的时候,就会发现信息太多,似乎都有道理,而把这些方法都用到项目中又没必要。可是组织级流程没有对必须要做的活动给出明确的定义,因此大家觉得流程太重,而又不知如何裁剪。大家对过程资产有了这样的印象后,也就不愿去看了。以至于其中一些真正有价值的信息也被人们忽略了。我参加过咨询公司关于EUP(Essential Unified Process)的培训,觉得他们给出的一个比喻很形象。这样厚重的流程好像一锅汤,你无从选择喝其中的哪一部份,因为它不可分离。你要是一股脑把汤都喝下去也不受用,会撑坏肚子。

受EUP过程卡片的启发,我们决定从一锅汤中提取有营养价值的成分放入一个个小盘子中端出来,供大家有选择地品尝。意思是提取关键活动,对每一个关键活动做简要描述,做成手掌大小的过程卡片,这套卡片成为组织级过程资产的索引。人们首先熟悉整套卡片,对关键活动有了初步了解再根据需要去过程资产中有选择地学习。如图所示,需求工程中关键活动做成的卡片。

图2 过程卡片示例

过程卡片不仅作为组织级过程资产的索引,而且为过程裁剪提供了依据。上面的例子展示出项目组对过程的裁剪可以通过三个方面体现:对于活动,方法/工具和产出物的选择。
管理人员的三项技能

尽管过程改进在国内是个新兴的专业,我们可以借鉴通用的管理经验和工具,例如前面提到的目标分解,先试点、后推广,等等。无论处于什么行业,这都是普遍适用的。关于管理人员的技能发展也有一个模型可供借鉴,如图3所示。

图中的三根线代表管理人员应具备的三种技能。

专业技能:使用某一专业领域内有关的工作程序、技术和知识完成任务的能力。

人际技能:与处理人事关系有关的技能,即理解、激励他人并与他人共事的能力。

概念技能:把握方向、综观全局、制定大政方针和战略决策的能力。概念技能包括感知和发现环境中的机会与威胁的能力,理解事物的相互关联性并找出关键影响因素的能力,以及权衡不同方案的优劣和内在风险的能力,等等。

 

图3 管理人员的技能要求

过程改进经理作为公司的中层管理者,对其人际技能的要求是比较高的。在实际工作中,搞技术出身的同志却往往忽略这个方面,所以这里就人际技能谈谈自己的体会。

过程改进经理在公司内部要和三方面人员进行沟通:总经理,中层经理(主要是业务部门经理),以及工程师。下面逐一分析他们对过程改进工作的态度。一般来讲总经理都能够理解过程改进对于公司长期发展的重要性,在各种场合都会对过程改进工作表示支持的。业务部门经理有多项目标要完成,包括营业额目标,人员能力提升目标等,过程改进只是目标之一,因此业务部门经理需要对各种任务进行平衡,充分利用有限的人力、物力和时间资源来完成各项任务。工程师在项目进度压力不是很大的情况下,在项目之余会乐于学习一些新方法、新工具,所以他们认为过程改进对他们提高效率、提升个人能力是有好处的,他们期待能够得到帮助来缩短学习曲线。

面对三方面人员各自的关注点,过程改进经理与他们的沟通要有针对性。对于总经理,只需说明新方法概况,可能带来的好处,试点项目的选择,初步计划,包括大致时间进度,涉及的人员等,无需过多细节。面对业务部门经理,除了上述要点之外,还要说明这项改进工作如何与他们的目标挂钩,这一新方法不仅是为了过程改进,还能帮助实现其他目标,并且就投入多少时间,涉及哪些人员,改进到什么程度进行讨论。如果与总经理和业务部门经理都已经达成共识,再与工程师来讨论新方法的推行就会很顺畅。大家都清楚这已经是一项计划内的任务,需要投入资源,有人关注结果。于是思维活跃的工程师会很快进入状态,开始讨论如何把事情做好。反之,如果不能很好地抓住他们的关注点,就会花较多的时间才能达到沟通目的。

我的体会是,搞定中层是落实工作的关键。平时就要和这些经理搞好关系,不要只是谈工作的时候才跟人家说话。这个道理和做销售一样,人家认可了你这个人,才能认可你推销的产品,推行的方法。以前有位经理一见到我谈工作就显得有些拘谨,不是平常自然的状态,于是我也变得紧张起来。我想我得多和他联络感情,于是主动约他一起吃午饭,谈谈他的老婆、孩子。通过增进了解,我觉得可能是因为他工作、生活压力大才会在谈工作时显得拘谨,而并不是因为对过程改进有意见。

除了讲究沟通方法,我们自己本身的热情也是影响他人的重要因素。你自己对某方法、某工具了解很多后觉得非常有价值,很真诚地分享给别人,别人也乐于接受你的观点。我们公司有一些技术骨干就能够很有热情地做知识介绍和经验分享,可以达到很好的效果。我曾经被公司一位同事的热情宣讲打动过。这位同事负责推动创新及专利申请工作。某天下班时我们一起坐电梯,在电梯下降的短暂时间内他不失时机地向身边另一位同事介绍TRIZ方法。他说TRIZ方法堪称发明的点金术,是一位原苏联的天才科学家对大量专利申请进行研究后总结出的原则。都下班了还谈工作,我当时有些不以为然。但是走出电梯后我忽然想起这位同事曾经就TRIZ方法给我发过邮件,我当时没有回应。如今他在电梯里又提起这一方法,我意识到我应该去学习一下。过了几天我主动向他请教,他给我讲了一个多小时,后来我们又讨论如何把TRIZ方法与产品开发联系起来,从而鼓励项目组应用。

现在有很多咨询公司都提供这方面的培训,我们公司也引入了一些为期一到两天的课程,例如,“有效沟通和影响力”,“会议管理”,等等,对实际工作还是很有帮助的。

成熟的过程改进小组应该是怎样的?

CMMI用于评价组织级能力成熟度,那么如何评价过程改进小组的能力成熟度呢?Watts Humphrey 先生这样总结,对于过程改进小组要求产品开发项目组所做的事情,如果他们自己都能做到,那就是好样的。项目组要进行项目计划,收集数据,追踪状态,风险防范,技术创新,缺陷预防,等等。相应地,过程改进小组要有过程改进计划,收集投资回报率等数据,追踪改进状态,风险防范,为提高自身工作效率而有创新,进行经验总结,等等。基于这一原则并结合我公司实践历程,我把成熟的过程改进小组概括为三个特征:计划性、系统性和创造性。

计划性:组织级要有一年内的过程改进计划。该计划体现了公司管理层对改进什么问题,如何改进的共识。有了这个计划,过程改进人员不会太轻闲,不必经常思考“我们到底该做些什么有价值的事情呢?”,他们只需集中精力去执行计划。回想我在2003年刚开始从事过程改进工作的时候,就处于缺乏计划性的状态。看着项目组的同事忙忙碌碌,我暗自琢磨“我该做些什么?”

系统性:体现为所做事情的关联程度以及评价机制的建立。一方面,任务可能有很多,但都是为了实现少数几个目标而展开的。另一方面,每项改进计划都要包括基线数据和预期结果,最终将实际结果与基线数据比较,看是否真的有进步。如果过程改进人员忙忙碌碌,而又看不到效果,就意味着缺乏系统性。我们在2005年、2006年的时候,工作的系统性就不是很强。当时确实做了很多事情,引入培训,引入工具,推行项目管理的新模板,到处找人做每月一次的最佳实践分享… …事情头绪很多,写出的工作月报显得有些零碎,做事的效果说不清。所以过程改进人员在工作缺乏系统性的时候,老板往往给出这样的绩效考评“态度好,结果有待提高”。

创造性:有新举措才能实现持续改进。新举措可以是技术的、管理的新方法、新工具。因为面对存在许久的问题如果不采取新举措是不能有效解决问题的,旧的方法只能带来旧的结果。现实情况是人们通常能想到好点子来解决问题,但不一定能做到。想到,做不到,还是无效。我自己就有这样的体会,曾经有好主意跃入头脑,但是没有去跟进,直到有人再次提出同样的方案,我意识到我也这么想过。把好主意纳入计划才可能落实。除了能够想到,做到,还要巩固。新举措在一段时间后要固化为日常工作流程,这才得以实现持续改进。

走向成熟

回顾自己的职业发展历程,我很幸运地从一个工程师转变为过程改进人员。2003年年初,总经理决定招聘一个过程改进经理,让我来写职位描述。我期盼自己能够担当这一职责,但也深知自己在经验和技能方面的不足。当时的总经理是个印度人,他最后发布的职位描述中有一条是“8年过程改进实施经验”。我心想他不了解中国软件行业现状,这样的人很难招进来。因为符合条件的资深人士并不多,而且这些人更倾向于在咨询公司工作,不会选择来企业。果然,花了半年时间我们没有找到合适的人。虽然我没有主动请缨,后来有幸被赋予这一职责。

如今我已经在公司积累了5年过程改进实施经验,自认为在经验和技能方面有了很大进步,可是至今还没有满足当年那个招聘条件——“8年经验”。后来和印度同事交流很多,我明白在印度找一个8年经验的过程改进经理是很容易的。据我观察,我们公司在印度的过程改进团队平均年龄大约是35岁。2005年以前在任的印度过程改进经理比我大30岁,和我父亲年龄一样大。最初和他们交流的时候,我感觉自己像个小孩子,什么都不懂。我只能通过快速学习来缩短和他们的差距。

2004年年底,公司通过了CMMI 5级认证,我也成为一个熟读过程管理兵法的人,在知识上积累很多。正如熟读兵法并不能保证取得胜利,CMMI 5级也并不意味着产品开发的成功。最近三年来持续改进的道路显得更为艰辛,团队成员的流失,人员招聘的困难,推行新方法的不易,如何得到业务部门经理的支持……在此期间,我也多次蒙生“太难了”,“不干了”的想法。但是过后转念一想,不能就这样败阵而逃。于是给自己打打气,“效果没达到,不是人家不配合,是自己还需要调整方法,再试试。”久而久之,我习惯了面对困难,不再情绪低落,直接开动脑筋来想办法。

过程改进经理好比企业的大管家,技术管理方面的大管家,我们通过引入有效的方法和工具,使产品开发更快、更好。我们“大管家”和业务部门经理一同推动过程改进,我们是业务部门的合作伙伴,是企业变革的领导者,是项目组的教练。 经过全体员工几年来的努力,公司的整体环境、文化气氛一直在进步,使过程改进更加顺畅。现在我们中国同事终于能够和国外同事平等地交流了,我们也能分享一些最佳实践,而不仅仅是从人家那里学东西。我们钻研某些新方法遇到的困难国外同事也不能帮助解决,因为我们领先了一步。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号