一旦在Web組織中逐步培養起編寫文檔的文化,那么員工就會越來越依賴于這種實踐方法。這種文化還有一個十分重要的優點,即如果出現人員流失和變動,那么良好的文檔可以縮短新人的“交接”時間。此外,除了構成一般軟件開發過程的標準代碼注釋、跟蹤和源代碼控制過程,編寫文檔也是一種審查方法。在一些開發專用軟件的公司中,文檔顯得尤為重要,因為新員工一般很難理解復雜的定制應用程序,以及各個應用又是如何組成客戶所訪問的網站。如果文檔成為這一過程的組成部分,人們就一定會對軟件構建方式進行交流,工程師也會習慣于向其他團隊成員介紹軟件的工作方式。
為了理解這種方法的實踐應用,我們可以設想一下最成功的開源軟件,它們都有一些共同點:有一個能夠自由協作與交流的活躍開發者社區,以及優秀的文檔。當開發者協作編寫出面向各種用戶的優秀文檔時,軟件的開發和管理也會變得更容易。這個道理適用于任何組織,而且對于大型組織而言尤其重要。
將介紹各種標準文檔模板,它們將幫助我們理解如何管理組織內部開發的軟件。例如,一位高級軟件開發者可能只會使用API規范與參考文檔,然后就開發實現一個應用程序,完全不會去閱讀其他的文檔。另一方面,人門指南則以一種簡單方式概括介紹更多信息,它將幫助一些軟件開發新手快速入門并了解他們將要接觸的應用程序、平臺或庫。用例( Use Case)文檔則可以向非技術人員解釋一個應用程序的用途。我們稍后將詳細介紹這些模板。
有了這些信息,用來理解復雜的Web與應用程序架構的時間就將大大減少。如果沒有一組能從不同角度說明指定技術的文檔,那么Web開發者和運維工程師就只能自己去理解各個方面。
最重要的是,在不同的利益相關者共同編寫文檔的過程中,他們會發現一些深層次問題和改進軟件的機會。例如,當一位工程師開始在紙上或設計模型上介紹一個Web應用程序時,其他人就很容易理解他所要表達的概念,因此可以更好地獲得關于應用程序的技術性能和設計等方面的反饋信息。此外,針對不同讀者編寫的文檔也有一定的好處。有時,業務用戶可能無法讀懂一個AP規范,但是畫一個簡單圖形來說明API的復雜關系或應用程序之間的交互,就可以幫助非技術人員理解應用程序。這種文檔還可以幫助初級工程師理解復雜的軟件架構。