人月神話 - 軟體開發之路 - Een schip op het strand is een baken in zee. [A ship on the beach is a lighthouse to the sea.]


Een schip op het strand is een baken in zee. (荷蘭諺語)

A ship on the beach is a lighthouse to the sea. (英譯)

對航海的人來說,擱淺的船舶就是燈塔。 (中譯)

在閱讀『The Mythical Man-Month, 人月神話』這本書時,作者的這句話讓我印象深刻。書中提到我們在軟體專案常使用的計量單位"人月"(意指一個人做幾個月可以完成)其實是個神話,似乎這樣的估算方式也是件蠢事,這樣的議題值得我們深思。

人月神話這一本書已經銷售超過25年,絕對是地球人類史上少見的軟體管理書籍,值得用心閱讀與體會。不論是什麼樣的系統開發模式,至今都沒有出現完美的解答,就如同書中的『沒有銀彈』道理是一樣的。軟體設計有多複雜,我想有接觸過軟體設計的苦主一定同感深受,引述書中幾句話(粗體字):

  • 軟體專案交期總是延誤,Bug永遠解不完(甚至Bug被發現與產生的速度高於被處理的速度,懷疑自己在寫程式還是在寫Bug)
  • 上司氣的跳腳(專案資源大幅超過估計值)
  • 被客戶罵的狗血淋頭(客戶會說:這不是我要的、這根本不能用)(有時連自己都不敢保證這樣的系統能夠正常運作、對於測試報告充滿恐懼)
  • 每週加班超過20小時連續半年以上(交際生活停擺、和女朋友的關係形同陌路、自己的小孩也不太認得父親;每天都有要準時下班的決心,但最終都會成為夢想)
  • 總是感覺意志消沈,同樣的倒楣事一再上演(兩眼無神、眼神呆滯、親友都稱我宅男,離開電腦的時間剩下制式且自動化的行為)
  • 搞軟體真是浪費生命,一群聰明人卻盡幹些蠢事(每天精力與體力耗盡,生活就像線上遊戲練功打怪)
  • 已經有輕微的胃潰瘍、睡眠不足、職業倦怠、或初期過勞死的症狀(健康檢查的報告拿在手上有莫名的失落感)
  • 苦思如何方能逃脫這種越陷越深、無法自拔的『焦油坑』(深信換了工作就能擺脫困境,其實只是改變悲劇上演的地理位置)

其實軟體開發之路也沒有那麼艱辛,大家可別被嚇壞了,軟體設計還是有光明彩色的一面。歷經這些過程能讓我們的人生經驗更加完整,身心智發展更為健全!?

比起以前這些軟體開發前輩走過的路,現今我們在軟體開發上算是幸運多了。拜賜這些已經壯烈犧牲的系統,他們的開發經驗成為我們指引正確航道的燈塔。感謝各位前輩與先進的導引,才能讓我們大幅降低開發的痛苦與抱頭的次數。如果可以避免悲劇一再上演,別人的開發經驗將會是我們的墊腳石。多看多聽多交流絕對是遠離失敗的不二法門,願未來的軟體之路能夠找到真正的『銀彈』。

Facebook 留言

廣告

樂樂童鞋