软件与中国古代史:政界往事(下)
在前两篇[6][7]里,我围绕着“王安石变法”研究了两个方面的问题:一是变革必须以稳定为基础;二是组织中各部分之间相互斗争的问题。本篇将要讨论的是《帝国政界往事》[1]中的第二件往事:岳飞之死。
公元1141年的最后一天,在临安监狱风波亭,岳飞被宋高宗赵构和宰相秦桧合谋,以“莫须有”的罪名的处死。这是中国历史上最令人寒心的一桩罪行。
事情要从公元1125年说起。当时北宋的情况已经不妙,宋徽宗宣布退位,太子赵桓在不情愿下继位,是为宋钦宗,次年改元靖康。二年,金兵南下,将徽 钦二宗及汴京14000余人全部俘虏到北方。此即为“靖康之耻”,北宋灭亡。唯有徽宗第九子赵构侥幸逃脱。五月,赵构即帝位,改元建炎,南宋开始。但是在 金兵的追击之下,当时的南宋只是一个“流亡政府”,直到建炎四年,赵构还不得不在宁波附近的海面上东躲西藏地过了春节。
直到1135年,在这些年零星的抗金战争中,以“中兴四将”韩世忠、张俊、刘光世、岳飞和川陕的吴玠组成了南宋的最主要的五支军事力量。特别是岳 飞,由于这几年里军功卓著,深得赵构赏识,所以才能年纪轻轻就坐到与韩世忠等老将相当的位置。两年后,岳飞在赵构眼中的地位达到最高,他向赵构上书北上收 复失地的计划也得到了赵构的欣然支持。
但是问题很快出现。岳飞虽然文武双全,可惜政治觉悟不高。事情首先是发生在赵构的立储问题上。在赵构即位最初几年的流亡生涯中,他得了阳痿,失去了 生殖能力,而他唯一的儿子又因为一场意外,惊吓致死。岳飞却仗着得到了赵构的赏识,不识相地建议赵构及早考虑立储之事。这不但勾起了赵构的伤心往事,最为 严重的是,这触犯了皇家最大的忌讳:手握重兵的武将对皇位继承感兴趣。
之后又发生了“淮西事变”。中兴四将之一的刘光世向赵构请辞, 赵构最初是授意岳飞接管刘的淮西部队。但宰相张浚和新任枢密史秦桧表示反对,二人“以合兵为疑”的上书让赵构改变了主意,委婉地取消了成命,并交张浚处理 善后。但是张浚在这个问题上怀有私心,最后与岳飞的会谈不欢而散。岳飞愤然辞职,而张浚则多次上书弹劾他。后来刘光世的部队还是按张浚意思交给王德、郦琼 和吕祉三位只会纸上谈兵的人接管。不久之后,岳飞被赵构召回准备北伐,但就在这时“淮西事变”爆发了:郦琼杀吕祉并率部(除王德8千人之外)4万人降伪齐 (金扶植的一个傀儡政权)。岳飞的北伐也被迫中止了。
“淮西兵变”给了赵构一个重大的打击,他改变了以往的态度,开始制约武将。1138年,主和的秦桧出任宰相,标志着赵构从主战转向了主和。中兴四将 中剩下的张俊也转向主和,并得以掌握兵权的大头,而韩世忠则像刘光世一样选择退出,唯有岳飞仍然不放弃抗金斗争,所以也自然要遭到排挤。次年,赵构和秦桧 与金议和成功,赵构生母韦太后被放回,南宋向金称臣。但和平只维持了一年,1140年,金国主战派当权,兀术率部南侵,但遭遇岳家军的重创,兀术向赵构提 出抗议。于是便有了十二道金牌召回岳飞并将他处死的事。
传统上,我们一贯认为岳飞是死是由于秦桧的缘故,但仔细分析下来,我们可以看到秦桧只是一个执行者,作出这一决策的人只能是皇帝宋高宗赵构。而赵构为什么要把自己手下忠心耿耿的重要的大将杀死呢?
这里的关键就在于二者之间存在着根本的目标差异。
从岳飞的角度上说,他的目标就是“精忠报国”,在岳飞的心目中,这里的“国”便是大宋国。必须注意到的是:这个大宋国并不等同于大宋皇帝赵构,“报国”未必“报皇”。因为在当时,“报国”的最佳手段莫过于北伐,收复失地,雪洗靖康之耻。这就不可避免地要包括迎回徽钦二宗,这与赵构的利益形成了矛盾冲突。
在本文的中篇[7]里提到过,儒家思想发展到宋朝时,已经趋于僵化,所以才会有像“濮议”这样的事情发生。因为赵构是徽宗的第九子,按正统的儒家宗 法制度,本来是怎么也轮不到他坐皇位的,如果岳飞真的北伐成功,迎回徽钦二宗,那赵构的帝位就很可能不保。虽然后来议和后,韦太后回来前,钦宗痛哭着央求 老太太:“请回去告诉九弟,只要能让我回去,我什么都不求,有间屋子住就心满意足了呀!”[1],但是基于一些不为人知的原因(也许是赵构的意思,也许是金国想利用钦宗扶植一个“皇室正统”的傀儡政权),钦宗最终没有回来,而是客死于金。
正是出于对自己帝位的考虑:一是担心岳飞北伐成功,迎回徽钦二宗;二是担心岳飞拥兵自重,危及帝位[2]。赵构最终下决心杀了岳飞,并完全放弃北伐,偏安于东南一隅维持着一个向北称臣的南宋政权。而岳飞就是因为没有意识到这一根本矛盾的存在,最终为自己招来了杀身之祸。
在软件公司里处于不同地位的人之间,同样存在着这样的的目标差异,并且同样是一个大问题。在本文的中篇[7]里讨论过了平级之间的矛盾斗争,其间对 软件公司组织结构的一个层面进行纵切,并分析各切片之间的关系。在这篇里,我们需要研究上下级之间的关系,所以下面将技术这一个纵线单独拿出来进行横切分 析。
首先从技术线最下端,也是我最熟悉的程序员说起。除了少数有人品问题者以外,绝大数程序员——特别是优秀的程序员——都是热爱编程这项工作的,他们的目标就是写出完美的程序。当然,出于对自身职业规划的考虑,他们还需要在工作中不断地学习掌握层出不穷的新技术。
然后是最顶端作为公司最高管理者的老板。所有的老板都是一样的,开公司就是为了赚钱,盈利是他们的最高目标,基本上也是唯一目标。
最后是二者之间的管理人员。他们的目标就是协调二者,既要提高程序员的工作效率,又要增加老板的盈利。
而这三者之间同样存在着或大或小的目标差异。
比如在程序员中,过于完美主义的程序员可能在一段代码上花费过多的时间;当然也会有急于求成的程序员可能为追求代码量而不能保证质量,比如缺乏足够 的单元测试,或是代码可读性不好导致维护代价增加。这些都不可避免地影响到开发进度,导致成本的上升。而程序员对新技术的追求,又增加了公司的培训支出。 这还没算上程序员为了学习,在开发中使用不成熟的新技术所带来的风险。
而作为老板,也是在开源和截流的矛盾中挣扎。为了能向客户提供更好的软件产品,就需要有优秀的技术人才。《人件》说:卓越和一般之间的差异接近一个数量级[3]。为了雇佣卓越技术人员,又需要增加更多的人力资源成本。考虑到项目风险和销售等环节的不确定性,这种投入并不一定能获得更大的回报。所以像《人件》这样的东西对老板来说是根本不屑一顾的。
还有质量问题。著名质量理论专家Crosby说:质量是免费的。但《人件》指出:质量是免费的,但只是对那些愿意为此付出巨大代价的人而言[3]。这对老板来说也是一个矛盾的选择。
此外技术人员对于公司重视销售甚于技术的做法通常意见很大,但是对于公司来说,这正是一种适应环境的与时俱进行为,在中国现在这样的“非常”环境 下,有时只要有适应环境的“非常”销售手段,技术根本不是问题,但反之则公司的生存都可能发生问题。如我在《高来高去的扯淡》一文[5]中引用令狐的话:
现在整个环境就是如此,大家都很浮躁,公司首先浮躁,客户也浮躁。因为现在很多项目是官方的,他们不怕花钱,所以工程商也无所谓,我只要我想要的效果,钱无所谓。就是这样。如果真的要花自己的钱,恐怕很多人就会认真的想想这个功能是不是自己真的需要的了。
其实这也是我在本文上篇[6]中所要表达的意思:南桔北枳。在这样的环境下,问题更多的是存在于技术之外。
为了将自己和公司从上面说的这些矛盾中拯救出来,“专业管理人员”之类的“银弹”就成为大多数软件公司的救命稻草。但如果不能正确地分析自身的情况是否适合,就这样引入王安石式的“职业经理人”,推行变法式的改革,则存在着很大的风险。“盲目引进一些所谓的先进管理理念不过是把公司提供给职业经理人们做实验田罢了”[6]。
再一个问题是:并不是所有的职业经理人都能有像王安石或岳飞这么高的人品。绝大多数人都多少有点私心,毕竟公司不属于他,在决策时难免过于注重自己的想法,一旦失败,他最多走人,扛下损失的还是老板。这就更难保证不出问题了。说到这个,我想起一个有趣的故事:
有记者采访某足球队老板,如果你们的球员表现不好,你会怎么做?老板说,我会把这个球员换掉。记者又追问道,如果全队的球员表现都不好呢?老板说,那我会换一个教练。
可是软件公司的老板对于这样的问题却不是这样的做法,他们有时会任由“教练”一个个地把全部的“球员”都换掉。我所知道的一个软件公司就曾经发生这 样的事,因为总公司对分公司管理者过于放任,结果这个分公司的管理者有计划地把相当部分的员工都换成了他的亲信,并利用公司的资源私下承接别的业务,谋取 私利。
最后,这种上下之间的目标差异可能被利用,成为某些管理者争权夺利的工具。在上篇里,我说到了平级之间的斗争时提到:一些人有意识地利用斗争来达到自己的目的。比如管理者之间的斗争可能会表现为上下级之间的斗争。
在我以前工作过的一个软件公司里,当时那位副总因为刚来公司不久,对技术又太不了解,加上在一些问题上没有协调好,所以和开发部门的关系搞得不太好。这时 销售部门的经理——他来公司比较久了,跟开发部很多人私交都还不错——就经常往开发部门跑,利用双方的目标差异,有意加剧开发部与那位副总的矛盾。最终导致那位副总离职,并由 他取而代之。
这样的事,对公司来说,百害而无一利。
那么,如何平衡各方的目标差异呢?
这首先就需要老板去具体了解各方面的真实目标所在。但这也绝非一件容易的事。在中国传统文化中有一项很重要的内容就是“含蓄”——或者说就是“有话 不好好说”,不肯直接了当地表达出自己的真实意图,即便是说出来,也是要转弯抹角一番的。在这一点上,普通员工相对来说会单纯一些,通常从他们的牢骚里大 概可以听出一些,但管理人员则一般更为圆滑世故,其真实意图不易揣测。
了解了各方的真实目标所在之后,就要去尽量平衡。
平衡两方面的目标差异肯定比平衡三方的目标差异要容易很多。所以我一直不赞 成小软件公司引入多余的管理人员。而且我在《大历史观》[4]中说过,对国内的中小软件公司来说,老板是承担最主要管理工作的人,这是再好的职业经理人也 不可替代的。即便是像微软,盖茨也不会放弃他的首席架构师的位子,这就是因为他必须对此负担最主要的责任。所以对于国内的中小软件公司来说,保险的做法还 是由老板本人来做总体管理工作,所有的改进也是在老板自己的改进带动下。而且至少有一点,职业经理人制度本身是诞生在一个法治的环境里,直接拿到人治的环 境中,很难不出问题。
当公司达到一定规模以后,凭老板个人就会开始力所不能及,这时还是不得不引入专业管理人员。不过我还是坚持认 为,软件开发是一项实践性很强的工作,没有一定技术背景的人是不可能管理得好的。因为在软件开发的全过程中,包括开发管理、质量管理、风险管理等各个方面 上,都需要管理者具有相当的技术敏锐性。除非公司的业务是依靠前面所说的“非常”销售所支持,那就无所谓了。另外,在作为一名可以掌控公司相当资源的管理 者所要具备的素质中,人品无疑比能力更为重要一些。
如上面所说,当增加了一个管理层以后,老板就需要增加平衡这一方面的目标与另两 方的目标差异。对于这个问题的解法,我认为可以通过把管理层与老板结成一个利益共同体,将平衡三方差异化为平衡两方差异实现。通常采用的方法是通过股权机 制。但是很遗憾,这一机制也是源自于法治环境,在人治环境下经常变成画虎不成反类犬。
我认识一个很强的软件管理者,他曾经在一家公司工作时,那个老板很赏识他,也许诺给他股份。但是很快他就发现这些纯属空谈,老板并不能完全信任他,不但许诺的股份一直只是停留在口头上,而且安排自己的弟弟在他身边。所以他很快就离开了那家公司。
这 样的老板口头上说需要引进专业管理人员,实际不过是叶公好龙罢了。鉴定老板是不是这种人,有一个很简单的方法:如果管理人员拥有股份,那自然是公司的股东 之一,而作为股东的一项基本权力就是可以查看公司的财务报表,如果连这个权力都没有,那这个老板无疑是个叶公。当然,如果这个管理者看不懂财务报表,那他 也就没有什么资格来做管理了。
当然,各方的目标差异是客观存在的,我们所能做的只是尽量缩小,而无法完全消除。但如果对这样的事实置之不理,则也不会有什么好结果的。
(全文完)
参考文献
[1]李亚平《帝国政界往事》
[2]柏杨《中国人史纲》
[3]T.DeMarco&T.Lister《人件》
[4]猛禽《软件与中国古代史:大历史观》
[5]猛禽《高来高去的扯淡--所谓的〈软件工程师与程序员的差别〉》
[6]猛禽《软件与中国古代史:政界往事(上)》
[7]猛禽《软件与中国古代史:政界往事(中)》
May.27, Jun.12, Jul.10-05