如何寫好后端產品需求文檔,這幾個問題需要注意

1 評論 13186 瀏覽 45 收藏 9 分鐘

需求文檔需要描述清楚,做好細節(jié)處的處理,這樣才能讓測試和開發(fā)看懂,減少反復扯皮。本文作者從自身工作實踐出發(fā),梳理總結了后端產品需求文章撰寫上需要注意的幾個問題,與大家分享。

01 原以為恰到好處的描述,或許不是最佳表達方式

怎么在PRD中表達“區(qū)間不能相互交叉”呢?

案例:

在一個Excel導入功能的需求中,要導入的內容是不同重量區(qū)間對應的費用計算規(guī)則。因此需求文檔中,要體現不允許重量區(qū)間交叉。

如何描述呢?舉例說明:

描述一:同一規(guī)則的任意兩條數據,其重量區(qū)間不能有交叉;

??描述二:同一規(guī)則的任意兩條數據,假設重量區(qū)間分別為a-b、c-d,那么若出現a<e<b、a<f<b、e<b<f、e<a<f中的任意一種情況,則視為這兩個重量區(qū)間交叉。

描述三:同一規(guī)則的各條數據,每一條數據的起點或終點,都不能介于其余各行的起點和終點之間。

分析:

描述一:同一規(guī)則的任意兩條數據,其重量區(qū)間不能有交叉;

看起來比較需求化,但實際上存在一個問題,就是沒有定義什么樣才算是交叉。

因此,是需求描述的不清楚。

如果產品經理認為交叉是個白癡問題無需定義(實際確實如此),但是開發(fā)的代碼如果寫錯,就會出現對標不一致。

換句話說,產品理解這句話,開發(fā)也理解這句話的意思,測試也理解,但是沒有確保大家的理解是一致的。

描述二:同一規(guī)則的任意兩條數據,假設重量區(qū)間分別為a-b、c-d,那么若出現a<e<b、a<f<b、e<b<f、e<a<f中的任意一種情況,則視為這兩個重量區(qū)間交叉。

比描述一更加具體化,抽象概括,給出了定義。但是實際上遇到的情況是,開發(fā)自己把自己搞糊涂了,最后開發(fā)看著描述三,才把代碼寫清楚。

描述三:同一規(guī)則的各條數據,每一條數據的起點或終點,都不能介于其余各行的起點和終點之間。

比起描述二,描述三的本質是一樣的,但是你會發(fā)現,換了一個簡單的描述方式,避免了一個先入為主的限制,給開發(fā)一些留白,又能不遺漏地去想自己的代碼。

02 蛛絲馬跡的疏忽,測試是否會放過?

案例:

電子合同的一個環(huán)節(jié)是簽章。點擊簽章按鈕,新窗口打開第三方外部鏈接,在第三方提供的外鏈上完成簽章操作?;氐巾撁?,狀態(tài)變?yōu)椤押炚隆?/p>

分析:

以上的描述似乎沒有問題,說清楚操作步驟,也要求頁面狀態(tài)變更。

但是忽視一個小問題:新窗口操作完成后,舊窗口不會知道狀態(tài)的變化,也就是缺少一個刷新狀態(tài)的功能。

這時候若用戶關閉外鏈接窗口,回到舊窗口頁面,是沒有變化的。因為一直在外鏈上操作,沒有在舊頁面實現任何觸發(fā)因素。

只有通過用戶手動點擊刷新舊頁面,或者自動刷新之后,才會反應過來。

因此,如果需求中不交代這個背景,開發(fā)不一定問,但測試可能就會問,這種情況算不算bug,因為文檔要求是狀態(tài)變更,而沒說手動過系統(tǒng)刷新該頁面之后產生狀態(tài)變更。

對此細節(jié),若測試較真的,就需要補上。

比如明確不做自動刷新或刷新按鈕,手動加載頁面才刷新。

也可以說在外鏈完成的時候,提示的文案中寫清楚需刷新原頁面。

03 A/B方案的對決,是論據而非感覺

這個字段加在哪個模塊呢?

案例:

已知模塊:

商品管理后臺、活動配置后臺、C端商城常規(guī)區(qū)、C端商城促銷區(qū)

已知邏輯:

商品管理后臺的商品上架之后,進入C端商城常規(guī)區(qū)銷售;該狀態(tài)下的商品,才可以配置活動;配置之后,出現在C端商城促銷區(qū);

需求:

個別用戶希望指定的商品在促銷區(qū)的時候,不要顯示在常規(guī)區(qū)。怎么解決?

方案:

希望在商品后臺,對商品增加一個字段:‘是否參與活動時不顯示在常規(guī)區(qū)’。

這樣上架的之后,一旦遇到有活動,則讀取商品配置的該字段的值,決定是否隱藏常規(guī)區(qū)的展示。

分析:

本質上C端只需要一個標示——是否只展示在促銷區(qū)。

那么對C端從哪里獲取都是一樣的。于是問題在于,放在商品這里合適嗎?或者還可以放在其他哪些地方?

  • 從用戶場景來說,因為促銷活動,所以才引發(fā)了藥屏蔽常規(guī)區(qū),因此創(chuàng)建活動的地方設置該字段,從心理距離上最近。
  • 從操作上,配置促銷活動的同時,就在頁面上勾選是否僅顯示活動,也比較方便;

反過來:

  • 如果做在商品后臺,那么每次用戶設置,都要從一個場景切換回到一個(較為低頻的)基礎商品庫中配置,顯然比較有距離感;
  • 此外,活動是可以擴展的。因此該設置是商品+活動維度的。放在活動配置的位置直接就是一對一。而放在商品的位置就要不斷增加活動類型的值,形成一對多的配置對,顯然不方便。

結論顯而易見,將該功能放在活動配置后臺。

04 把權威給到設計師是臨時的,產品把關是永恒的

有時候,產品經理不負責頁面的設計。就會讓設計師設計了頁面,配合產品的PRD,交給開發(fā)。

如下圖這樣,將翻頁放在這個位置,看起來貌似挺挺緊湊。毫無違和。

但實際上用起來一定不舒服。

因為用戶習慣是拉到最下方的時候,準備翻看下一頁,這時候發(fā)現需要爬樓到上方找按鈕。就算是將下一頁固定吸頂,也需要移動注意力的位置。

#專欄作家#

唧唧歪歪PM,公眾號:唧唧歪歪PM(ID:jjyypm),人人都是產品經理專欄作家。書籍《后端產品經理寶典》作者,藥學碩士轉行互聯(lián)網產品多年;熟悉跨境電商業(yè)務,醫(yī)藥領域;擅長大型后臺體系,社交App。

本文原創(chuàng)發(fā)布于人人都是產品經理,未經作者許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 同感 支持大佬

    來自湖南 回復