2008年6月7日 星期六

Q15 努力的方向(7)──將經驗帶到往後的同型專案

如果使用能夠記錄下開發歷程的方法來設計系統,理應從第二個專案開始起可以使用到前面專案累積的經驗。其實只要開發過一個系統肯定會有經驗的累積,一個開發團隊的評量除了達成客戶要求的功能之外,就看他們把經驗累積到哪些地方。

最不好的經驗傳承是存放在自己的腦袋裡只留下程式碼,因為未來可以說是什麼都看不懂;再好些的經驗傳承是使用文件,很多東西都可以查得到,不過得看程式與文件有多少的同步化;較好的經驗傳承就是從程式碼裡產生完全正確的文件與想法,然而這也得視程式元件的定義是否理想。

在切割好所有Use Case、Module與Layer的層次並擺放好所有的對應元件後,將專案裡的Use Case逐一依設計的方法與使用的物件,逐層地放置到方法與資料應該在的元件並封裝對應的邏輯。下一個專案開始時將所有的產出先帶過去,再逐一檢視Use Case、方法與資料有哪些可重用、有哪些需要修改與哪些需要新增。

以原有的清單作為基準再記錄下異動的種類,每個差異都是新專案裡的工作項目。記錄下前後差異的項目是系統分析者的責任,研擬出融合新需求又能再拿回前一個專案的產出則是程式設計者的挑戰。如果經驗無法往後重用,那麼每個專案都幾近重新製作且各自平行,這又有什麼意義呢?

沒有留言:

張貼留言