工作

讓工程師讀完就能動手的 PRD 寫法

好的 PRD 從問題定義開始,而不是功能清單。不做什麼的清單、可驗證的需求句子、上線前定好的成功指標,這裡用例子講清一份讓開發不迷路的需求文件結構。

PRD 先是說服文件, 然後才是規格書

PRD 是 Product Requirements Document 的縮寫,即產品需求文件: 寫清要做什麼、為什麼做,讓工程師、設計師和相關方看到同一張圖。新手最常見的誤解就在這裡,把 PRD 當成功能規格書,上來就填頁面和按鈕清單。

拿到一份只有功能清單的文件,工程師只會做兩件事之一: 照單實作、遇到怪地方就來回追問,或者用自己的理解填空。哪種都會讓會議變多。好的 PRD 恰恰相反,它說服讀者: 這個問題是真的,這個方向是對的,範圍到這裡為止。被說服的工程師不會追問你的意思,而是提出更好的實作。

文件的一半是問題定義

具體寫清: 誰、在什麼場景下、多久遇到一次這個問題。有數據就附數字,沒有就附使用者訪談、客服工單這類證據。問題定義含糊的功能,在優先級會議上一旦開始被擠,就再沒有守住的辦法。

寫問題的時候覺得證據單薄,那不是文件的問題,是規劃的問題,而 PRD 恰好在上線前把它暴露了出來。不管是補證據還是換方向,成本最低的時機都在寫程式碼之前。

寫下不做什麼, 會就少開了

寫明刻意排除在範圍外的 non-goals 一節,在谷歌工程師的設計文件裡幾乎是標準做法。把那些讀者合理期待、但這一輪決定不做的事釘在文件裡,比如: 這次搜尋改進不涉及錯別字校正。

沒有這一節,同樣的爭論會貫穿整個開發過程,每次有人問這個是不是也該支援,都得從頭解釋一遍。決定和理由都寫在文件裡,一個連結就能了結。這是阻止範圍一點點膨脹的最便宜的裝置。

需求要寫成可驗證的句子

需求句子的標準只有一條: 第三方能不能判定它做沒做完。改善、讓它更方便這類動詞無法判定,所以那不是需求,是願望。

無法判定的句子
改善搜尋速度讓首屏更好用簡化支付流程
可以判定的句子
搜尋結果首次展示從 2 秒縮到 1 秒以內註冊流程的填寫項從 9 個減到 4 個完成支付的頁面跳轉從 5 次減到 3 次

成功指標要在上線前定

上線後再挑指標,挑到的一定是恰好在漲的那個。所以成功指標要在動工前寫好,連目標數值和測量方式一起: 比如上線四週後購物車放棄率從 60% 降到 45% 以下算成功。

指標提前定好,上線就不是終點而是實驗的起點。沒達標的結果也會留下數據,告訴你哪個假設錯了,下一份 PRD 的問題定義會因此更紮實。

一頁紙的骨架

格式因團隊而異,但要回答的問題是一樣的。有了下面五節,一頁紙也能頂一份 PRD。

小節要回答的問題
背景與問題誰在什麼場景下因為什麼而受阻
目標與指標用哪個數字確認成功
不做什麼哪些事合理期待但這次不在範圍內
需求用可判定完成與否的句子寫清做什麼
待定問題還沒定的是什麼, 由誰在什麼時候定

一直改到上線的文件

PRD 不是寫完簽字就完事的文件,而是一路更新到上線的工作文件。開發中需求變了,先改文件,並記下改動日期和原因。文件和實際在做的東西一旦脫節,PRD 就成了沒人打開的檔案。

寫完後先拿給最忙的那位工程師看,問問讀到哪裡卡住了。有疑問的地方就是文件的洞。把洞補上再全員共享,啟動會就不再是宣講會,而是討論會。

常見問題

PRD 和產品企劃案有什麼區別?

很多時候只是叫法不同,是同一樣東西。真正要區分的是頁面設計稿: PRD 講做什麼、為什麼做,頁面設計稿講長什麼樣。只靠沒有為什麼的設計稿開工,實作過程中的每個判斷都會變成回頭來問你的問題。

PRD 要寫多長?

有問題、指標、範圍、需求、待定問題這五樣,一頁也是 PRD; 缺了這五個答案,十頁也不夠格。頁面細節、資料定義這類會寫長的內容放進附錄或連結文件,正文短,才會被讀。

敏捷團隊也需要 PRD 嗎?

不是讓你每個衝刺 (1-2 週的開發週期) 都寫厚文件。待辦清單 (backlog) 裡的單個條目,用使用者故事這種從使用者視角寫的一行需求就夠了; 但橫跨多個週期的功能塊,需要一份承載為什麼和範圍的文件。沒有它,誰也說不清那些故事碎片最終拼向哪裡。

下一篇指南: KPT 回顧怎麼開, 才不會說完就散 →