jim yeh on 九月 7th, 2007

本文係投稿於 CNet / ZDNet Taiwan 的文章初稿,未經 ZDNet Taiwan 編輯,其內容可能會略有差異。 上次筆者在〈從高鐵談大型公共建設軟體開發專案(下)〉的讀者回應中,發現有位讀者 Luke 留下了網誌鏈結,並在他的網誌當中發表了他的看法。他不同意筆者對大型公共建設軟體專案有關解決問題心態的觀點,他指出事實上開發人員並不是在大型專案中試煉自己的技能,不斷的調適、熟練的過程,這些應該是平時應該要做的工作,而不是把作專案或是產品當成是練兵。 Luke認為開發人員不應藉由大型專案開發過程中試煉自己的技能,而是要在平時就要有足夠的時間讓他們練就好純熟的技能,這樣在專案開發的一開始才能避免不必要的浪費,並且能夠開發出強壯且靈活有深度的架構。 筆者相信許多軟體開發人員都會贊同Luke的觀點,與其把時間耗費在應付專案永無止境的壓力,還不如在平常多花一點時間研究如何把系統做得更好,以節省專案無謂的浪費。然而,「理想與夢想是美麗的,現實卻是殘酷的」,筆者卻擔心這種以開發者角度出發的理想在實際的專案開發上會是個難以實現的夢想。 為什麼筆者會這麼認為呢?依照個人多年來參與軟體專案開發的實際經驗顯示,軟體專案沒有放諸四海皆準的開發方法,所以開發人員很難事先預知他接下來應該學什麼,專案也不可能等他們學好需要的技能才開始,所以他們技能的學習與成長往往是在專案的做中學(learning by doing)的過程中所累積得來的。

Continue reading about 有放諸四海皆準的開發方法嗎?