專案開發不能沒有開發文件,同時要降低開發文件的使用和管理成本

gavinou發表於2006-11-02
 
系統開發文件管理系統設計
 
在常規專案開發管理中,很多專案專家都提出要用各種各樣規範的文件對開發工作進行管理。但是在日常工作中,由於這些文件的編寫的管理工作都是相當繁重的,以致讓一線員工不能主動積極使用、更新這些文件,長期下來,這些管理型的、設計型的文件所發揮的作用就大大降低,同時由於更新的不準時性,使得這些文件在後期維護過程中的作用大大降低。
 
目前的問題包括:
1. 更新不及時;
2. 可讀性差;
3. 面對不同使用者,不同型別文件的重複性大;
4. 更新工作不能與開發工作進行良好互動。
5. 文件太多造成了使用者使用文件上的混亂
 
以致延伸的問題:
1. 提倡極限程式設計 - 拋棄文件的一種團隊開發方式;
a)         問題是:開發團隊需要進行一定的培訓,而且需要客戶配合,不是所有開發團隊都有條件、有能力實行。
2. CMMS開發管理模式 – 硬性規範編寫文件的和使用文件的各個方面的標準。
a)         問題是;管理成本很高,導致開發成本高昂
b)        需要專案經理強力管理和推行,否則會出現浪費人力而又沒有收穫的情況
3. 統籌編制基本要求文件,然後實行單點(功能點)、單人開發;
a)         問題是:對程式內部結構控制不嚴,容易出現協同與質量問題
 
我的理解:
1. 專案團隊開發需要必要的文件,這是毫無疑問的,而且有效的文件越豐富,對專案開發和團隊溝通越有效;
2. 團隊使用文件、編制文件是有成本的,文件越多成文越高,而且增加速度高於文件數量的線形提升。
3. 專案團隊如果沒有必要的文件,也是有成本的,而且專案大小、專案開發時間與文件數量應該成正比,如果缺乏必要的文件,其溝通成本遠遠要大於補充完成這些文件所需要的成本。
4. 觀點:專案開發不能沒有開發文件,同時要降低開發文件的使用和管理成本。
 
實現良好的文件管理的核心要點
1. 減少、取消不必要的開發文件的編制和使用;
2. 提高開發文件在團隊中的使用效率;
 
具體做法:
1.把開發文件的粒度減少,就是把原來一篇開發文件,按照模組或其他要求進行分解,成為多個文件。
a)         比如說,一個客戶資料管理模組一般在整個ERP系統中是其中一塊,我們就可以把這個模組單獨成為一篇文件,整個ERP系統的完整文件,就是由這些一個個模組整合起來。
b)        而就是對於這個“客戶資料管理模組”,我們也可以繼續分解為:
                         i.              功能描述部分;
                       ii.              資料庫設計部分
                      iii.              內部物件設計部分
                     iv.              介面描述部分
                       v.              等等。。。
 
2.確定開發文件對應的使用者,編制有針對性的文件內容,同時這些文章,從分解後的開發文件中獲取。
a)         比如說上面例子:面向客戶的,只需要提供功能描述和介面描述部分;
b)        面向開發人員,就要包括所有內容;
c)        面向資料庫開發人員的,只需要資料庫設計,內部物件設計,功能要求等部分。
3.那麼剩下來的就是如何對這些鬆散的文件進行有效管理的問題。對於這個問題,其實可以通過編寫簡單的文件管理程式進行管理。
這樣做到的話,我們在每個階段都有針對性地文件來指導開發人員的工作,同時,開發人員又不會被過多文件淹沒。而且,還可以通過一些管理策略,讓開發人員可以根據開發情況修改部分文件。
4.然後要關注的一個問題就是這些文件的版本管理,對於這個問題,可以採用現行版本管理工具來管理或者採用開發行政指引的方式來解決。
 
通過以上做法,可以緩和開發團隊與開發文件的對立關係,讓開發文件真正為團隊工作服務;同時也切實降低了管理成本和開發風險。
 

相關文章