星期日, 12月 17, 2006

人月神話...

人月神話這本書已經上市超過30年了, 大多數的人總還是認為在一個軟體Project裡加人, 可以縮短需要的時間. 而事實上, 除了低技術的勞力密集工作之外, 在這個時代裡, 很少有工作可以符合這種依人數變多而時間可以縮短的期待了...

Wiki有人月神話的link


Adding manpower to a late software project makes it later.

他所持的道理很簡單, 只有兩條...
  1. 加人進來, 新人是需要學習的, 在學習的時候是沒有生產力的, 且必然地會拖累老手的生產力. 所以在Project的愈後期加人, 不但沒有幫助, 反而是一種拖累...
  2. 人愈多, 所需要的溝通就愈多. 兩個人之間只有一條channel, 三個人就有三條了, 四個人就六條, n個人就n(n-1)/2條channel, 人愈多, 這中間的over head就愈高.

就我來說, 還有一個原因, 那就是做軟體並不是一個線性的生產線, 就算是一條生產線, 也不代表可以走捷徑. 一個小程式要經由ABC三個步驟來達成, 就一定得先完成A, 才能做B, 做完B, 也才能做C. 不可能說給三組人同時做A, B跟C. 最後再同時組起來, 結果就只需要1/3的時間... 就像蓋房子, 1個人蓋100天的房子, 絕不是100個人一天就可以蓋起來.
這樣的神話, 已經被點出了30年, 為什麼還沒有辦法變成資訊界的Common Sense呢?

沒有留言: