软件随想录:程序员部落酋长Joel谈软件(阮一峰译)-5

5. 军事化管理法

 

200688日,星期二

    士兵应该害怕他们的长官,甚于害怕任何他们将要面对的危险……亲密永远不会让普通士兵面对危险时挺身而出,只有恐惧才会让他这样做。

——腓特烈大帝[①]

    命令和控制式的管理源于军事管理。大致上这种管理方法的思想是,人们只做你告诉他们去做的事情。如果他们没有做,你就对着他们吼,直到他们做了为止。如果他们还是不做,你就关他们的禁闭。要是他们依然没有吸取教训,你就让他们去潜艇里负责削洋葱,住在空间不到一平米的双人房内,并且室友是一个从来不知道刷牙的楞小伙。

    这方面有100万条可以使用的伟大的技巧。看看电影《天才大兵》[②]Biloxi Blues)和《军官与绅士》[③]An Officer and a Gentleman),你会有所收获的。

    一些经理用这种管理方法,因为他们就是在军队里学到了这一套的。另一些经理在专制家庭或者专制国家中长大,认为让手下人听话,这是很自然的方法。还有一些经理对这种方法根本没有深入的了解:嗨,既然它能用来管军队,就能用来管理互联网创业公司!

    但是,事实表明,用这种方法管理高科技团队,有3个缺点。

    首先,人们并不喜欢被这样管,尤其是那些对智商很自负的程序员。这些人实际上确实非常聪明,习惯于认定自己比别人知道得更多。要是这种自我认定恰恰是正确的(很大程度上肯定如此),那么当他们被“出于各种理由”命令去做某事时,他们会非常非常反感。但是,也没有足够好的理由废除这种方法……这里,让我们试着保持理性。高科技团队有许多目标,但让每个人都高兴这个目标很少排在第一位。

    军事化管理法的另一个缺点是操作层面的,就是说,没有足够的时间用在微观管理上,原因很简单,因为经理的人数不够。在军队中,同时向一大群人发布一道命令是可行的,因为军队的通常情况就是每个人都在做同一件事。你可以向一个排的28个人大吼一声“擦枪”,然后打个盹,再去军官俱乐部,拿着一杯冰茶在阳台上慢慢品尝。在软件开发团队中,每个人干的活都不一样,所以如果想进行微观管理,就会变成“打了就跑”(hit-and-run)的抽风式管理。那就是,有一阵子你每件事都管着程序员,然后突然从他的生活中消失了几个星期,你跑开去管理其他程序员了。抽风式微观管理的问题在于,你无法坚持足够久来看到为什么你的决定行不通,或者你无法将整个过程的每一步理顺。从效果上看,你起到的所有作用只不过是每隔一会儿就将你手下的可怜程序员敲打一番,让他们像火车一样脱轨,然后下一个星期,他们不得不花上所有的时间找回每一节列车车厢,将它们放回到轨道上,将所有一切重新安排好,这种经历会让他们有一点点受伤。

    第三个缺点是,在高科技公司中,负责干活的个人总是比“领导者”有更多的信息,所以他们其实是做决策的最佳人选。两个程序员在争论压缩图像的最好方法是什么。他们已经争论了两个小时,这时正好老板走进了办公室,听见了争论。那么在这三个人中,信息最少的那个人就是老板。所以你绝不要去做任何技术上的决策。我记得当我还在微软公司的时候,应用程序部门的负责人是Mike Maples,他是我的大老板,但是他坚决拒绝在技术问题上发表意见。渐渐地,程序员们明白了,他们不应该找他裁决技术问题。这迫使程序员在内部展开争论每个方案的优缺点,最后,问题总是按争论中占上风的人的意见解决,嗯,我的意思是,问题总是用现实中的最好方案解决。

    如果军事化管理如此不利于团队运作,那么军队为什么用它呢?

    这可以用我在军校里的经历解释。1986年,我在以色列伞兵部队服役。现在回想起来,我可能是以色列军队中有史以来最糟糕的伞兵。

    士兵有几条要遵守的规矩。规矩一:如果发现周围有地雷,就要立刻静止不动。听上去很合理,对吧?在基础训练时,你被反复地灌输这一条。每隔一会,教官就大叫“地雷”,每个人只好静止不动。久而久之,你就养成了习惯。

    规矩二:遇到敌人袭击时,就要一边开枪,一边冲向敌人。开枪使得敌人必须寻找掩护,所以他们就不能向你开火。冲向敌人可以使得你更接近他们,因此更容易瞄准,也就更容易灭掉他们。这条规矩听上去也非常合理。

    好了,下面是一个面试中会遇到的问题:你们发现周围有地雷,这时有人开始朝你们射击,你们应该怎么做?

    这并不是一个假设中才存在的情况。遇到这样的埋伏真的是很棘手。

    标准的正确答案是,不要去想地雷,一边开枪,一边朝敌人冲过去。

    这是因为,如果静止不动,那么敌人会一个接一个地把你们打死,直到所有人都死光。但是,如果你们发起冲锋,那么只有一部分人会触雷而死。两害相权取其轻,所以正确的做法是后者。

    问题在于,如果一个士兵有头脑,他就不会在这种情况下发起冲锋。每个士兵都有巨大的动机作弊,自己保持静止不动,让其他更加英勇无畏的士兵去冲锋。这有点像囚徒的困境[④]Prisoners’ Dilemma)。

    在生死关头,军队必须保证,一旦命令下达,士兵都会服从,即使是自杀式的命令。这意味着,必须让士兵养成服从命令的天性。但是,并不是天下所有事情都需要士兵完成。对于软件公司来说,服从命令就不一定有那么重要。

    换句话说,军队使用军事化管理,因为这是唯一的办法,可以使得18岁的年轻人在地雷阵中发起冲锋,而不是因为军方认为这是适用于所有情况的最佳管理方法。

    尤其要指出的是,软件开发团队中的优秀程序员可以去任何他们想去的地方工作。在这种前提下,如果被人当成士兵一样对待,他们会感到相当扫兴,因此你要是这样做,最后就只能成为“光杆司令”了。

    下面介绍本系列中的经济利益驱动法。

 



[①]   腓特烈大帝(17121786Frederick the Great),即腓特烈二世,普鲁士国王(17401786年在位)。统治普鲁士时期,他大规模发展军事,扩张领土,赞助文化艺术活动,使普鲁士在德意志民族中取得霸权。腓特烈二世是欧洲历史上最伟大的军事将领之一。

[②]   《天才大兵》,1988年的美国电影,讲述一个高中毕业生如何在新兵营中成长为男子汉的故事。

[③]   《军官与绅士》,1982年的美国电影,由理查·基尔主演,内容是一个新兵如何通过严酷的海军航空兵训练。

[④]   “囚徒的困境”是经济学分支“博弈论”(Game Theory)中的一个经典问题,1950年首次提出。它的经典形式是,警察抓住两个罪犯,但是证据不足。如果两人都不认罪,就都将被拘留6个月;如果一人认罪,另一人不认罪,那么前者将被释放,后者将获得10年刑期;如果两人都认罪,将各获得5年刑期。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值