演讲实录丨软件工程跑偏,CMM全是骗子
本文内容选自我在「中国DevOps社区2019年会」上分享的《敏捷中国十八年目睹之怪现状》实录。
前文提要:软件工程和CMM虽然指出了中国软件业需要的能力,但十几年来也没有把这些能力建设起来。
那么软件工程到底是什么时候跑偏的呢?我去年写《敏捷中国史》的时候看了很多的材料,然后发现很多的事情是从根子上跑偏的。一开始,很多专家把软件的生产和制造业相关联。但是非常有趣,尽管这些中国软件工程专家经常讲制造业,但是他们对制造业根本不懂,他们根本不知道这个制造业是怎么发展。
1995年左右,美国里海大学亚科卡学院受国防部的委托,做了一个叫做《21世纪制造业挑战》的研究,这个研究报告里讲21世纪的制造业有什么特征?是需要高度的定制化、高度的柔性,需要减小批量。听着像什么?像敏捷。而我们国家的软件工程专家们根本不了解制造业的这些新发展。他们在脑子里面自己想象了一个“制造业”,然后说我们的软件工程应该像制造业。他们想象的制造业是少数的精英在上面做设计、下面有大量的软件蓝领把精英的设计一模一样的写出来就完了。
基于这么一个模型,他们就开始搞培训,要求程序员踏踏实实搞工作,不要去想别的,不要去跟需求方打交道,这就是软件蓝领。而同一时期,美国的制造业在说:不应该严格区分设计和制造,不应该限制员工思考的空间。这些专家想象的制造业,跟制造业的发展方向根本南辕北辙。
那么CMM明明已经提出了很好的问题,为什么这个问题没有得到解决?国内软件专家的误解呢,只能说他的知识不够多,不知道国外的软件和制造业到底是怎么样的发展,所以有了自己的想象。而CMM我认为很大程度上是个人品问题。从最早的“CMM始祖”Ron Radice开始,CMM周围就一直有这种人品问题。
这个号称CMM始祖的人2001年到中国来访问,我当时参加了对他的采访。当时总共有5家媒体对他做了采访,宣传做得到处都是。我后来做了对这个人比较深入的调查,他是在发明CMM的研究小组里面一个研究员,他大概只发表过2篇论文,没有什么重要的学术著作。他在CMM的创始过程当中只能说起到了非常辅助的作用。据说印度的总理专门接见了他,我起码花了5、6个小时的时间尝试去找到这么一个接见的报道,没有任何结果,我认为这是编造出来的。
我觉得这个人非常有象征意义:CMM从传入中国的第一年开始就充满了编造、吹捧、虚假、欺骗。2002年的时候,这种现象已经引起SEI的关注了。SEI认为一家企业在一年时间里从CMM二级过到五级,这是不可能的事情。而这个不可能的事情在中国2002年、2003年连续发生了三次。所以当时SEI自己开始撇清关系了,就说我们认为这是非常不可能的。
这么不可能的任务,这些公司是怎么做到的?非常简单,叫做裁判下场踢球。非常简单的一个逻辑:公司想要这个认证,找谁做咨询?这个咨询师就是未来的评估师。咨询师收了你10万以后,然后他自己做的咨询,他自己回头再来评估,当然评估就通过了。就是一个很简单的玩法。那么企业为什么要花这个10万来请这个咨询师?因为有政府补贴。政府会补贴你20万通过二级。所以就成为了一个完整的利益输送链,咨询师、主任评估师和企业联手搞一个认证通过,就可以从政府那儿掏钱出来,企业白拿一个证,从政府那套的钱比它自己花的经费还多。这是一个完整的利益输送链。
我经常讲,18号文做了很多的好事情,但是其中的一件事情做的非常糟糕而且匪夷所思,就是对CMM的补贴。对CMM的政策补贴,这是中国改革开放史上前所未有的事情,不知道以后会不会有来者。前所未有在什么地方?中国改革开放史上有很多的产业补贴,比如对光伏的补贴,对大数据的补贴,对出口创汇的补贴,但是这些补贴政策至少都有一个出发点,就是你得做东西,对吧?你要领光伏的补贴,你得做出光伏来。你要领出口创汇的补贴,你得出口创汇。哪怕你把产品拿到海外走一圈再运回来,你得有那个形式,得有美元回来。而对CMM的补贴是中国改革开放史上仅有的一个:你这个企业什么都不用干,不用开发软件,不用有收入,不用提升团队的能力,就可以领补贴。这是一个非常奇怪的政策。在这个政策的鼓励下,CMM全国到处一片疯,所有的企业都去搞这个事情,因为是可以赚钱的。这就是政策补贴之下的乱象。因为有了这个政策补贴,搞CMM的全是骗子,没有一个例外,全都是骗子。现在,我经常跟搞Scrum认证的这些朋友在打交道,我跟他们开玩笑说你们搞Scrum幸运就幸运在没有什么补贴,没有补贴就不怎么招骗子。所以搞CMM的全是骗子,你们搞Scrum的不全是骗子。
(未完待续)