閱讀經(jīng)典——《人月神話》02
何謂人月神話——The Mythical Man-month?講真,這句英語(yǔ)按字面來理解似乎應(yīng)該是“神話般的人月”,翻譯成人月神話雖然有新意,卻不易理解。
人月是個(gè)工作量單位,1人月相當(dāng)于1人1月的工作量。那么“神話般的人月”就是說這個(gè)工作量單位有種神話色彩。
過于樂觀的軟件經(jīng)理會(huì)認(rèn)為總工作量可以用人月來表示,而人月自然就可以用人數(shù)乘以月份來計(jì)算。于是,12人月可以等于1人12個(gè)月,或是3人4個(gè)月,或是12人1個(gè)月。
然而事實(shí)并非如此,人數(shù)增多會(huì)增加溝通成本,導(dǎo)致12人并不能在1個(gè)月內(nèi)完成任務(wù)。而且,人數(shù)具有上限,當(dāng)人數(shù)超過可分解任務(wù)數(shù)時(shí),再增加人數(shù)非但不能提高效率,反而會(huì)延長(zhǎng)完成時(shí)間。懂得并行編程的朋友應(yīng)該更容易理解這種情況。
那么,在實(shí)際開發(fā)中,如果進(jìn)度晚于預(yù)期,我們是否應(yīng)該增加人手以提高開發(fā)速度呢?本書作者Brooks給出的答案是:向進(jìn)度落后的項(xiàng)目中增加人手,只會(huì)使進(jìn)度更加落后。這就是除去了神話色彩的人月。正確的做法是,重新安排進(jìn)度,在新的安排中分配充分的時(shí)間,以確保任務(wù)能夠仔細(xì)、徹底地完成,這可能要以延期為代價(jià);另一種方案是削減任務(wù),并調(diào)整項(xiàng)目進(jìn)度表,以保證如期完成。