《术以载道——软件过程改进实践指南》—第1章1.2节EPG的工作指南

本节书摘来自异步社区《术以载道——软件过程改进实践指南》一书中的第1章1.2节EPG的工作指南,作者任甲林,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 EPG的工作指南
EPG是工程过程组(Engineering Process Group)的简写,EPG是企业内的立法机构,负责制定与推广管理规范与过程财富。

1.2.1 EPG成员选择四要素
选择什么样的EPG成员才合适?基于我的所见所闻所思,总结了4个选人的要素。

(1)知识

知识是基础的要求,应该具有基本的软件工程知识,而不是白纸一张,这样才能容易沟通,知识可以通过学习来获得,有无知识是相对的;知识可以通过是否学习过哪些课程,接受过哪些培训、读过哪些书籍来衡量。

实践出真知。知识经过实践的锤炼才能真正成为自己的知识,对知识与经验进行了再加工、创造出新的理念才是对知识与经验的升华。

无知并不可怕,可怕的是不知道自己无知。很多自以为是的人都不认为自己无知。

(2)经验

软件工程是一门实践型的学科,缺乏足够的经验就很难理解模型里的各个实践,否则即使读了模型,也无法引起共鸣,文字都认识,但是文字的真正含义却无法透彻地理解。古人云:读万卷书,行万里路,讲的就是知识和经验的重要性。在实践中有很多事情是无法靠知识来解决的,而是要靠经验。

经验是要积累的,积累需要时间,悟性高的人可以更快地积累经验教训,有执行力的人可以积累真正实用的经验。

(3)悟性

悟性是举一反三的能力,是知微见著的能力,是自我学习、自我进步的能力。有悟性的人才能循序渐进地改进自己,也才能循序渐进地发现组织的缺陷,才能改进组织的标准过程。

悟性难以通过学习来获得,在很大程度上是天生的,悟性决定了一个人在某个领域可以达到的层次。

知识与经验是悟性的源泉,没有知识与经验,悟性就无法产生新的思想。

(4)执行力

所有的知识、经验、心得必须在实践中得到证实才能创造价值,否则只能是夸夸其谈,华而不实。知识、经验、心得要应用到实践就必须有一定的执行力,而不是停留在脑袋里无法落实。

在这4个要素中,执行力是必须具备的,如果不具备执行力,则一事无成。

要求每个EPG的成员都具备上述的四个要素是不太现实的,要注意搭配。在上面的4个要素中,除执行力是必须具备的要素外,其他3个要素的重要性应该是按悟性、经验、知识依次降低。

仔细想想,其实做任何事情可能都需要这4个要素。

1.2.2 EPG的工作指南
很多企业的EPG成员不知道应该如何开展过程改进的工作,不知道日常应该做什么,一旦脱离了咨询顾问的指导,过程改进就失去了章法。表1-6列出了EPG每日、每周、每月、每年应做的事情,为EPG提供工作的参考。


《术以载道——软件过程改进实践指南》—第1章1.2节EPG的工作指南_第1张图片


《术以载道——软件过程改进实践指南》—第1章1.2节EPG的工作指南_第2张图片

1.2.3 EPG如何应对企业政治
流程的改进,总是会涉及人的利益。有的人不愿意放权,有的人希望借助过程改进获得更多的利益,有的人不愿意暴露自己的问题,有的人不愿意改变工作习惯,有的人不愿意被束缚,有的人就是看EPG不顺眼。有人的地方就有政治,如何应对呢?

(1)坚持正道

何谓正道?

公司的规章制度即为正道。公司的规章制度定义了做事的原则、方法,是公司的法律。循规蹈矩,别人就无法指责你的错误,这样才能立于不败之地。我不犯错,你奈我何?否则,你不遵纪守法,反对你的人就很容易否定你。

老板的指令即为正道。有法依法,无法则依老板。企业是法治与人治的结合体,不按老板的意思办,迟早要完蛋。按老板的意思办,即使错了,也有老板为你顶着,即使给老板当了替罪羊,也有翻身的机会。

做人的基本原则即为正道。与人为善,不损人利己,不做缺德的事情,做一个好人,这是做人的正道、做人的底线。即使周围的人都损人利己,你也要保持自己的风骨,淡然处之,不媚俗。这样可能失去一次机会,但是不会永远失去机会,即使当前不为企业所容,日久见人心,早晚大家都会敬重你的人品,即使是你的对手。

常言道,世上的事最怕认真二字:认真,即为坚持正道。

(2)以柔克刚

何谓柔?何谓刚?

柔即变化,刚指强大的反对力量。以柔克刚,意味着不与对方发生正面冲突,进行适宜的变通。只要能够达到目的,在不违背原则的情况下,进行灵活变通,使事情能够进展下去。有时,隐忍待机,也是一种柔。事情做成了,这是目的,这是根本,这是大义,做事的中间过程有所让步,有所付出,这是小节,不可因小失大。局部你吃亏了,最后你胜利了,这便是吃亏是福。着眼于未来,才能具有柔的精神,而执著于一点,针尖对麦芒,最终两败俱伤,难以成功。

何谓克?

克即让对方不得不顺从你的意愿做事情,无法抵触,无论对方是心甘情愿,还是心有怨言,即使有怨言,这个怨言也无法针对你而来。克,并非一定是对方要服从你,而是要服从你手中的武器。你的武器是什么呢?你的武器是理,是法,是上级领导,是群众的舆论,是人性的弱点。总之,借助于其他武器,使对方无法对你发力,不得不服从,这便是克。当然如果你自身在企业中已经具备了很高的威信,则就可以柔于外,刚于内,别人就更乐于服从了。

坚持正道,以柔克刚是刚柔并济应对企业政治之道,需要仔细体会,认真思量,逐步实践之。

1.2.4 EPG常犯的10种错误
(1)对模型研究不够深入

模型是多年软件工程经验的总结,模型中的每一句话、每个例子都不是随便写上去的,都有其内在的含义,需要仔细琢磨,仔细体会。作为EPG的成员,在遇到问题时,首先要做的事情通就是通读模型,在模型原文中查找答案。注意不要去读那些粗制滥造的译本,以免以讹传讹。对读不懂的地方应该再去读SW-CMM与SE-CMM,从那里获取有关的参考描述。如果还读不懂,可以在网络上搜索资料或与朋友交流。

当然,不能“唯模型论”,模型不会解决所有的问题,模型也只是描述了做什么,在模型里并没有详细描述怎么做,要解决怎么做的问题需要与有实践经验的专家进行沟通。只有真正理解了模型才能不“唯模型论”,才能根据实际进行裁剪。

(2)不善于与项目组沟通

规范的管理是着眼于未来的,可以降低犯错的概率,其效益可能在当前并不明显。规范的管理会改变开发人员的工作习惯,在他们的眼中可能认为规范是一种累赘,因此对规范的抵制是一种很自然的反应。

EPG是公司研发管理大法的制订组织者,是体系的推广者,项目组是体系的执行者。EPG不是项目组的领导,在和项目组打交道时,不能以居高临下的姿态和项目组沟通,否则很容易引起项目组的反感,给体系的推广设置人为的障碍。

项目组里最有影响力的是项目经理,项目经理就是EPG的重点沟通对象。质量管理体系是帮助项目经理进行管理的,是项目经理的助手,而非项目经理的敌人。应让项目经理意识到这一点才能够将体系推行下去。

(3)不善于利用企业高层管理人员

过程改进是一把手工程,尤其是在基础薄弱的组织中。如果缺少了企业高层的支持,体系的推广寸步难行。

EPG不是项目组的直接领导,不可以直接对项目下达命令,因此在推广的过程要善于利用企业的领导,经常和领导沟通,和领导一起加深对研发管理的认识,从领导那里获得反馈,并借助领导的影响力促进体系在项目中的推广。

与领导的沟通是有技巧的,要根据领导的风格区别对待。有的领导喜欢直来直去,有的领导喜欢迂回曲折,有的领导喜欢独断专行,有的领导则比较民主。要将模型的思想转换为领导的思想,就要采取一定的技巧,对症下药。

案例:技术总监不关注的过程改进

我的一位老同事在A公司做技术总监。2006年底有一次朋友聚会,我知道A公司刚刚通过了CMMI5级的评估,于是便和这位老同事说起A公司已经通过了CMMI 5级的评估,结果这位同事告诉我:“那是他们质量部门的事情,我不知道他们在做CMMI!”我很惊讶,也很怀疑这家公司是如何做地过程改进。
(4)不善于利用一切改进机会

为了推广体系,需要充分抓住一切在组织内教育员工、教育领导的机会。最典型的有5个机会。

(a)客户要求

客户满意是所有企业经营都遵循的宗旨。利用客户对项目过程管理的要求识别改进点,更容易引起项目和领导对过程改进工作的重视。

(b)质量事故

一旦发生了质量事故就要追根溯源,进行根本原因的分析,以充分引起大家对质量的重视。

(c)成功案例

如果有个项目做得很成功,同样也要抓住机会,仔细深入地分析项目成功的原因,利用典型的成功案例教育大家。

(d)外部咨询

中国有句俗话:“外来的和尚会念经”。当有外部的咨询师或者评估师到企业时,也要充分利用这个机会,对员工和领导进行教育。

(e)内部调研

在企业里对管理现状进行调查,是一种自底向上反映大家对组织规范管理需求的有效手段。管理永远是需要改进的,改进的动力来自于商务需要,也来自于群众的呼声,群众的呼声可以转换为商务需要。

(5)EPG本身作业不规范

EPG要以身作则,自己也要按规范办事,不能表现得很随意。比如:

  EPG自己生产的文档不符合公司定义的各种规范;

  EPG自己的文档没有纳入配置管理;

  体系文件的变更不遵守公司的变更流程;

  EPG的工作缺乏计划性;

  对EPG的工作没有执行PPQA等。

己身不正,何以正人?

(6)违背了循序渐进的思想

“以人为本,以过程为核心,以度量为基础,循序渐进”是当前各种管理模型的核心思想。管理的改进是文化的变革,要改良而非革命,不能拔苗助长,要冷水煮青蛙。一些软件开发中的基本实践看似简单,在企业里推行时却困难重重,例如需求文档化、设计文档化、计划文档化、同行评审、专职的测试人员等等。往往迫于商业目标的压力,在过程改进时,EPG会定义不切实际的改进目标,试图短期内见效,这样就要求项目组一次改进的地方太多,而这么做,很可能事与愿违,导致项目组比较抵触,即使短期内能够通过评估,一旦拿到证书,反弹也会比较大。

过程改进是一种长期行为:

  公司的高层对软件规范管理的认识有一个过程。

  公司负责过程改进的人员对规范管理的理论理解也需要一个过程。

  公司规范体系的推广需要一个实用化的过程。

  公司开发人员认识规范管理也需要一个过程。

  公司管理问题的解决从认识到制定措施、落实措施、优化措施也需要一个过程。

  公司管理体系真正制度化也不是短期内能做到的。

任何事情都有其发展的必然规律,违反了客观规律是要摔跟头的,欠债总是要还的,拖得越久,利息越高。上述的所有过程都不是短期的行为,有很多思想意识当时明白,过后又忘了,需要在实践中不断验证才能成为习惯,需要在实践中不断地强化和加深。

(7)忽略了裁剪指南

裁剪指南比体系本身更重要。僵化的体系是不可能真正在组织里推行下去的,要保持体系的灵活与敏捷,就必须定义详细且实际的裁剪指南,并在实践中逐步完善。EPG的成员往往试图包罗万象,将体系定义得相当完备,在过程定义、模板定义上花费了大量的时间,而忽略了裁剪指南是体系更重要的部分。这样导致在实际推广中,体系可以裁剪的选择余地很少,针对具体的项目组,往往会让项目组多做一些无法产生价值的活动,这样项目组就会产生一些抵触情绪。

(8)忽略了持续培训

在过程改进的初期会做CMMI的Introduction培训、过程域培训、管理技术的专题培训,在体系定义完成后,会做体系的培训。这些培训要么集中在一段时间内完成,培训的密度比较高,效果并不好;要么间隔的时间比较长,培训后面的内容时已经忘记了前面的内容。因此,需要在体系的推进过程中再将已经做过的培训的要点换个角度进行强化,使一些观念、一些做法深深地刻在每个人的脑子里,才能让执行者知其然,知其所以然,这样才能成为习惯,持之以恒地坚持下去。

(9)缺乏足够的软件工程经验

这一条实际上是在选择EPG成员时容易犯的错误。以CMMI模型的博大(这也是其缺点,不够通俗与平民化),要想充分理解其内涵,理解其精神,没有足够的软件工程背景是比较困难的。而很多企业的EPG成员恰恰就缺乏足够的软件工程经验,有经验的员工都去生产一线做项目经理或部门经理,去直接创造商业价值了,间接创造商业价值或者会带来长期效益的管理活动便让一些缺少经验的人来做,这实际上是一种“脑体倒挂”的现象。缺少经验的人需要到一线去工作,去锻炼,去提高,那些有经验的员工则需要充分贡献出其经验,充分发挥他们在企业里的正面影响力,而不是成为过程改进的阻力,这才是他们的价值的体现。

(10)过分依赖咨询公司

EPG成员在建立公司内部过程体系的初期,往往会过分依赖外部咨询公司,要求咨询公司提供已成型的过程体系文档。每个组织都有其自身的特点,产品方向可能不同。组织结构可能不同,企业文化可能不同,人员结构可能不同,外部的商务环境也可能不同,因此企业的作业流程、文档格式等都可能不同。如果机械地照搬,那么势必造成EPG建立的标准过程并不适合本组织,从而使过程改进见效缓慢,甚至夭折。

1.2.5 识别过程改进点的9种手段
望闻问切,弄清病症、病因,才可开药方,过程改进与此同理。那么,过程改进如何识别改进点,发现病症呢?

1.过程评估

过程评估是指由内部或外部的评估员参照某种或某几种模型通过文档审查或访谈等手段评价组织的过程执行情况,以发现体系、实践与模型的差距,识别改进点。参照的标准与模型是可以随时间的推移而变化,可以不断地从新的标准与模型中汲取营养。

2.过程裁剪记录分析

组织级定义了标准的体系规范后,项目组可以裁剪组织的标准体系,通过分析裁剪记录可以识别频繁裁剪的过程、活动、文档等,这些频繁被裁剪的元素就可能是不适合企业实际情况、需要改进之处。

3.不符合问题分析

PPQA人员对项目组的过程与工作产品进行检查可以发现不符合体系的问题(NC),通过对NC项的共性分析,可以发现项目组通常都会在哪些地方犯错误,犯错的原因是体系本身定义得不合理,还是由于培训与指导不够,或者其他原因。

4.问题或缺陷分析

客户的投诉、客户反馈的问题、测试发现的问题、过程性能的异常等都是财富,需要分析这些问题或缺陷的根本原因,识别为什么会发生这些问题?为什么没有尽早地发现这些问题?

案例:对问题的原因分析

下图是我2011年3月在深圳给某个客户咨询时,针对项目组反馈的用户优先级划分不合理的问题进行原因分析的记录。通过这种原因分析,可以发现企业中的改进点。


《术以载道——软件过程改进实践指南》—第1章1.2节EPG的工作指南_第3张图片

5.经验教训分析

向经验学习,向教训学习,推广经验,规避教训。组织级可以定期汇总、分析、评价这些经验教训,选取有价值的经验教训吸收到组织体系中。

案例:通过分析经验教训持续改进

2007年7月,有位朋友推荐我拜访济南的一家软件公司,这家公司大概100人,我在济南生活了10多年,对济南的软件公司比较熟悉了,但是我从来没有听说过这家软件公司。我刚进入这家公司时,印象并不好,因为是夏天,气温比较高,这家公司并没有开空调。随着和公司老板的沟通,我发现这家公司管理得很好,比一些通过CMMI3级评估的企业管理的实效都好。他们成功的经验是什么?每月项目经理都会给老板汇报本月的经验教训,老板每月都从这些经验教训中提取出来可以推广的最佳实践,定义到公司的质量体系中,在公司中推广之。久而久之,公司的体系逐步完善发展起来,而且很有实效,没有多余的活动。
6.度量数据分析

组织级定义了共性的度量元要求各项目组进行采集,通过分析这些共性度量元的实际数据可以发现好的或差的异常,通过分析这些异常的根本原因可以发现改进点。

7.过程改进建议分析

过程体系的执行者、监督者都可以基于自己的理解对过程体系提出改进建议,这些改进建议应该由专人进行讨论、分析,确定共性的、有意义的建议并吸纳改进之。

8.标杆数据对比分析

国际、国内都有一些组织定期发布度量数据,可以将组织内的基线数据与这些标杆数据进行对比分析,寻找差距,鉴别差距的真实性,寻找差距的原因并改进之。

9.高层经理的改进需求

公司的中高层经理接触客户、接触市场、接触其他的合作伙伴或竞争对手比较多,他们会基于企业发展的需求、基于外部商务的需求,对企业内部的过程改进提出期望与目标,这些也是改进点的来源。

企业的EPG成员必须熟练运用上述最常用的九种识别病症的方法,及时发现改进点,实现持续改进。

你可能感兴趣的:(《术以载道——软件过程改进实践指南》—第1章1.2节EPG的工作指南)