在人月神话中,有句话提及很多次:
向进度落后的项目中增加人手,只会使进度更加落后。
这就是除去了神话色彩的人月。
原因有:
1、项目的时间依赖于顺序上的限制。就像煎鸡蛋,必须正反面各煎两分钟,即使加十个人,煎一个鸡蛋还需要正反各两分钟。
A任务和B任务完成后,C任务才能开始。
2、人员的数量依赖于单个子任务的数量。
有很多独立的子任务,加人才会有效,可以独立完成某些功能。但是相互联系的功能,加的人只能等前面的人完成后再做,那么总进度上并没有什么用。
3、沟通,培训成本在增加人之后大幅增加。
新进人员需要培训,需要进行技术、项目目标以及总体策略上的培训。培训会占用已有员工和新进员工多人的时间,客观增加了工作量。
新进人员与原有人员所增加的沟通工时,也会大大增加,尤其是需要与其他人协作时候的工作量。
如果任务的每个部分必须分别和其他部分单独协作,则工作量按照 n(n-1)/2 递增。
一对一交流的情况下,三个人的工作量是两个人的三倍,四个人则是两个人的六倍。
而对于需要在三四个人之间召开会议、进行协商、一同解决的问题,情况会更加恶劣。
所增加的用于沟通的工作量可能会完全抵消对原有任务分解所产生的作用,此时我们会被带到工作量暴增,进度反而要拖延的境地。
所以,进度拖慢时,轻易不要加人。加了人,也不要随意安排工作,最好让其做独立的模块。这样才能最大程度的不影响进度。