產品需求文檔的三層邏輯:規范層、信息層、表現層

14 評論 41520 瀏覽 413 收藏 11 分鐘

本文將產品需求文檔的邏輯歸納為:規范層、信息層、表現層三層,并逐一展開分析。與君分享,希望給大家的工作帶來一些借鑒。

之前我們探討了產品原型的內容,今天想和大家來聊一聊產品原型的“另一半”:產品需求文檔。為什么說產品需求文檔是產品原型的“另一半”呢?理由很簡單,在產品的整個生命周期中,只要出現產品原型,一定會有需求文檔相伴,可謂是夫唱婦隨,相伴到永遠。雖然他倆是天生的一對,但他倆的關系如何,卻往往被產品經理主宰。產品經理做得好,一家人和和美美;做得不好,則很有可能妻離子散。

既然產品經理承擔著如此重大的責任,那該如何寫好產品需求文檔呢?有沒有規范統一的模板?通過幾年的產品工作,我的體會是要寫好產品需求文檔,必須要弄清楚它背后的邏輯,至于是什么格式,只要能讓別人看懂,基本上就可以了。

總體而言,我覺得產品需求文檔的邏輯可以歸納為三層:規范層、信息層、表現層。接下來,我們就一一進行分析。

規范層

正如之前說產品原型必須服務于溝通一樣,產品需求文檔也必須服務于溝通。要做到這一點,我們需要在組織內部形成統一的文檔規范。雖然我們說產品需求文檔的格式不重要,但在同一組織內,產品需求文檔的統一規范卻是非常重要的,其最大的價值在于可以有效提高溝通效率。

舉個很簡單的例子,某公司有五位產品經理,如果每個產品經理的產品需求文檔都是一種格式,那作為制作、開發、測試人員就必須熟悉五套格式,而且存在無法熟悉的風險。實際協作中,由于文檔相互之間存在差異,難免會遺漏一些細節,發現的時候往往已經是測試階段甚至是驗收階段了。反過來,如果這五位產品經理的產品需求文檔,都是基于一種規范撰寫的產品需求文檔,那相關人員就只需要熟悉一套格式,效率就會大大提高。

具體該如何做呢?我覺得可以分三步走:第一步確定文檔規范的制定者,由他撰寫初版的產品需求文檔規范;第二步以初版規范為樣本,組織產品、制作、開發、測試等部門討論,對初版進行修訂,形成可執行的規范文檔;第三步逐步推行文檔規范,搜集問題,優化文檔,進行版本管理。

信息層

有了規范層面的保障,我們就需要考慮信息層的問題了。在這個層面,我們需要解決兩個問題:

1.如何確保信息的準確性

確保信息的準確性,就是要保證到達每個人那里的信息都是準確無誤的。要做到這一點,產品經理首先要確保自己撰寫的信息是準確并且統一的,其中統一是確保文檔中所有涉及到的地方都必須進行了相應的修改,否則很容易產生歧義;其次進行有效的版本管理。關于版本管理,現在已經是非常成熟的管理方法了,有需要的朋友可以參閱相關專題的文章,這里就不做詳細描述了。

2.如何提升信息的傳遞效率

信息只有真正傳遞給需要的人后,才會發揮應有的價值。對于如何提升信息的流轉效率,我覺得有條件的團隊可以使用項目管理工具。例如我們使用Confluence和jira進行項目管理,文檔的任何修改,都會以郵件的方式發送給相關的人員,這樣就最大限度上保證了信息傳遞的效率。

如果暫時無法使用管理工具的團隊,我的建議是在做好版本管理的前提下,充分利用QQ、微信等工具,一般團隊都會創建討論組或群聊,把修改的內容即時發送到群里,也是一種提升信息傳遞效率的途徑。

表現層

當我們做好了規范層和信息層的工作后,我們再來考慮產品需求文檔具體怎么寫,就會變得更容易,也更有效率。那一份產品需求文檔,具體應該包括哪些內容呢?我覺得至少需要包含以下七個方面的內容。

1.用戶角色

用戶角色主要是指產品包含幾種角色的用戶,如何定義,相應的權限是什么,這些都需要描述清楚。

以視頻網站為例,用戶角色可以分成三大類:視頻觀看者、視頻上傳者、網站運營者。針對每一個大類,又可以進行細分,比如視頻觀看者,又分成游客、注冊用戶、VIP會員等。

在實際文檔中,如果用戶角色較多,建議可以使用表格的方式來呈現。例如下面的表格樣式:

2.流程

流程主要是要闡述清楚產品的整體流程,一般都是以流程圖來呈現。我把這個流程圖歸納為三個哲學問題:我從哪里來、我在哪里、我到哪里去,當然也要讓別人清晰地知道“我是誰”。

3.內容

內容主要是指網頁中應該包括哪些元素,具體可以從列項、規格、狀態三個方面來描述。首先我們可以先列出某個頁面或板塊都包含哪些內容,例如我們描述一個視頻單元時會這樣寫:

視頻單元:包含視頻縮略圖、播放按鈕、標題、觀看人數。

明晰了列項,接下來就要說明相關列項的規格,例如我們在說明搜索框的規格是會這樣寫:

搜索框:搜索框默認顯示“請輸入關鍵字搜索”,顏色為灰色;搜索框最多20個字,超出后無法繼續輸入,若是復制文本,超出部分自動截??;不輸入任何內容,點擊搜索按鈕,則在新頁面打開視頻搜索頁。

除了列項和規格,有些元素可能還會有若干個狀態,也許描述清楚。是例如用戶上傳了一個視頻,那它的狀態就會從編輯狀態轉變為待審核狀態。

4.功能

功能就是指具體能干什么了。要描述清楚這一部分,同樣需要從過程、條件、元素三個方面入手。首先我們要說清楚這個功能是如何實現的;其次要描述清楚在實現這個功能的過程中,會有哪些限制條件,例如視頻網站中有些視頻資源是會員用戶才能看;最后還需要明細功能所附帶的元素,例如,用戶要刪除自己上傳的視頻,那就需要添加確認信息框,信息框上有哪些按鈕,分別有什么作用,文字如何描述,都需要進行說明。

5.交互

交互主要是描述頁面中所有的交互設計是如何實現的,包括用戶行為、交互結果兩個方面。例如視頻上傳按鈕默認為橙色,鼠標劃過時變為橙黃色,鼠標點下時變為橙紅色;再或者搜索框默認顯示灰色文字“請輸入關鍵詞”,獲取焦點后,提示文字消失,輸入的文字為黑色。

6.狀態

狀態主要是指元素狀態的變化,這種變化主要來源于兩個方面:頁面操作、數據變化。頁面操作就像我們上面舉的例子,用戶上傳的視頻,可以先保存,也可以直接提交審核,那這兩種操作所產生的狀態是不一樣的,就需要列舉出來;數據變化除了頁面內部的操作引起的變化,還需要考慮其他頁面的元素變化,而引起的數據變化,例如個人中心一般都有所看視頻的進度,這個進度是根據前臺看視頻的進度同步更新的,這種變化關系就需要描述清楚。

這一塊,需要我們在分析頁面元素狀態時,不僅要考慮頁面內操作,還需要考慮與其他頁面的相關性。

7.數據

數據主要是對頁面相關的數據的描述,包括來源、規則、提示三部分。首先我們必須要弄清楚,數據是從哪里來的。這對開發人員至關重要,如果沒有描述清楚,開發人員很有可能無法開始工作,或者更糟糕的是做完了發現數據來源錯了;其次每一項數據的規則是什么,也需要描述清楚,例如注冊頁面,用戶名的規則應該是什么;再次對于相關的提示包括哪些,這個提示可分為成功提示和錯誤提示。

結語

與產品原型一樣,產品需求文檔也是支撐產品經理與團隊溝通的重要工具,而如何寫好產品需求文檔,僅僅了解一份產品需求文檔應該包含哪些內容是遠遠不夠的,還需要深刻理解它在團隊內部是如何有效流轉的。表現形式是邏輯過程的附屬品,邏輯過程本身才是產品經理最應該具備的。

 

本文由 @E木筆記 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 很好,可不可以給一篇完整的文檔學習

    來自香港 回復
  2. 幫助很大,感謝分享

    來自上海 回復
  3. 作者辛苦啦,收獲良多?。?!

    來自江蘇 回復
  4. 產品小白,表示對于表現層的3、4點提到的,內容(列項、規格、狀態)和功能(過程、條件、元素),理解的比較差,不能更好地代入使用情景中。希望有相關的文章有這方面的解釋 ??

    來自廣東 回復
  5. 期待更好的文章

    來自北京 回復
  6. ?? 希望看到比較完整的文檔……零零散散的感覺

    來自江蘇 回復
    1. 這篇文章理論的部分更多一些

      來自北京 回復
    2. 恩恩,想看實踐內容,會出嗎 ??

      來自江蘇 回復
    3. 這個可以有 ?? 不過需要策劃一年,內容單薄都通不過審核 ?

      來自北京 回復
    4. 我是想寫策劃一下的 ??

      來自北京 回復
    5. ?? 加油

      來自江蘇 回復
    6. 加油

      來自北京 回復
  7. 贊 ??

    來自陜西 回復