我聽過很多支持“不寫產(chǎn)品需求文檔”的理由:“某產(chǎn)品用戶那么多,他們整個(gè)團(tuán)隊(duì)沒有一份完整的(產(chǎn)品)需求文檔”;“我們追求效率,不用文檔”; “文檔寫了也沒人看”……
首先要搞清楚的問題是:“什么是產(chǎn)品需求文檔?”
就公司內(nèi)部而言,可能存在各種各樣的文檔:產(chǎn)品需求文檔(Product Requirements Document, PRD)、市場(chǎng)需求文檔(Market Requirements Document, MRD)、產(chǎn)品策略文檔(Product Strategy Document)、產(chǎn)品路線圖(Product Roadmap)、產(chǎn)品更新文檔(Product Release Note)、客服產(chǎn)品文檔……有的公司可能每種都有(甚至一種文檔有好幾個(gè)互相沖突的版本^^),有的公司可能一種文檔都沒有。
上面這些文檔,每種文檔都跟“產(chǎn)品”有一定關(guān)系,但是每個(gè)文檔有各自的側(cè)重點(diǎn):
“產(chǎn)品需求文檔”描述產(chǎn)品應(yīng)該是什么樣子。產(chǎn)品文檔的目的是準(zhǔn)確無誤地描述產(chǎn)品的功能、特性、行為。在某些公司,產(chǎn)品需求文檔還包括產(chǎn)品的界面要求和用戶體驗(yàn)要求,有的公司則將這些內(nèi)容分布在不同的文檔中。
“市場(chǎng)需求文檔”描述產(chǎn)品的機(jī)會(huì)(opportuinity)和市場(chǎng)需求。產(chǎn)品需求文檔描述能夠滿足市場(chǎng)需求的產(chǎn)品。
“產(chǎn)品策略文檔”描述一段時(shí)間后,產(chǎn)品該走向什么方向。“產(chǎn)品路線圖”描述實(shí)現(xiàn)“產(chǎn)品策略”的路徑、步驟。“產(chǎn)品需求文檔”描述每一步驟過程中某一具體版本的產(chǎn)品應(yīng)當(dāng)是什么樣子。“產(chǎn)品更新文檔”是產(chǎn)品更新時(shí),用來說明本次更新內(nèi)容的文檔。“客服產(chǎn)品文檔”則側(cè)重客服如何解答用戶提出的產(chǎn)品相關(guān)的問題。
搞清楚了這些文檔的關(guān)系后,“要不要寫產(chǎn)品需求文檔”這個(gè)問題的答案已經(jīng)很清楚了。不難看出:“產(chǎn)品需求文檔”是“市場(chǎng)需求文檔”的延伸,是產(chǎn)品策略文檔和產(chǎn)品路線圖的具體落實(shí),同時(shí),產(chǎn)品需求文檔是產(chǎn)品更新文檔、客服產(chǎn)品文檔和測(cè)試文檔的來源、標(biāo)準(zhǔn)。
從產(chǎn)品設(shè)計(jì)團(tuán)隊(duì)、研發(fā)團(tuán)隊(duì)、測(cè)試團(tuán)隊(duì)的工作協(xié)作方式而言,撰寫“產(chǎn)品需求文檔”也是有必要的。
如前所述,產(chǎn)品文檔的目的是準(zhǔn)確無誤地描述產(chǎn)品的功能、特性、行為。在某些公司,產(chǎn)品需求文檔還包括產(chǎn)品的界面要求和用戶體驗(yàn)要求。產(chǎn)品經(jīng)理撰寫產(chǎn)品需求文檔的過程相當(dāng)于將整個(gè)產(chǎn)品的每一個(gè)功能、每一種行為進(jìn)行梳理的過程。通常而言,設(shè)計(jì)產(chǎn)品的過程中,人們是按照完整、按完美次序完成一系列操作的流程進(jìn)行思考的。而撰寫文檔的過程中,則需要考慮到如果用戶進(jìn)行某個(gè)“意料之外的操作怎么辦”(相信我,用戶肯定會(huì)這樣的)?!白珜懶枨笪臋n”這個(gè)過程本身就能發(fā)現(xiàn)產(chǎn)品設(shè)計(jì)中的問題。
對(duì)產(chǎn)品開發(fā)團(tuán)隊(duì)而言,產(chǎn)品需求文檔是開發(fā)團(tuán)隊(duì)的“藍(lán)圖”,產(chǎn)品開發(fā)團(tuán)隊(duì)嚴(yán)格依照這份“藍(lán)圖”完成產(chǎn)品的每一個(gè)功能、行為??陬^傳達(dá)這些需求當(dāng)然可以,但是你可以想象這樣一個(gè)場(chǎng)景:一個(gè)工程師在施工現(xiàn)場(chǎng),對(duì)每一個(gè)施工者口頭傳授“你在這兒安一個(gè)水龍頭”、“沿著這堵墻走線”、“這堵墻水泥標(biāo)號(hào)再高一點(diǎn)”……整棟樓也能建成,可能建完第二層,就沒人記得第一層是怎么回事兒了。以“追求效率”作為不寫“產(chǎn)品需求文檔”的理由基本上是出于想象,接下來面臨的是無數(shù)類似于“當(dāng)時(shí)是怎么設(shè)計(jì)的來著”(“這間房的電線是怎么走線的?”)這種災(zāi)難。
對(duì)測(cè)試團(tuán)隊(duì)而言,“產(chǎn)品需求文檔”是測(cè)試用例的來源、產(chǎn)品能否通過測(cè)試的標(biāo)準(zhǔn)。測(cè)試團(tuán)隊(duì)拿到產(chǎn)品后測(cè)什么、怎么才算通過,這兩個(gè)問題的答案都在產(chǎn)品需求文檔中:按照需求文檔的描述的功能和行為測(cè),符合需求文檔要求算通過。測(cè)試工作我參與的不多,理解不深,但大致是這樣的。
就團(tuán)隊(duì)協(xié)作而言,在團(tuán)隊(duì)規(guī)模小時(shí),“產(chǎn)品需求文檔”的重要性可能還不那么明顯——畢竟,溝通成本還不高甚至溝通還不算成本。但是當(dāng)團(tuán)隊(duì)到了一定規(guī)模,且具有人員流動(dòng)性之后(這幾乎是必然的),“產(chǎn)品需求文檔”的作用就明顯了。設(shè)想一個(gè)場(chǎng)景,產(chǎn)品設(shè)計(jì)人員不在時(shí)(睡覺、休假、離職,或者死了),又沒有產(chǎn)品需求文檔,除了讓研發(fā)人員一行行查代碼,還有什么方式能夠獲知某個(gè)開關(guān)的默認(rèn)值、某個(gè)數(shù)值的初始值、某個(gè)排序操作的具體規(guī)則?
有產(chǎn)品需求文檔,不一定能開發(fā)出好的產(chǎn)品,但是沒有產(chǎn)品需求文檔……只能說,做出好產(chǎn)品也不是不可能吧。
至于“文檔寫了也沒人看”的問題,我還在考慮,等我考慮好了再說吧。不排除長(zhǎng)時(shí)間考慮不好的可能性。