文章来自思步网(www.step365.com) 一、引子 近年来,由美国SEI(软件工程研究所)开发的SW-CMM(软件过程能力成熟度模型)模型以及改进后的CMMI(能力成熟度模型集成)模型得到了国际上的广泛认可。因此有越来越多的软件和IT公司已经或开始采用这些模型来开展相应的过程改进工作,来提高过程能力的成熟度,以期使公司的软件或系统开发工作更加高效,更具有国际竞争力,这似乎已经成为一种潮流。很多公司都怀着这种美好的愿望开始了过程改进的旅途。 作为过程改进的咨询顾问,我看到了一些非常成功的案例,但同时也看到了很多失败、或至少是并不十分成功的结果。不少公司在过程改进之路上蹒跚而行,一路走来,一路泄气,一路放弃,一路逃避,那海市蜃楼般的愿望逐渐随着改进阻力和挫折感的增加而逐渐褪去。过程改进在一片人云亦云的潮流中浑浑噩噩起步,又在一些责备声中浑浑噩噩地销声匿迹。 真正的原因在哪里?我不禁问自己,能够总结一些经验和教训让这些公司少走一些弯路?虽然这些经验教训可能并不完整、可能并不完全正确,但希望能够抛砖引玉,激起更多的人来进行讨论和反思。 二、清晰的过程改进目标 走访过很多实施过或正在实施CMM或CMMI模型的公司,当我问到采用CMM/CMMI进行过程改进期望达到的目标是什么,很多公司的高层都会告诉我,目标是多少个月后达到CMM或CMMI X(2-5)级。这不是过程改进的目标,更准确地说这应该是里程碑。真正的目标应该是和公司业务目标紧密联系的:如客户满意度提升、员工满意度提升、缩短开发周期、降低开发成本等,根据各个公司的现状和业务特点各不相同。只有明确这样的目标,再根据公司的强项和弱项分析,才能对改进优先级进行设定,否则员工看不到切实的改进成果很容易造成士气低迷,高级管理层看不到公司获得切实的收益很容易放弃,公司这艘航船很容易在CMMI过程改进中迷失方向。 CMM模型业界著名公司的优秀实践大全,共316条,而CMMI模型更是扩充到460条。对于如此庞大的过程改进模型,如果不根据公司特点进行优先级排序,很容易在过程改进中失去重点,从而只见树木、不见森林。 即使公司的有些地方和CMM和CMMI的要求可能有不小差距,但如果这些方面的改进对公司目前的业务目标支撑并不强,也许并不需要马上进行改进。所有的改进要符合压强原则,先集中力量在某些对业务目标支持比较强的方面进行突破。但某一方面的缺点和不足,可能当前并不一定要花大力气提高,否则有可能使你失去自我。 过程改进中很多人都采用木桶原理,也就是改进最短的木板,因为木桶盛水的高度是由最短的木板决定的,所以自然考虑到改进弱点。但木桶原理是有其适用背景的,关键要看目标是什么?如果木桶不是用来装水,而是用来烧火,那么长短就无所谓了。有些情况反而要首先改进自己的强项,这样才能扬长避短,更好地支撑业务的发展。 基于CMM或CMMI进行过程改进最成功的几个公司在过程的改进中有很多创意,如:某著名公司过程改进中并不是按部就班地根据2级-3级-4级-5级这个顺序逐步进行改进的,而是先改进了5级的一个过程域 – CAR(Cause Analysis and Resolution),因为80%问题的是20%根源造成的,CAR正是用来分析和解决这20%根源的方法,因此对公司的投入产出比最大,应该先行改进。 因此过程改进前没有明确目标和业务特点方向,则很难按照公司业务特点来诠释CMM/CMMI模型,就很可能造成削足适履,给改进带来挫折乃至失败。 三、过程成熟度就是承担责任和使命的能力 在工作中,我们经常可以听到过以下的借口和声音: “我们不执行开发流程,是因为我们项目比较特殊……” “我们没有执行这些规范,是怕这些规范束缚了我们软件人员的创造力……” “CMMI和ISO都是些没用的东西,所以我没有执行……” 虽然不少公司耗费了财力物力制定了很多流程和规定,但却没有有效的执行。 在生活中实际上我们也能听到类似的声音: “我虽然计划每天早上跑步,但是……” “我计划每天都要读书,可没有时间……” 任何流程、规范等在初次制定时,都不可能很完美,需要在执行中不断发现问题,解决问题,逐步优化流程,才能使流程具有新陈代谢的生命力。但我们每个人都或多或少地习惯了过去的开发习惯和生活习惯,不太愿意被改变,也在惯性和惰性的驱使下不太愿意去尝试改变,因为这样有可能会暴露自己的弱点和不足,不够安全。 著名的心理学家马斯洛说:如果你有意避重就轻,去做比你能力所能做到的更小的事情,那么我警告你,在你今后的日子里,你将是很不幸的。因为你总是逃避哪些和你的能力相联系的各种机会和可能性。因为逃避,你在不知不觉中失去了激发你真正潜力的各种机会。 表面看来,我们降低了风险,处于安全区,但却把自己最宝贵的能量束缚了起来,不停地说服自己降低对自己的标准,以为这样是对自己负责,殊不知不把生命的能量发挥到极致,才是对自己最大的不负责任。国内一位杰出的培训师说过:“生命是一支铅笔,而不是钢笔,铅笔虽然可以涂改,但只有一次生命。而钢笔可以重新注入笔墨。但铅笔的生命只有一次,不要允许自己多次地涂改。”我们多少次给了自己理由允许自己滑坡,我们有多少生命的资本供我们挥霍。 过程能力成熟度实际上是承担责任和使命的能力,成熟度和年龄没有太多的关系,一个在苦难中长大的孩子在弱冠时就可以顶天立地,一个在蜜罐中长大的人,可能在满头白发时还在颓废中不断地放弃。 让我们成为烛光而不是法官,成为流程执行和改进的楷模去领导和影响他人,而不是成为一个指手画脚的批评者。 四、流程的创新和裁减 有一次一个软件开发成熟度较高的国外公司质量经理很自豪地告诉我:“我们公司过程体系已经非常成熟,以至于近两年来都没有人能提出改进建议。”我怔怔地看着他,说不出话来。 公司制定流程的目的是希望把已有的知识和经验固化下来,形成知识和经验的重用,以更好地支撑公司的业务。但一个公司的业务在不断发展变化,一成不变的流程如何能够适应不断变化的业务呢?如果一个流程体系不再变化,也许是没有人再有兴趣去使用它,也许是使用流程人已经形成了思维的定式,陷入一个次最优状态。 在国外一个著名的CMM5级公司,一位项目经理在项目启动时制定了项目计划,送交高层审批,受到了高层的严厉批评:“根据你的计划,表明你基本上是要完全按照公司的流程去开发项目,世界上没有两片完全相同的树叶,每个项目都有不同的特点,如果你没有对公司流程进行裁减和创新,说明你没有找到项目的特点,也不能把项目的特点真正发挥出来给公司创造最大的价值。” 与国内外一些著名公司或研究机构的一些人交流过之后,发现有些人非常的平庸,没有思想、没有创造力。不禁问自己:为什么在这么伟大的旗帜下,居然会滋生出如此的平庸。是否过程体系过于完善,使庸人不再思考,只会完全按照流程照猫画虎。 爱因斯坦在16岁时很贪玩,有好几门功课都不及格。一天他正要和朋友们去钓鱼,父亲拦住了他,问他为什么不用功补习功课?他告诉父亲其他一起去钓鱼的同学也不及格。父亲提醒他:你是独一无二的,不要复制别人的平庸。爱因斯坦的智慧在那一刻被猛然点醒,我不需要按照别人平庸的生活方式(流程)来生活,我需要创新。从此一个全新的爱因斯坦出现了,给世界带来了巨大的精神财富。 过程体系是知识和经验的积累,对它80%的重用,另外有20%的创新和裁减,既能保证过程体系的稳定,从而给公司带来巨大价值,同时又能使得它有着强大的生命力,从而拒绝平庸 |