2010/04/24

欲速則不達

Joel on Software 有一讀再讀的價值,這幾年前讀過三、四次,還是覺得收獲良多。

雖然 Joel on Software 講的是程式設計、程式專案管理,但是參考他的建議,用在其他領域也是同樣有效。

如果要讓工作順利完成,首先得將工作細分成可以執行的小項目,並且確認每個項目都正確的完成。

有錯誤馬上修正,確保正確後,再進行下一個項目,以免錯誤繼續擴散。

參考來源:

"為了修正這個問題, 微軟全面採用所謂的"零錯誤作法".

很多公司裡的程式人員都不禁竊笑, 因為聽起來像是管理階層認為能用行政命令降低錯誤數量. 實際上"零錯誤"是指無論何時都要先修正錯誤才能寫新程式.

原因如下. 一般來說, 愈晚修正錯誤, 修正所付出的成本(時間及金錢)愈高. 舉例來說, 當你打錯字或出現編譯器會發現的語法錯誤, 要修正只是小事一件. 當你的程式第一次執行出錯時, 應該也能立即改正, 因為整個程式還在你腦海裡.

如果要為幾天前寫的程式除錯, 應該需要回想好一陣子, 不過當裡重讀所寫的程式之後, 就會記起所有細節並在適當時間內把問題修好. 不過如果你要為幾個月前寫的程式除錯, 很可能已經忘掉了一大半, 要修正就是難上加難.

你也可能正在替別人的程式除錯, 而當事人可能正在阿盧巴渡假, 這時候除錯就像科學一樣: 你得條理分明小心翼翼地慢慢來, 而且也無法確定要多久時間才能解決. 另外如果要為已出貨的程式除錯, 要修正問題的代價可是難以估算的."
- Joel on Software - 約耳測試: 邁向高品質的12個步驟 (在「Google 網頁註解」中檢視)