再談文檔必不可少

項目文檔必不可少,必不可少,再小的項目,別人再和你吹噓項目多么簡單,領(lǐng)導(dǎo)再告訴你時間多么緊張,客戶再不上線就要損失幾十萬,統(tǒng)統(tǒng)都不是你的問題,唯獨不寫文檔是你的責(zé)任!
我在《人月神話》的解讀中已經(jīng)深入的理解了文檔的必要性,很多時候人只是還不夠強(qiáng)大,經(jīng)常敗在時間上,敗在壓力上。

需求文檔

首先,需求文檔。需求文檔是我們把客戶心里想的東西寫出來給客戶看,或者有時候是客戶提供的,所以需求文檔往往是最不能體現(xiàn)項目功能的。在這個文檔中,我們一定要適應(yīng)客戶的口吻,換句話說要用客戶看得懂的話,而且一定不要往細(xì)里寫,因為還不是時候。這個文檔要確定的是項目的目的,這個目標(biāo)一定要簡短,如果一個項目的目標(biāo)太多,可以寫多份需求文檔來分別說明。
《簡約之美》這本書中,作者認(rèn)為項目的目的歸根結(jié)底只有一個,那就是幫助人。由此我覺得需求可以這么寫,首先明確項目給誰用,再明確幫他實現(xiàn)了什么價值,所有的項目都可以這么寫。

系統(tǒng)設(shè)計文檔

往后是,系統(tǒng)設(shè)計。這是專業(yè)的程序人員或者產(chǎn)品經(jīng)理的工作結(jié)果,應(yīng)該要細(xì)化,但不可避免的會出現(xiàn)很多口水話,導(dǎo)致客戶看不懂甚至不想看。但沒有關(guān)系,系統(tǒng)設(shè)計的編寫應(yīng)該占程序員工作的50%是為合理的。改文檔總是比改項目來的快,而且安全。之所以安全是因為文檔的思路是連貫的,更容易觀察到?jīng)_突和矛盾,書寫的過程同時也是思考的過程,打字的時候真的能讓人想通很多問題。

但是問題又來了,客戶對于文檔沒有熱情怎么辦?客戶語文實在是差怎么辦?

實際上我們無法避免,客戶的水平肯定是參差不齊的,不能要求他們所有都對互聯(lián)網(wǎng)有較好的理解。我們能做的就是為文檔編寫文檔。我發(fā)現(xiàn)這并不是多么難的事情,我需要教會客戶如何寫文檔以及閱讀文檔。如果說文檔是一種溝通工具的話,那么交流的雙方都必須理解這種工具的內(nèi)容所代表的具體含義。同時,我們對待這件事情越認(rèn)真客戶也越能意識到它的重要性,而不是再糾結(jié)于成本和周期而放棄文檔。

那么這些為文檔所編寫的文檔,實際上是公司 Wiki 的一部分,而且是公開的那一部分。我認(rèn)為這是今后一段時間,乃至長久的一項重要工作。我希望做到的是讓客戶通過 config 一樣的形式,就能實現(xiàn)良好的文檔交流。

測試文檔

最后是,測試文檔。在某個項目之后,我意識到,我們必須讓測試不再依賴于個人,特別是不再依賴于客戶。如果最終測試依賴于個人而不是文檔將會產(chǎn)生許多的不穩(wěn)定因素。

  • 首先,測試者的心態(tài)會發(fā)生改變,如果項目質(zhì)量僅由一人評估,整個項目就很容易出現(xiàn)一些人性的錯誤。例如,主觀但錯誤的推測(對于功能的曲解或過度解讀),存在但無價值的選擇(對于個人口味的青睞)。
  • 其次,脫離文檔的測試容易丟失主要目標(biāo)(就是那個幫助人的目標(biāo)),測試者不是設(shè)計者,他只關(guān)注于某個過程,對于項目整體很難把握。
  • 最后,也是最可怕的,沒有文檔的話測試與需求容易被混為一談。測試應(yīng)當(dāng)源自于需求文檔,而不是源自于市場或者環(huán)境。

測試文檔產(chǎn)生于前期準(zhǔn)備工作階段,主要是對于需求文檔仔細(xì)研究的結(jié)果,用于指導(dǎo)測試流程。

如何讓文檔不形同虛設(shè)?

上面提到的三個工作文檔,比起專業(yè)書籍中的類目要少了很多,因為我認(rèn)為最重要只有這三個,其他的過于形式。文檔本身作為一種工具,實質(zhì)必然重于形式。曾經(jīng)也有重服務(wù)、輕文檔的客戶案例,但我認(rèn)為這是建立在溝通順暢的基礎(chǔ)上。那么溝通順暢本身又是一件很主觀的事情,我們看很多書寫情商、影響力和溝通技巧的,都沒法把這個問題講清楚。軟件行業(yè)的生產(chǎn)效率不能像其他制造業(yè)一樣用人和時間進(jìn)行計算,主要也是因為溝通成本無法降低。
如何讓文檔真正有效的降低溝通成本,就是讓文檔不形同虛設(shè)的關(guān)鍵。我認(rèn)為有兩點:

  1. 技術(shù)高層必須給予支持和認(rèn)同。文檔往往敗于時間,質(zhì)量和周期本來就是矛盾,如果技術(shù)高層不認(rèn)同文檔溝通,那么很少有技術(shù)員能夠抗住這樣的壓力堅持做正確的事。
  2. 客戶必須經(jīng)過基本的篩選,寧缺毋濫。特別是對技術(shù)驅(qū)動型以及產(chǎn)品驅(qū)動型的客戶,如果對互聯(lián)網(wǎng)知之甚少,建議選擇不合作?,F(xiàn)在市場環(huán)境中,確實有那么些人是不了解以至于不尊重軟件從業(yè)人員工作結(jié)果的。
  3. 開發(fā)人員必須認(rèn)同這樣的開發(fā)方式。程序員的兩大痛苦就是:為什么要寫文檔,以及,為什么沒寫文檔。

你的文檔仍然一文不值怎么辦?

你沒有做錯什么,但你仍然失敗了??蛻粽f我不改需求不給錢,商務(wù)說文檔只是參考,領(lǐng)導(dǎo)說你為什么不早點開始寫代碼,公司表示這一切無能為力。請繼續(xù)寫好文檔,這些問題都不是文檔造成的。如果仔細(xì)分析會發(fā)現(xiàn),其他他們都來自于錯誤的進(jìn)度估計。
請在下一個項目的文檔中進(jìn)行正確的開發(fā)進(jìn)度安排,需求的修改也必定意味著新的文檔產(chǎn)生。

END
如需轉(zhuǎn)載,注明出處,并不需要我同意

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,211評論 25 708
  • 先說項目開發(fā)過程中團(tuán)隊人員的分工協(xié)作。 一 人員安排 畢業(yè)至今的大部分項目都是獨立完成,雖然也有和其他同事協(xié)作的時...
    SnowflakeCloud閱讀 11,136評論 3 59
  • 在一家不怎么樣的公司工作,首先我得檢討自己,沒有事前做好工作,隨意就進(jìn)入一家不怎么樣的單位,對自己不負(fù)責(zé)...
    發(fā)條橙428閱讀 150評論 0 0
  • 今天下午回老家,聽人們講到一個不幸的消息,我們村的李默被車撞死了,是在晚上遛彎的時候撞死的,說話的人語氣中充滿了同...
    冬夜霞光閱讀 346評論 0 3
  • 11:30,孩子進(jìn)入夢鄉(xiāng) 我開始瀏覽手機(jī)信息 一條一條地翻看回復(fù) “親愛的,能不能陪我聊會兒” 大概是一小時前收到...
    愛生活挺自己閱讀 340評論 0 0

友情鏈接更多精彩內(nèi)容