一個差勁的常見問題列表(FAQ)總是充斥著作者渴望被問到的問題,而不是人們真正想要瞭解的問題。也許你曾經見過下面這樣的問題:
Q:怎樣使用Glorbosoft XYZ最大程度的提高團隊生產率?
A:許多客戶希望知道怎樣利用我們革命性的專利辦公套件最大程度的提高生產率。答案非常簡單:首先,點擊「
文件」 菜單,找到「提高生產率」菜單項,然後…
類似的問題完全不符合FAQ的精神。沒人會打電話給技術支持中心,詢問「怎樣提高生產率?」相反,人們經常詢問一些非常具體的問題,像「怎樣讓日程系統提前兩天而不是一天提醒相關用戶?」等等。但是想像比發現真正的問題更容易。構建一個真實的問題列表需要持之以恆的、有組織的辛勤工作:跨越整個軟體生命週期,追蹤新提出的問題,監控反饋訊息,所有的問題要整理成一個統一的、可查詢的整體,並且能夠真實的反映所有用戶的感受。這需要耐心,如自然學家一樣嚴謹的態度,沒有浮華的假設,沒有虛幻的斷言—相反的,需要開放的視野和精確的記錄。
我很喜歡這本書,因為它正是按照這種精神建立起來的,這種精神體現在本書的每一頁中。這是作者與用戶直接交流的結果。而這一切是源於Ben Collins-Sussman's對於Subversion常見問題郵件列表的研究。他發現人們總是在郵件列表中重複詢問一些基本問題:使用subversion的一般程序是怎樣的?分支與標籤同其它版本控制系統的工作方式一樣嗎?我怎樣知道某一處修改是誰做的?
日復一日看到相同問題的煩悶,促使Ben在2002年的夏天努力工作了一個月,撰寫了一本Subversion手冊,一本六十頁厚的、涵蓋了所有Subversion使用基礎知識的手冊。這本手冊沒有說明最終定稿的時間,但它隨著Subversion的每個版本一起發佈,幫助許多用戶跨過學習之初的艱難。當O'Reilly和Associates決定出版一本完備的Subversion圖書的時候,一條捷徑浮出水面:擴充Subversion手冊。
新書的三位合著者因而面臨著一個不尋常的機會。從職責上講,他們的任務是從一個目錄和一些草稿為基礎,自上而下的寫一部專著。但事實上,他們的靈感源泉則來自一些具體的內容,穩定卻難以組織。Subversion被數以千計的早期用戶採用,這些用戶提供了大量的反饋,不僅僅針對Subversion,還包括業已存在的文件。
在寫這本書的過程裡,Ben,Mike 和 Brian一直像鬼魂一樣遊蕩在Subversion郵件列表和聊天室中,仔細的研究用戶實際遇到的問題。監視這些反饋也是他們在CollabNet工作的一部分,這給他們撰寫Subversion文件提供了巨大的便利。這本書建立在豐富的使用經驗,而非在流沙般脆弱的想像之上,它結合了用戶手冊和FAQ的優點。初次閱讀時,這種二元性的優勢並不明顯,按照順序,從前到後,這本書只是簡單的從頭到尾描述了軟體的細節。書中的內容包括一章概述,一章必不可少的快速指南,一章關於管理設定,一些進階主題,當然還包括命令參考手冊和故障排除指南。而當你過一段時間之後,再次翻開本書查找一些特定問題的解決方案時,這種二元性才得以顯現:這些生動的細節一定來自不可預測的實際用例的提煉,大多是源於用戶的需要和視點。
當然,沒人可以承諾這本書可以回答所有問題。儘管有時候一些前人提問的驚人一致性讓你感覺是心靈感應;你仍有可能在社群的知識庫裡摔跤,空手而歸。如果有這種情況,最好的辦法是寫明問題發送email到<users@subversion.tigris.org>,作者還在那裡關注著社群,不僅僅封面提到的三位,還包括許多曾經作出修正與提供原始材料的人。從社群的視角,幫你解決問題只是逐步的調整這本書,進一步調整Subversion本身以更合理的適合用戶使用這樣一個大工程的一個有趣的額外效用。他們渴望你的訊息,不僅僅可以幫助你,也因為可以幫助他們。與Subversion這樣活躍的自由軟體項目一起,你並不孤單。
讓這本書將成為你的第一個夥伴。