jim yeh on 九月 16th, 2007

在〈放諸四海皆準的開發方法嗎?〉的讀者回應中,有讀者提到: 議題本身下的定義就不適當,如使用"A"開發方法可能適用於不同國家相同企業組織型態之公司,而"A"開發發法不可能適用於所有組織型態之公司。所以會有不同理論基礎之開發方法讓專案經理去思考用運用於不同專案。 同人認為這位讀者的意思,大概是指開發方法可以適用在不同區域或文化下的相同類型的組織,但對類型不同的組織卻無法一體適用。但實在不知道他為何會認為在相同型態的組織可以適用同一種開發方式,同人的軟體開發經驗所顯示的現象卻不是如此。 例如,過去在開發銀行付款系統的時候,對不同銀行同樣的系統,我們的開發方法卻會有很大的不同,雖然在銀行領域的企業組織型態都是一樣的,但不同的企業實體卻會對軟體本身有不同的目標與期望,所以開發方法必須跟著做調整,國內的銀行是如此,國外的那就更不用說了,所以同人實在無法苟同這位讀者的觀點。 另外也有人回應,開發者要有足夠的專業能力與經驗,如果在專業能力與經驗不足情況下,解決問題的時候就只好什麼情況都考慮進來;同時他認為在有時間限制或是競爭壓力的情況下,用「放諸四海皆準的方法」慢慢摸索也不見得是好方法。 這個意見表面上看來理所當然,但仔細進一步思考卻發現其觀點卻是不完整的。在專案一開始,開發者往往並不知道他們的能力及經驗是有所不足的;在專案規劃過程中,他們往往會受限於資訊的有限及個人認知的偏頗而對問題有錯誤的解讀,所以他們不可能把所有狀況都考慮進來。 因此,謹慎的開發者,他們不會太相信問題就是自己所知道的,而是會去進一步地探索自己所不知道的真正問題,這樣做才能找到可以解決問題的有效方法。 所以,如果對專案問題了解不夠徹底,摸索其實是必要的,但這並不是「放諸四海皆準的開發方法」。為什麼呢?因為,專案的問題都還沒清楚及完整地呈現在我們眼前,何來開發方法可言?摸索問題是一種過程,它可視做是一種方法,但它不是開發方法,而是在專案可行性分析或規劃開發方法的方法。

Continue reading about 開發方法的思考陷阱