术语表
布鲁克斯定律
人月神话
布鲁克斯定律 指出:向已经延期的项目增加人手,只会让它更晚交付。原因在于新人的培训投入与协调成本的增长速度快于新增的工作能力。
弗雷德里克·布鲁克斯 于 1975 年在《人月神话》中,从 IBM 操作系统 OS/360 的开发经验中总结出这一定律。他的核心论点是:只有当工作可以任意拆分、且参与者之间无需沟通时,人与月才可以互换。项目工作很少同时满足这两个条件。
三种效应同时起作用:
- 培训占用了最有经验的人。 新加入的人需要有人带,而带他们的正是当前产出最高的成员。最初几周的净增量是负的。
- 沟通路径呈平方增长。 n 个人之间存在
n(n-1)/2条可能的两两连接。从 5 人增至 10 人,团队规模翻倍,协调路径的数量却接近翻两番。 - 并非所有任务都可以拆分。 布鲁克斯的比喻是:九位女性也无法在一个月内生下一个孩子。
每个人都要与每个人沟通
团队内的沟通路径,图中标出全部两两连接
5 人
10 条路径
15 人
105 条路径
沟通路径:
n(n-1)/2
团队规模扩大到 3 倍,连接数量增加到 10 倍。这部分时间不会出现在任何工作量估算中。
这条定律并不是说团队永远不该扩充。它说明的是:增加人手在短期内消耗产能,中期才开始带来产能。在截止日期前四周才增员,等于只付出代价而看不到收益。
定律的适用范围是有限的。它适用于需要协调的工作,以及培训仍在进行的这段时间。如果任务可以清晰拆分、参与者彼此独立推进,增加人手确实能够扩展产能。布鲁克斯本人也把这条定律称为有意为之的简化,而非自然规律。
同时开展更多工作却很少更快完成,第二个原因不在团队规模,而在未完成任务的数量。这一点由 利特尔法则 说明。