2008年11月21日 星期五

Q03: 在進度落後的軟體專案中增加人力只會讓專案更落後-F.P. Brooks


Adding manpower to a late software project makes it later -- F.P. Brooks


關於 Prof. Brooks, 可參考 http://www.cs.unc.edu/~brooks/

2 則留言:

  1. 我想這句話的意思是,新加入的人對該專案可能不熟,或是技術能力並不是很好,所以需要一些教育訓練的時間,或增加溝通的難度。但在實際上有人加入還是有幫助的,特別是高手。

    對於進度落後的專案,我們還能有那些作為?叫既有的人加班?軟體公司加班好像已成為常態,為什麼?真的沒法子可改了嘛?

    回覆刪除
  2. 這句話是Fred Brooks所著"The Mythical Man-Month"(1975年)一書中的名言,其主要精神是說「人」與「時間」不能互換,人不管是高手或低收,只要是發展軟體都有這種現象,例如一專案需用5人發展10個月,所花的effort就是50 person-months,如果你的老板說,給你增加5人,但完成的時間縮短5個月,算起來所須的effort也是50 person-months,如果你是該專案的經理,我建議你最好不要很高興地接受,因為人與時間不能互換,為何?這可以用L.H.Putnam的"Effort-Time Tradeoff Law"來解釋(我無法在這裡詳談),簡言之,產量與effort是1/3次方比,但與時間是4/3次方比,你不要以為這是「蛋頭」之言,Brooks這句話行之多年皆準,我在另一則「殺設計師」的諺語中,以開礦為比喻或可參考,這不是高低手的問題,如果要用加班解決,恐怕越加越糟糕,敏捷方法有言,發展軟體不要每週工作超過40小時,不知你信不信。

    回覆刪除

注意:只有此網誌的成員可以留言。

追蹤者