布鲁克定律(Brook’s Law):为已经延期的软件项目增加人手只会让项目延期得更厉害

如果一个项目出现了延期,只是简单地增加人手很可能会带来灾难性的后果。对编程效率、软件开发方法、技术架构等因素进行评审总是会带来更好的结果。如果没有,那说明霍夫施塔特定律也在起作用。

霍夫施塔特定律(Hofstadter’s Law)由 Douglas Hofstadter 提出,并以他的名字命名。这个定律指出:即使你考虑到了霍夫施塔特定律,项目的实际完成时间总是比预期的要长。

这个“定律”是关于准确预估完成复杂任务所需时间的难度。这个定律具有递归性,反映了预估复杂项目的难度,尽管你可能已经做出了最大的努力,而且也知道任务的复杂性。

这就是为什么在进行项目预估时必须要有一个缓冲区。

软件开发后期,添加人力只会使项目开发得更慢。

这个定律表明,在许多情况下,试图通过增加人力来加速已延期项目的交付,将会使项目交付得更晚。布鲁克斯也明白,这是一种过度简化。但一般的论据是,新资源的时间增加和通信开销,会在短期内使开发速度减慢。而且,许多任务是密不可分的,换句话说,这样可以使更多的资源之间能轻易分配,这也意味着潜在的速度增长也更低。

谚语:十个女人不能在一个月内生一个孩子。与布鲁克斯法则同出一辙,特别是某些不可分割或者并行的工作。

这也是《人月神话》的中心主题。

参考

https://cloud.tencent.com/developer/article/1421055?from=article.detail.1525574

https://github.com/nusr/hacker-laws-zh

https://en.m.wikipedia.org/wiki/Brooks%27s_law

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注