在軟件開發(fā)項目當(dāng)中,文檔管理是必不可少的內(nèi)容,其必要性無人可以否認(rèn),但是,一套“規(guī)范”的文檔,也經(jīng)常會讓人抓狂,“浪費”很多時間在文檔上面。
在經(jīng)歷過許多實際的軟件研發(fā)項目,和多次的制定組織級軟件研發(fā)項目規(guī)范工作,對于軟件研發(fā)項目中的文檔管理有不少的體會,在軟件項目的文檔管理中,如何使文檔管理更加有效,實際能夠折射出許多的管理理念。
1、保證有效溝通
文檔的主要作用是用于溝通,在所有的軟件規(guī)劃、設(shè)計、實現(xiàn)、運行、使用、服務(wù)等相關(guān)人員之間的信息交換。在文檔編寫過程中,要求所傳遞信息做到完整、準(zhǔn)確、簡潔,特別是要能夠適合讀者理解。緊緊抓住信息溝通這一核心目的,對于無論是制作文檔模板還是編制具體文檔,都是很重要的指導(dǎo)思想。記得早年學(xué)習(xí)過國標(biāo)的軟件工程文檔規(guī)范,不僅文檔很多,而且很多的文檔的第一章都是背景介紹,曾經(jīng)試圖按照這種規(guī)范來編寫文檔,第一章寫了幾行就實在是寫不下去了,這確實會令許多的軟件開發(fā)人員感到抓狂,在今天更加強調(diào)響應(yīng)速度的開發(fā)過程要求來說,幾乎是無法執(zhí)行的。因此,在編寫文檔時,關(guān)鍵就抓住兩點:一時明確文檔的讀者對象,二是站在讀者角度把讀者希望了解的信息完整、準(zhǔn)確、簡潔的描述清楚。寫文檔和讀文檔,就如同是作者與讀者之間在對話,把要傳遞的內(nèi)容描述清楚,文檔的目的就達(dá)到了。啰里啰嗦的無關(guān)內(nèi)容,不僅浪費作者和讀者的時間,也會影響對文檔重要信息的突出。
2、與所采用的工程方法相匹配
在軟件研發(fā)方面有許多不同的工程方法,瀑布式、原型法、敏捷開發(fā)等等,不同的開發(fā)過程實際意味著不同的生產(chǎn)工藝,那么在不同的工藝方法中各道工序的工作內(nèi)容和要求不同、工序之間的銜接要求不同,必然也會對文檔的要求產(chǎn)生不同。因此,在編寫文檔時,也需要考慮開發(fā)項目中所采用的工程方法的因素,在單位制定軟件開發(fā)文檔模板時,也需要考慮不同的文檔體系,以支持不同的開發(fā)過程方法。
3、滿足產(chǎn)品生命周期管理的需要
就產(chǎn)品文檔而言,有的文檔可以是增量式的,只說明某一個版本的具體情況,而有的文檔則需要是全量式的,需要隨著新版本的發(fā)布而不斷更新,保持與最新版本相一致,最典型的例子就是用戶手冊,通常都要隨著版本的更新不斷進(jìn)行同步更新,對應(yīng)舊版本的用戶手冊已經(jīng)沒有實用價值。另外像產(chǎn)品使用的FAQ這類文檔,也是需要不斷加以補充、更新,并且以全量版本的方式發(fā)布。同時,像系統(tǒng)技術(shù)架構(gòu)、數(shù)據(jù)結(jié)構(gòu)、發(fā)生變更的代碼等,這些其實也需要維護(hù)全量的最新版本,才能有效支持后續(xù)版本的設(shè)計開發(fā)的需要。因此在文檔管理中,也需要對文檔進(jìn)一步細(xì)分,同時滿足產(chǎn)品版本升級項目過程的需要,和產(chǎn)品生命周期持續(xù)發(fā)展以及最終交付使用及服務(wù)支持的需要。
4、區(qū)分文檔的記錄與整理
很多很多的人對于文檔都很頭疼,需要花費很多“額外”的時間來編寫,但實際上我們看到,許多需要在文檔記載的實質(zhì)內(nèi)容其實并不缺少,在軟件研發(fā)的項目過程中,該討論、該溝通的內(nèi)容實質(zhì)并不少。對此稍作區(qū)分可以看出,問題出在“整理”文檔上。所以在實踐中,可以將文檔的形成分成兩個階段,一是在過程中形成的記錄,這些記錄可以是手畫的草圖拍成照片,可以是簡單的會議記錄,也可以是工具軟件本身生成的特殊格式的輸出文件,比如數(shù)據(jù)庫設(shè)計文檔、項目計劃文檔,這些專業(yè)工具形成的特殊格式的文件,其實比轉(zhuǎn)換成EXCEL或PDF文檔要好用,而且能夠真正在后續(xù)的執(zhí)行中繼續(xù)發(fā)揮作用。能反映實質(zhì)內(nèi)容的這些記錄形式,其實也是文檔!在項目進(jìn)程告一段落后,再對這些原始的記錄進(jìn)行整