• PBL: Product Backlog,產品的工作項目清單
  • PBI: Product Backlog Item,產品的工作項目

身為 Scrum 團隊的一員,每個 Sprint 的重要任務之一,就是搞懂  PBL (Product Backlog) 上的項目,想辦法實現它。

Scrum 跑了一陣子,PBI 也出現過好幾種的寫法。三不五時都會討論一下哪一種表達更清楚好懂。這次就針對兩種寫法來做一點比較。

寫法一

  • 異動記錄:匯出記錄功能
  • 監控系統:發送通知

寫法二

  • 異動記錄:使用者想要匯出記錄,以便做進一步分析
  • 監控系統:為了確實掌握系統即時狀況,在XX事件觸發時通知到通訊軟體

寫法一:直接寫出施工項目

PO 把希望工程師做什麼寫成 PBI,範例如下:

  • 異動記錄:匯出記錄功能
  • 監控系統:發送通知

當然只寫這樣的 PO 一定會被工程師問說:這樣寫太簡單,不知道要做什麼,需要更完整的資訊

這時會產生更多資訊的寫法:

  • 異動記錄:增加匯出按鈕,匯出最近 30 天的記錄
  • 監控系統:發送事件通知到 Line 群組中

這樣的 PBI 在 Planning Meeting 時,大概會有幾個討論走向:

討論細節

  • 這是我認為是最不好的走向。
  • 工程師開始討論畫面要怎麼設計,資料庫的欄位跟型態有哪些。
  • 過早的討論細節是在浪費時間,細節講越多越會分散大家的注意力,減少對目標的討論。

詢問 PO 為什麼要提供這樣的功能

  • 工程師想要尋找 PBI 背後的用途,避免做白工。如果發現有更簡單的方法,會更改 PBI 的內容。如果發現對使用者沒有幫助,就直接刪掉 PBI。
  • 討論的時間會花比較多在探索使用者可能遇到的狀況。

寫法二:描述使用情境

PO 把把使用者遇到的狀況寫成 PBI,範例如下:

  • 異動記錄:使用者想要匯出記錄,以便做進一步分析
  • 監控系統:為了確實掌握系統即時狀況,在XX事件觸發時通知到通訊軟體

這樣的 PBI 在 Planning Meeting 時,大概會有幾個討論走向:

了解情境,提供施工方案

  • 工程師會深入的了解使用者遇到的情境。
  • 試著提供一些施工方案,評估方案對使用者的價值。

討論 PBI 可以整合或是拆開

  • 有時候 PBI 過大,可能需要被拆開來分別去完成。
  • 當然也會有 PBI 比較小,工程師直接給出一個方案一次解決多個 PBI。
  • 討論的時間會花比較多在如何交付更有價值的產出。

如果寫成使用者故事(User Story)

User Story 的造句形式:

  • As a ___, I want ___, so that ___.
  • 身為 ___,我想要 ___,以便 ___。

如果依使用者故事的形式寫:

  • 異動記錄:身為OO使用者,我想要匯出一個月的記錄,以便提供給XX部門做分析
  • 監控系統:身為值班人員,我想要在通訊軟體收到XX事件觸發通知,確實掌握系統即時狀況

有些人會覺得依照使用者故事的形式寫,標題會太長。

那麼就保持使用者故事的元素都在裡面的句子,效果也是相當的。

使用者故事的元素 (也就是造句形式的空格),分別是:誰(who)做什麼事(what)為什麼(why)

範例如下:

  • 異動記錄:為了提供記錄給XX部門做分析(why),使用者(who)想要匯出記錄(what)
  • 監控系統:值班人員(who)為了掌握系統即時狀況(why),想要在通訊軟體收到XX事件觸發通知(what)

寫法比較

以下是我個人工作上的經驗跟觀察

  • 以故事/情境的方式來說明 PBI,比較容易讓人感受到它的目的。
  • 描述方式的差別會引導大家往不同的方向思考跟討論,透過了解使用情境產生的討論,通常比較容易從各種角度聚焦回使用情境上。
  • 不會是為了做而做,有價值的項目才有做有意義。單純的功能無法產生價值,有使用者才會產生價值。

回頭以 PO 的角度看看

  • 身為 PO,我想要 PBI 描述的施工項目被完成,以便交付項目給使用者
  • 身為 PO,我想要 PBI 描述的情境被滿足,以便增加系統對使用者的價值

哪個選項比較好呢?


Reference