(改寫自公司內部 memo)

   

Hi all guys,

剛從傳統瀑布式專案管理風格轉換到敏捷風格的團隊,最常遇到第二個卡關之處是:如何將 User Story 拆分到足以在一個 sprint 內完成的顆粒度?

如果玩過我帶的「在幾分鐘以內出門」(“get out of the door in a few minutes”) 活動 1,或許可藉由喚起這段活動的體驗來得到拆分大故事的靈感。如果還想進一步知道更具體的步驟,我推薦大家試試 Mike Cohn 大師提出的 SPIDR 法

SPIDR 是 Spikes, Paths, Interfaces, Data, Rules 的頭字語,音近 “spider” 蜘蛛,可以戲稱為「蜘蛛法」。它指導我們從五個角度嘗試拆分過於龐大的 User Story:

  • Spikes: 拆分出探索性、實驗性的先遣任務。
  • Paths: 拆分出不同的使用路徑。
  • Interfaces: 拆分出不同的介面、軟體、設備、環境。
  • Data: 拆分出不同的資料來源或類型。
  • Rules: 拆分出不同鬆緊程度的商業邏輯。

   

就以這個龐大的 User Story 為例:

  • As a 商家,I want to 在既有的商家後台,以不同的商品分類或時間區間來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

這麼大的 User Story,很難放在一個 sprint 裡面實現。

   

我們可以試著用 SPIDR 當中的 “Spikes” 角度來拆分:

  • As a 商家,I want to 在既有的商家後台,先針對人工餵入的 1,000 筆假資料,試試看能否把整個流程串起來,以不同的商品分類或時間區間來檢視我家商品的種種銷售數據圖表,so that I can 確定這對我想從事的「對銷售行為作更即時的調整」會有幫助。

   

我們可以試著用 SPIDR 當中的 “Paths” 角度來拆分:

  • As a 商家,I want to 在既有的商家後台,以不同的商品分類來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

  • As a 商家,I want to 在既有的商家後台,以不同的時間區間來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

   

我們可以試著用 SPIDR 當中的 “Interfaces” 角度來拆分:

  • As a 商家,I want to 在試算表檔案中,以不同的商品分類或時間區間來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

   

我們可以試著用 SPIDR 當中的 “Data” 角度來拆分:

  • As a 商家,I want to 在既有的商家後台,針對 3C 商品來檢視銷售直方圖,so that I can 對銷售行為作更即時的調整。

  • As a 商家,I want to 在既有的商家後台,針對 3C 商品來檢視訪客 PV,so that I can 對銷售行為作更即時的調整。

  • As a 商家,I want to 在既有的商家後台,針對日用品來檢視成交率,so that I can 對銷售行為作更即時的調整。

   

我們可以試著用 SPIDR 當中的 “Rules” 角度來拆分:

  • As a 商家,I want to 在既有的商家後台,以為單位來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

  • As a 商家,I want to 在既有的商家後台,以為單位來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

  • As a 商家,I want to 在既有的商家後台,以「商品分類」及「時間區間」複合條件來檢視我家商品的種種銷售數據圖表,so that I can 對銷售行為作更即時的調整。

   

透過 SPIDR 蜘蛛法,我們一下子就得到這麼多拆分大故事的切入點。前後對照一下,是不是覺得這些細分的 User Stories 變得更具體更有把握了呢?

   

以我的經驗來說,把 SPIDR 法練熟,足以應付大多數情況。如果你還想嘗試更多方法,請讀讀我 N 年前寫的〈工作分解講座・閱讀材料〉一文。


  1. 「在幾分鐘以內出門」(“get out of the door in a few minutes”) 是出自 User Story Mapping 第五章的經典活動。 ↩︎