交付系統 User Story Agile

User Story 拆不動?用 SPIDR + INVEST 建立團隊共用的拆解框架

原始貼文

我第一次教團隊拆 User Story 時,其實自己也沒搞懂 Negotiable。

現在回想起來,覺得自己也蠻厚臉皮的。我第一次在公司教團隊拆 User Story 的時候,自己根本也還搞不太清楚 INVEST 裡面的 Negotiable 到底是在 negotiate 什麼。

我以為自己懂了,就照著上課內容講一遍,再加上當時粗淺的認知——團隊聽完很禮貌地點頭,然後……就沒有然後了。

真正開始有點悟,是跑過好幾輪 Refinement 之後

後來我帶團隊跑了幾輪 Refinement,採用「實例化需求」之後,在討論 Gherkin 的過程中我觀察到一件事:

  • 討論常常變得很發散
  • 時間很難收斂在預定範圍內

當時我還不太理解,後來才發現其中一個關鍵影響因素是:User Story 的拆解根本沒有做好。

團隊知道要拆小,但不知道怎麼下刀

我在指導某個團隊 Leader 時問他:

「這個『發送免費券』的 User Story 規模很大,規則十幾條,Scenario 快三十個,你打算怎麼在一個 Sprint 交付?」

他回我:

「喔,這沒辦法,只能延長到下個 Sprint 再交付吧。」

那一刻我突然懂了——團隊不是不知道 Story 要拆小,是根本不知道該怎麼動手。

帶的團隊多了,我發現拆不動 Story 的狀況就那幾種

1. 有拆,但其實是切成前後端任務

看起來卡片變多,但每一張都不能獨立交付使用者感受得到的價值。結果就是:

  • Sprint Review 只能 demo 半成品
  • 或乾脆延到下個 Sprint 再 demo

2. Story 還很模糊,覺得差不多就開工

每個人腦中想像都不一樣。做到第三天才冒出一堆當初沒聊到的情境,Sprint 後半段整組人在:

  • 補洞
  • 補規則
  • 補測試
  • 補例外

3. 怕拆太細被覺得在「灌點數」,乾脆包大包帶進 Sprint

結果裡面藏著三四個沒人預期的邊界條件:

  • QA 測不完
  • 時程炸開
  • 客戶好一點:往後延一個 Sprint
  • 客戶兇一點:整組加班收拾

4. 知道要拆小,但沒有穩定切法

每次全憑直覺,品質忽好忽壞:

  • 資深的人在 → 拆得不錯
  • 資深的人不在 → 打回原形

這些我自己全都經歷過,包括當年那個「以為自己懂了就去教人」的階段。

真正改善,是把兩個工具搭在一起用:SPIDR + INVEST

SPIDR:刀法,解決「我知道很大,但不知道從哪裡切」

SPIDR 給你 5 個切入角度:

  • Spike
  • Paths
  • Interfaces
  • Data
  • Rules

白話就是:解決「我知道這張太大,但不知道從哪裡下刀」這件事。

回到「發送免費券」這張 Story,用 Paths 展開,你會發現其實是完全不同的使用路徑:

  • 首次註冊發券
  • 滿額門檻發券
  • 手動指定對象發券

這三個本質就應該拆開。

再用 Rules 去看:

  • 每人限領一次
  • 過期自動失效
  • 與其他優惠是否併用

每一條背後的判斷邏輯、例外處理都不同——硬塞在同一張 Story 裡,Scenario 當然寫到快二十個,Refinement 時間也當然收不住。

INVEST:品管,解決「我拆完了,但拆得好不好?」

拆完之後,怎麼知道拆得好不好?這就是 INVEST 的價值。

Bill Wake 提出的 6 個檢驗原則,我現在更習慣把它當 User Story 的品檢單。每拆出一張就問自己(現在很輕鬆,可以靠 AI 做自動檢測):

  • 能不能獨立交付?
  • 有沒有明確的使用者價值?
  • 團隊估不估得出大小?
  • 一個 Sprint 做不做得完?
  • 測試案例寫不寫得出來?

只要任何一項答案是模糊的,通常就代表:還沒拆到位。

說回 Negotiable:我當初搞不懂的 N,到底在 negotiate 什麼?

現在回頭看,Negotiable 要講的是:Story 的細節應該保留協商空間,不要在 Refinement 階段就把實作方式寫死。

這件事我是踩了幾次坑之後才真的體會。光上課很難真正悟到。

結論:SPIDR 是刀法,INVEST 是品管

  • SPIDR 告訴你從哪裡切
  • INVEST 告訴你切得好不好

搭在一起用,Story 拆解就不再只能靠直覺碰運氣。

這幾年帶團隊,我越來越覺得——Story 拆不好,多半不是技術能力的問題,是缺一個團隊能共用的思考框架。

與其每次 Sprint Review 費力解釋為什麼沒做完,不如在 Refinement 多留 30 分鐘:

  • 把 Story 拆清楚
  • 把邊界條件講仔細

那三十分鐘省下來的,是整個 Sprint 的混亂跟返工。

想聊聊你的團隊現況?

無論是交付卡關、產品方向不清,還是想導入 AI,都歡迎先聊 30 分鐘。

預約免費諮詢