软件与中国古代史:政界往事(上)

在《软件与中国古代史:大历史观》[9]一文发表后,很多人就此发表了自己的看法。其中有人问我为什么不讨论一下国外的先进管理理念,其实我在那篇文章里已经说过了:中国有中国的文化背景,盲目引进国外的管理方法很可能造成水土不服。不论是美国的,印度的还是日本的,在他们各自国家里用得很好的方法,直接拿到中国来用往往都是不行的。我的这一观点在另一篇讨论得更为激烈的文章《走自己的软件发展之路》[10]里也表达过了。况且讨论这些国外先进管理经验的文章已经很多了,我就不再赘述。我认为:

先进的并不一定就是合适的

在看完《中国大历史》[2]不久之后,我又看了一本有趣的书:《帝国政界往事》[1]。作者以生动的笔触描写了公元1127年(北宋灭亡,南宋建立 的那一年)前后的中国政治格局。如我在《大历史观》[9]一文中所说,基于中国传统文化的强大影响力,历史上发生的过的事情,在现代的软件公司里,常常可 以很容易找到相应的影子。本文将就《帝国》一书中提到的两个重要事件来讨论一下在软件公司中的情况。

第一个重要事件就是“王安石变法”[1]。

当时的背景是宋神宗赵顼(音“须”)即位之初,北宋帝国面临着严重的财政困难,这成了一心想要富国强兵的神宗皇帝面临的最大问题。而王安石提出:只要善于理财,不加捐税也可以使国用足。所以宋神宗在熙宁二年起用王安石开始变法,史称“熙宁变法”。

王安石变法的核心思想就是通过金融调控来管理国家经济,此外还包括政治、军事、教育等方方面面。比如青苗法,就是农民以田里的青苗作抵押,由政府提 供贷款给农民促进其生产,在收成以后,农民偿还贷款和利息。这种方法正是促进现代经济高速运转的信贷机制,以现代经济学的观点来看,他的做法在当时是非常 先进的。其它的如均输法和市易法,是通过国家垄断部分高利润行业的经营,抑制大商人的暴利盘剥,来实现国家财政收入的增加。

然而愿望是美好的,现实是残酷的。新法推行的结果在经济上导致了农民大量破产,工商业急剧萎缩;在政治上导致了统治阶层的分化,在此之后延续了几十 年的党同伐异斗争,直至北宋帝国的灭亡。而新法唯一达到目的的就是“国用足”。58年后的北宋靖康二年,北宋亡。落魄的赵构在逃难中建立了南宋。这祸根难 道是王安石种下的?

变法开始17年后的宋神宗元丰八年,神宗去世。在反对新法的宣仁太后(当时的皇帝宋哲宗才9岁)命令下,由司马光主政,到第二年(宋哲宗元祐元年) 司马光去世的这一年半时间里,新法被全部废止。史称“元祐更化”。所以后来把支持变法的一派人称为“元丰党人”,而反对变法的一派人则被称为“元祐党 人”。之后一直到哲宗元祐八年的9年时间里,在宣仁太后的控制下,元祐党人将新法的影响清除一空。但就在这一年,哲宗亲政,重新启用变法的元丰党人,直到 哲宗去世时的元符三年的这6年里,以宰相章惇为首的元丰党人开始严酷迫害以苏拭为代表的元祐党人。虽然徽宗赵佶(音“吉”)后来流放了章惇,但是随着苏 拭、范纯仁(范仲淹之子)等老一代人的去世,加上徽宗和蔡京君臣祸国殃民的本事,北宋帝国终于走上了灭亡之路。

由于新法的失败后果以及之后元丰党人对元祐党人的迫害,所以在后来的官方正史《宋史》里,除了领导者王安石以外,几乎所有的元丰党人中的重要人物如章惇、蔡京等都被划入了奸臣的行列。但为什么王安石可以独善其身?

在变法之前,王安石就已经是具有卓越成就的文学家,并且具有极高的人品操守。为了准备这次伟大的变法,他多次谢绝皇帝请他入京为官的要求,坚持在地 方上实践他的新法长达二十年之久。除了不太善于与他人交往,生活上不修边幅以外,近于完人。这也许就是为什么人们不愿意相信王安石是一个桑弘羊似的人物的 原因吧。

而元祐党人的领导者便是执行“元祐更化”的大历史家司马光。在学术成就和人品操守上,司马光与王安石不相上下,而且年长两岁的司马光比王安石更为成 熟稳重。此外,元祐党人中还包括了当时除王安石以外的绝大多数著名文人以及当时大部分的元老重臣们。如果说王安石是先进管理技术的代表的话,那么是否可以 说元祐党人就是一群代表大地主大贵族利益的保守僵化势力呢?

在元祐党人中,除了司马光以外,还有像欧阳修、苏拭、苏辙、黄庭坚,甚至是王安石的亲弟弟王安国等人。这些人都是非常正直的,非常有才华的人物,他 们冒着与皇帝作对的巨大风险,强烈反对新法,其理由同样祟高。且不说富有远见的司马光早在变法之前就预见到了王安石将造成与桑弘羊一样的后果。在新法实行 过程中看到听到的来自民间的疾苦也使这些具有社会文化良知的人们激动起来。

为了阻止变法,司马光曾劝说过王安石,还试图用两个故事来劝阻神宗:

一个是汉初高祖时期,萧何去世后,曹参继任为相,他完全按萧何的方法办事,保持一种无为的休养生息政策,这一被称为“萧规曹随”的做法一直延续到后来的文景之治,为汉朝建立起稳定的经济基础。

二是汉武帝把前几代积累的资本挥霍一空后,任用商人桑弘羊进行变法,这一通过国家垄断所有赚钱的行业来进行对百姓的盘剥,以民间经济萎缩为代价,换取财政收入的迅速增长。同时也养肥了以桑弘羊为首的变法官员们。

在对他们的劝阻失败之后,司马光不得不退而著《资治通鉴》,成为新法反对派的精神领袖。《资治通鉴》顾名思义就是说他希望皇帝能够以史为鉴,不要犯历史错误。可惜当时沉浸于理想中的宋神宗和王安石是听不进去的。

那么王安石变法为什么会失败呢?为什么明明是先进的管理理念,却不能够达到理想的效果呢?

王安石的以青苗法为代表的新法,通过信贷促进经济发展,对国家进行金融调控的措施具有高度的先进性,远远超出了那个时代。那个时代还不具备新法实行所必要的基础,神宗和王安石有的只是政治上的善意和目标,正如这句话说的:“天还没亮,王安石起得太早了。”[1]

关于这点,历史学家黄仁宇先生有过更专业的解释[2],大意是说:宋朝当时只是足够的经济规模,却没有形成相应的民法和金融基础。说得具体一点就 是:在当时的中央集权政治体制下,唯一的管理系统就是以道德维系的官僚组织。而道德本身是没有强制力的、脆弱的,所以结果就是新法的好处由官僚们享用了, 而新法的恶果却要百姓们吃。

比如青苗法,因为放贷是用的国家资本,没有商业银行的金融信用体系--如缺乏对贷款人的信用评级,还款能力评估,坏帐准备等。一旦贷款难以收回,官 员们就只能动用国家强力压迫农民,以保证自己的政绩。或是通过私下加利,以备灾年--相当于现在的坏帐准备金。但是这种手段完全是暗箱操作,于是给了官员 们中饱私囊的机会。对于农民来说,一旦收成不好甚至遇上灾年,贷款就很可能还不上,而当时又没有相应的保险机构为他们提供这种保障,破产在所难免。

其它的如市易法之类也类似,也变成了与桑弘羊时一样的杀鸡取卵式做法。

所以说,如果没有考虑国内软件公司的具体情况,贸然引入国外的先进管理理念,很可能事与愿违。

如我在《大历史观》[9]一文中所说的:中国的文化基础决定了这种以道德作为上下间维系纽带的组织结构是中国软件公司的典型情况。在这样的中国软件公司里引入如微软这样的先进管理理念会是什么样的结果呢?

时任微软亚洲研究院高级经理的陈宏刚博士说过:

在微软的产品团队中,权威仅仅来自于知识,而不是来自于职位[7]。

这在人治化的中国软件公司里很难做到,还是那个“软件蓝领”时代的问题:

你可以接受技术不如你的人的管理吗?

事实上对于在软件公司里的底层开发人员来说,面临着两种权威:一个是技术权威,一个是行政权威。二者是分而治之还是合二为一,便是在国外也没有统一的做法。在《人月神话》[5]第七章中,Brooks认为:对于小团队来说最好合二为一,而大团队则最好分而治之。而微软的产品团队[7]则由产品管理、项目管理、软件开发、软件测试、后勤管理、用户培训六个环节组成一个环形结构,保持相互的良好沟通。这六个团队本身是平等的,每个团队有自己的负责人,六个负责人组成一个管理团队,同样要保持相互的沟通。如Brooks所说[5]:交流及交流的结果--组织,是成功的关键

可以注意到上面说的微软团队有一个很关键的地方:平等。其实Brooks认为大团队应该将行政管理与技术管理分而治之时,虽然他倾向于由产品负责人主导工作,但是他也反复强调了产品负责人必须保障技术负责人的技术权威,而且他在其中举例说明应该由产品负责人主导时,表达的意思也是:让技术负责人专注于技术管理方面,由产品负责人去承担其它方面

这就意味着在这样的组织中,并不存在绝对的上下级关系,人治是行不通的,只有通过完善的法治才有可能。而如果放在中国的文化背景下,很可能演变成:产品负责人对组织有绝对的管理权;或是微软式的组织中,产品管理和项目管理团队被提升到高于另外四个团队的情况。而一旦这种平等状态被打破,则良好的交流环境就不复存在(上下级间的交流是不对称的),先进管理理念反而可能造成不良的后果,一如失败的王安石变法。

自从印度软件业的成功之路在国内被大肆宣传开来之后,国内充斥着大量王安石式不切实际的想法。虽然约二十年前Brooks就说过:没有银弹[5]。

这一经典论断导致了两个极端的结果:一部分人坚持有银弹,另一部分人则认为没有任何弹。因为Brooks只预言了十年的时间,现在已经快二十年了,没有银弹已经成为共识,但还是如Brooks所说:乐观主义是这个行业的职业病[5]。认为没有任何弹的人还是少数,大多数人坚信有铜弹,至少是铁弹。不能得到一个数量级的提升,能有三五倍甚至只是不到一倍的提升也是值得的。

应该说这种想法是有道理的,而且我们也看到这二三十年来软件业的长足进步,证明了铜弹铁弹的存在。但问题在于,这些“弹”不是包治百病的大力丸,谁吃都可以的。这个“某弹”在别人那里能得到一倍的提升,那只是对于别人而言,对你呢?可能是提升三倍,也可能下降三分之二。

我们需要的是对症下药因情况而异。

在《大历史观》[9]一文中,我说到中国目前存在着大量的小软件公司,是因为国内目前的软件项目市场不规范造成的,也就是说有一个环境在那里放着。而这个环境是我们所无力改变的,我们所能做的,就是去适应它。

对于那些靠一两个项目起家的小软件公司来说,一个重要任务就是如何摆脱这种靠天吃饭(通过关系拿项目)的困境。特别当看到像印度这样的国家--我虽 然没有去过印度,但是认识的人里去那取过经的为数很是不少,据说印度国内的经济状况比我们要差得多--其软件业的发展程度却让我们望尘莫及。于是国内的人 们开始试图通过取经学习,以达到大跃进的目标。

然而如我上面说,没有看到双方情况的差异下引进管理理念、开发技术以及一切貌似“某弹”的东东,结果却发现它们都只是“苦杏仁苷”[6]。剥一句《手机》里费老的名言:

盲目,人家情况不同的。

所以我写了《走自己的软件发展之路》[10],必须先看到我们与国外在基础情况方面的不同之处,再来探寻一条适合于我们的路。在引入一项新技术新方 法,试图改进你的软件项目管理时,先想一想,你是否知道你的问题在哪里。如果你在一条黑暗的街上丢了钥匙,别到另一条街上去找,虽然那里的灯看起来更亮一 些[6]。

说了这么多的问题,如果不说一下解决方案,恐怕又要被人认为是空谈主义者了。

还是从王安石变法说起。

在变法过去近千年之后,我们已经可以比较明显地看出来新法失败的原因,并且客观地说,在那个时代条件下,司马光的意见更正确一些。王安石的政治思想 与他的文学作品一样,充满了理想的浪漫主义色彩。而司马光就不会像王安石这么天真了。作为一位伟大的历史学家,他的眼光穿越了中国千年的历史,对这种根深 蒂固的人治文化有深刻的了解。虽然他在经济金融方面远远不如王安石,但是他对中国的真实情况了解却远远比王安石强。所以才能在王安石提出变法时,预见到了 他失败的结局。

其实关于这个,还有一个很重要疑问,那就是数百年后明朝万历皇帝的首辅申时行思考过的一个问题:[3]难道一个人熟读经史、文笔华美,就具备了在御前为皇帝作顾问的条件?难道学术上造诣深厚就能成为大政治家?黄先生对此的回答是:正因为帝国是实行中央集权体制,以道德为精神支柱,依靠文牍进行管理。所以就是这样,只有了解过去的人,才能管理好现在。这就是中国的管理文化,这就是我们要适应的管理文化。而要成功地在这样的文化背景下进行管理,唯一之道就是伟大领导人说过的:

稳定,是压倒一切的重中之重。

司马光在给宋神宗讲的那个“萧规曹随”的故事,表达就是这么一个意思。历史上中国每次繁荣时期,同时也是稳定的时期。比如西汉初年的文景之治,唐代 的开元盛世、贞观之治,清代的康乾盛世,无一不是如此。而稳定的基础在于少变甚至不变。如曹参的做法。同样,西方的马基雅维里也论证过:对于世袭的皇权,只要后代谨守祖先定的家规,就可以很容易地进行稳定的统治[4]。

想像一下:如果宋哲宗亲政后,仍然维持宣仁太后的“元祐更化”主张,恢复变法前的状态,北宋可能还可以维持更长的时间。

当然,稳定并不是指保守僵化,而是指谨慎、不冒进。

就如上面所说,如果宋哲宗继续“元祐更化”主张,北宋也只能是多苟延残喘一段时间,终究是要灭亡的。这一点是大宋帝国开国皇帝就种下的种子。所以,改进同样是必要的。只是改进必须是在稳定的基础上进行,失去了稳定,就失去了基础。

而西汉初年的“萧规曹随”正是在政治上保证了稳定,才能够使经济得到长足的发展,给了汉武帝一个坚实的基础。这其中最关键的一点就是抓住了中国的政 治要害:民是易管的,最难管的是官。而变法最容易造成官员借机鱼肉百姓[1]。而在软件公司里盲目引进一些所谓的先进管理理念不过是把公司提供给职业经理 人们做实验田罢了--关于这点,我将在后续的文章中加以讨论。

关于稳定,需要讨论几个方面的话题。

首先是公司制度和决策的稳定。关于这点,我在《大历史观》[9]一文的最后已经说过了。

其次是团队的稳定。《人件》[6]中说道:人件,是软件公司最有价值的资产。人员流动会增加公司的成本。如果公司中总有人离开,而你第二年还在,那么就是你有问题了。可见团队的不稳定将会造成公司的巨大损失,并且这种损失还很有可能是长期性的。

我们常常可以看到一些宣传说软件公司应该保持适当的人员流动率,比如20%。于是很多软件公司就盯着这个指标了,根本不注意稳定队伍。这真是一件可悲的事情,他们没有看到,这个指标同时说明了还有80%的员工是应该要稳定住的。

关于这种比率的问题,可以举一个很有意思的案例。某天在QQ群里,有人发了一则八卦新闻,说据统计,中国大学的女生中有约50%在毕业前有过性行为。我回复说,如果换成“中国大学的女生中有约50%到毕业时还是处女”,是不是看着就舒服多了?

很多时候人就是这么容易地被一个简单的百分数所误导。

公司的员工团队失去了稳定性,带来的问题就是:离开的员工去了新的公司要重新来过,而原来的公司招来的新人要重新适应过。当整个软件开发行业都是这 样时,结果只能是导致全行业一直在一个较低的水平下不断地重复,而得不到长足的发展。所以我们才会眼睁睁地看着旁边的印度在这几年里崛起而干瞪眼。这样也 就算了,几年来我们还是没有走出来,还在找寻那些个“某弹”,结果又是这样地看着韩国在游戏业上崛起了。如果我们还没有意识到问题的所在,还在找“弹”的 话,不知道周边还有什么国家会在软件业上崛起。说句玩笑话:不要等朝鲜也在软件业上崛起了,我们还没有醒悟。

团队的稳定对于员工个人来说也是很重要的,经常跳槽对个人的发展是极为不利的。做编程的哪个不知道Coding是不可能做一辈子的。而对于技术人员 来说,升迁的通道其实非常狭小,现在大量在Coder在今后终归是要有一个去处,不论是去做管理,做市场,还是干脆转行。而去做一个软件架构师无疑是一个 非常吸引人的方向。但能成为架构师的毕竟是少数。来看看Luke Hohmann说的做一个架构师需要什么样的条件吧[8]:

最重要的就是在一个行业甚至是一个产品里长期的从业经验。一个做过多个软件的人,和一个在一个软件上做过多个版本的人,完全不是在一个层面上的。

本文讨论了一下对国内软件业发展之路的一点个人看法。总之,我认为不能盲目地尝试“先进”的东西,更要找到“合适”的东西。而我认为,在目前国内的情况下--人治的文化背景和小农经济式的国内软件项目市场--维持稳定,并在此基础上逐步提高才是一条更为合适的道路。

(未完待续)


参考文献
[1]李亚平《帝国政界往事》
[2]黄仁宇《中国大历史》
[3]黄仁宇《万历十五年》
[4]马基雅维里《君主论》
[5]F.Brooks《人月神话》
[6]T.DeMarco&T.Lister《人件》
[7]陈宏刚《微软的软件开发》(《软件开发的科学与艺术》第四章)
[8]B.Venners《与Luke Hohmann对话软件架构师》(《程序员》2004年第5期)
[9]猛禽《软件与中国古代史:大历史观
[10]猛禽《走自己的软件发展之路

Dec.12-04, Feb.20-05