一個組織不可能只有高級軟件工程師或系統(tǒng)管理員,所以,只有基于特定規(guī)范的文檔就意味著只有高級技術(shù)人員才能閱讀這些文檔。這是一種機能障礙問題。當然,這些文檔也是必要和重要的,這已經(jīng)比只有閱讀代碼才能了解應用程序的情況好很多了。然而,這并不是一種完整的文檔戰(zhàn)略與文化。
解決方法:編寫面向受眾的文檔
如何解讀一種特定類型的文檔取決于個人在組織中的位置。例如,對于系統(tǒng)管理員而言,API參考文檔毫無用處,對高級系統(tǒng)管理員也樣。他們不可能花時間去閱讀API參考文檔,更不用說讓他們解釋或使用API參考文檔去改進運維過程了。系統(tǒng)管理員需要的是面向系統(tǒng)管理員環(huán)境編寫的文檔。這種文檔本身可能會包含很多來自API參考文檔的信息,但是這個文檔不應該只羅列函數(shù),還應該包含其他一些信息,如API可以支持多少個請求,它使用什么網(wǎng)絡協(xié)議,以及它依賴哪些軟件,等等。這樣才能幫助系統(tǒng)管理員理解如何部署應用程序,從而知道應在服務器環(huán)境中部署哪些組件。在這種情況下,我們會先從API參考文檔開始,然后給出面向兩種讀者的兩個具體的API實現(xiàn)文檔:運維指南和開發(fā)指南。
編寫面向不同受眾的完整文檔集,讓文檔成為一個團隊文化的鮮活部分。一定要理解需要使用文檔的受眾,如業(yè)務用戶、系統(tǒng)管理員、數(shù)據(jù)庫管理員、軟件開發(fā)人員、網(wǎng)絡工程師、項目經(jīng)理,等等。對于業(yè)務用戶而言,或許API規(guī)范需要考慮所支持的每種應用的開銷成本;而對于網(wǎng)絡工程師來說,則可能需要說明應用程序使用了哪些協(xié)議。應該編寫哪一種文檔,并沒有一種固定模式,而完全取決于業(yè)務及團隊的需要。
好處:強化不同團隊之間的紐帶
面向不同受眾編寫文檔,其結(jié)果必然能夠優(yōu)化人們對于業(yè)務雙方的理解,減少誤解和錯誤,并且減少雙方的壓力。而且,我們可以在一個文檔的基礎(chǔ)上編寫另一個文檔。例如,在了解網(wǎng)站建設應用程序及運維基礎(chǔ)架構(gòu)(服務器、網(wǎng)絡設備等)的功能與限制之后,我們就可以在維護、功能規(guī)劃成本及可擴展性指標上使用這些信息。如果一個文檔可以利用另一個文檔,那么編寫文檔的時間就會大大減少。這種方式不一定適用于所有情況,但是很多時候都是這樣的。