大家好,我是 Senko。 本文将解读项目管理领域最有名的教训之一“布鲁克斯法则”。
项目眼看要赶不上截止日时,多数人会这么想:“人手不够的话,多叫些人来帮忙不就赶上了吗。”可在软件开发的现场,这一招常常适得其反。布鲁克斯法则就是这样一条反直觉的经验法则:“给已经延期的软件开发追加人手,反而会让它更加延期。”加了人却变慢,这到底是怎么回事?本文从三个角度把理由拆开来讲。对于思考做事的方式,这里塞着相当重要的视角。
什么是布鲁克斯法则
布鲁克斯法则(英文 Brooks’s law)是这样一条经验法则:“给已经延期的软件项目追加人员,这个项目会更加延期。”
提出它的是曾指挥大型计算机操作系统开发的技术人员弗雷德里克·布鲁克斯,出自他 1975 年的著作《人月神话》。他把带领巨型开发项目的经验,凝成了一句现场的苦涩真相:“越是为了追回进度而投人,情况越糟。”
乍一看这话有点奇怪。工作量既然定死了,干活的人多了当然应该更快完成——谁都会这么想。要是耕地,人手翻一倍,时间大概就减一半。可在软件开发这类“动脑子去建造”的工作里,这种简单的加法并不成立。为什么不成立?背后有三个明确的理由,我们依次来看。
理由一:让新人变成战力需要时间
第一个理由是,新加入的人没法立刻成为战力。
中途加入项目的人,不可能一上来就火力全开。他首先得理解此前的来龙去脉、系统的构造、规矩以及在用的工具。这个“起步”是要花上相当一段时间的。
而麻烦的是,教新人的是那些已经在干活的老手。本来就忙得抽不开身,现在又叠上了带新人这件事。教的一方得停下自己手上的活儿去做讲解。也就是说,正因为叫了援兵,最能干活的那个人反而被占住了手。在新人独当一面之前,团队整体的生产率反而会下降。加了人却快不起来,第一层机关就在这里。
理由二:人一多,互相传达的开销就爆炸
第二个理由堪称这条法则的核心:人数一增加,联络与协调的开销就会以超乎想象的速度膨胀。
拿具体的数字看看。2 人的团队,互相联络的组合只有 1 种;到了 3 人是 3 种,4 人是 6 种,6 人就多达 15 种。人数翻一倍,来往的条数会涨到将近四倍。这是因为所有人都需要互相共享信息,属于躲不掉的增长方式。
这些来往要花掉开会、确认、对齐认识这类并非作业本身的时间。人加得越多,每个人能用在本职工作上的时间就越被联络开销吃掉。一旦增加的人手所产生的价值,小于随之增加的协调成本,整体反而变慢。本站在帕金森定律那篇里讲过“官员与工作量无关地增加”,而这一条可以说是组织的另一个坑:人越多,时间越是化在彼此的来往里。
理由三:有些工作根本拆不开
第三个理由是,本来就有些工作没法细分给多人。
布鲁克斯为此留下了一句非常有名的比喻:“凑齐九个女人,也没法在一个月内把孩子生出来。”孩子出生怎么都得花上大约十个月,加人也压不短这段时间。只能按顺序做的工作、只能作为一个整体推进的工作,加了人手也分不出去。
软件开发里也有大量这样“拆不开的核心部分”。搭起整体的设计、把纠缠在一起的复杂部分做出来,这类作业很难靠多人分头去干,往往由少数人集中推进反而更快。工作分两种:加人会变快的,和加了也快不起来的。看错了这个区别、什么都想靠人海战术解决,就会掉进布鲁克斯法则的陷阱。
从这条法则能学到什么
那么面对已经延期的项目,我们该怎么办?布鲁克斯法则并不是只在说“别加人”,它包含着更实用的教训。
首先是知道“延期的时候,加人不是特效药”。比起慌了神到处凑人,缩小作业范围、重新排优先级、把截止日期改到现实的位置,往往更有效。这也与本站墨菲定律那篇讲的“为最坏情况做计划”的思路相通。一旦出现要延期的苗头,在急着增员之前先重审计划才是明智的。
其次,要加人就趁早。项目前期还有让新人起步的余裕,体制也好搭。“临到末尾慌忙加人”是最糟的,“从一开始就用合适的人数起步”才是理想。我自己也是一到截止日临近就忍不住想靠人手硬扛,可想起这条法则,就会先去考虑“与其加,不如减、不如收窄”。
关于布鲁克斯法则常见的疑问
它适用于所有工作吗
不,有容易适用的工作,也有不适用的。这条法则起效最强的,是成员之间配合紧密、需要深厚专业知识、不容易分担的工作,软件开发就是代表。而在只要动手做、容易切分责任的工作(比如大量发传单)上,加人就能老老实实地更快完成。把布鲁克斯法则理解成“动脑子把一个东西造出来”这类工作特有的坑,就不会用错场合。
“人月”这个词为什么是神话
“人月”是表示“一个人干一个月的工作量”的单位,会说成“十人月的活儿”。布鲁克斯之所以称它为“神话(幻想)”,是因为这个单位立在一个错误的前提上:“人数与工期可以自由互换。”它让人错觉十人月既可以是“十个人干一个月”,也可以是“一个人干十个月”。可实际上正如前面所看到的,加人会让联络开销爆炸,而且还有拆不开的工作,这种互换并不成立。一个方便的单位,把人诱进增员的陷阱——正因为看穿了这一点,它才成了名著的书名。
半个世纪前的法则,如今还管用吗
管用,如今仍被认为有效。这条法则诞生于 1975 年,但人一多联络开销就增加、培养要花时间、有些工作拆不开这些根子,并不会因为工具进步而改变。当然,现代有在线沟通手段和开发自动化,协调负担比当年是能减轻一些。可“加人未必就越加越快”这个本质,照样适用于今天的项目。它能被跨时代地读到现在,我觉得就是证据。
相关的定律
以下是工作会膨胀到填满时限的“帕金森定律”、为最坏情况做准备的“墨菲定律”,以及人会升到自己变无能之位置的“彼得原理”。
结语
本文解读了“布鲁克斯法则”。
给延期的软件开发加人,反而会更延期。这条反直觉的法则出自三个理由:新人成为战力需要时间、人越多联络开销越爆炸、有些工作根本拆不开。“凑齐九个女人也没法一个月生出孩子”这句话,把它的本质说得再鲜明不过。
这条法则告诉我们的是,应对延期时,随手增员并不是特效药。在慌忙凑人之前,先收窄作业、重排优先级;真要加人,也该在早期而不是末尾。工作有靠人手能加快的,也有加不快的。光是能做出这个判断,项目的舵就好掌得多。越是急着想加人的时候,越是该想起这条法则。
想返回定律列表的读者请点击下方链接。
我们下一篇文章见。
📚 系列:著名法则大全(6/25)


