2007年7月16日 星期一

C04 做事的方法(5)──結果論或過程論?

舉凡做事,都會有過程,有結果。不管是歷史或身邊所遇到的事都是以成敗來論英雄,因此很多人都同樣的以這種觀點來看待所有的事。一次性的事件由於永遠不會再重來,所以留在世人心中的只是結果,過程只是拿來檢討當初會成功或失敗的關鍵點而已。但是系統呢?它可是會一直重覆行動、甚至在做過改變後再持續行為的。

如果只看結果,那麼系統如何達成功能的過程幾乎都會被忽略,不管使用或維護都感覺像是一個無法明白內部機制的黑箱,我們只能知道結果對或不對。在偏重結果的情況下,內部的設計很可能就是幾個難以分解與切割的大型元件,在未來產生設計變更時,運氣不好的維護人員就得花上原先有作拆解的數倍時間來達到新功能的需求。

注重過程的作法會把理論與經驗裡所知道應該抽離的部分放置在不同的元件,讓各元件具有其自己的責任與意義,在元件完成自己責任時呼叫所有相關的元件一同完成指定的功能。由於系統功能會被不停地測試,我們可以依據測試出來的結果來判斷可能在哪一段的處理發生問題,這在只注重結果的方式裡是很難理解的。未來遇到需求變更時,我們應能知道應該要抽換哪一段處理元件或是擴充其功能來新增參數;這種便利性在黑箱作業裡是很難出現的。

系統的過程,如果能將元件分割成類似組裝合成的產品,一件件地加以拆解在不同地方生產或是取得現成可用的,這不是很理想嗎?但可惜的是對絕大多數的人來說,軟體工廠的實現卻有如難以實現的夢。

平時做事即使全用結果論來看待事情成敗都還可以,但是從事教育時絕對要記得使用過程論。一次定成敗的結果論對於初學者來說實在是過於嚴苛的考驗,教育是讓學習的人經由一次次地檢討過程中的錯誤,並於一次次的演練中逐漸明白過程如何處理才會有最好的結果,進而演變為學習者本身的能力。

沒有留言:

張貼留言