什么是布鲁克斯法则
布鲁克斯法则是指投入更多的人来开发一个紧急的项目只会让进度更慢。更多并不意味着更好,有些事最好是一个人来干。
布鲁克斯法则的内容
布鲁克斯是上世纪60年代IBM System/360的操作系统OS/360的开发负责人,这之后基于当时的经验写了人月神话一书。
这是描述大规模软件开发难度的一本划时代的书。看下面的示例。有这样一个项目需要12个人月,那么3个人4个月就能完成该任务。然后,在每个月设定观测点A/B/C/D。
但是一个月就需要结束的A结果花了两个月完成。这相比于预估时已经是两个月之后了。怎么办?管理者有下面的对策。
虽然当初的估算是对的,仅仅是最初的工程弄错了。也就是说推断剩下9人月。因为有9人月的工作,两个月完成的话需要9/2=4.5人。追加两个人到这3人团队中。当初的估算弄错了,不是12人月而是需要24人月。因为已经花了6人月的时间了剩下需要18人月。2个月完成的话,需要18/2=9人。追加6人到当初的3人团队。
重新安排任务。追加充足的时间到新的计划了。
调整工作目标。减少工作。
那么,应该采用什么方法呢。最开始的二个方法,不修改工作目标和工作进度表的话最初4个月完成目标的期望就破灭了。
假如追加2个人,这两人的培训成本,3人完成的工作用5个来做,就需要重新安排工作,这些成本没有被追加到估算中,结果的话最终期限无法完成。追加6个人的情况,这种成本加的更多。
这就是布鲁克斯法则:追加人员到延迟的项目更会影响项目的进度。如布鲁克斯所写的那样,无法按进度完成工作的话,只能降低工作目标作业。