結論先講

一個好的 Sprint 有明確的 Goal、合理的容量、最少的依賴、以及每個人都知道「做完」長什麼樣。Sprint Planning 不是把 backlog 最上面的 ticket 丟進去直到塞滿——是圍繞一個目標挑選最重要的工作,並確保團隊有能力在時間內完成。


Sprint Goal:一句話定義成功

Sprint Goal 是整個 Sprint 最重要的東西,但也是最常被跳過的。

好的 Sprint Goal

「這個 Sprint 結束時,使用者可以完成從加入購物車到信用卡付款的完整結帳流程。」

壞的 Sprint Goal

「完成 Jira 上面排的 12 張 ticket。」

差別在哪?好的 Sprint Goal 描述交付的價值,壞的只是列出工作量。

為什麼 Sprint Goal 重要

  1. 決策依據:Sprint 中間有事情要取捨時,問「這對達成 Sprint Goal 有幫助嗎?」
  2. 團隊凝聚力:大家朝同一個目標努力,不是各做各的
  3. 對外溝通:跟利害關係人說「這個 Sprint 我們要交付結帳功能」比說「我們要做 12 張 ticket」清楚得多

Sprint Goal 寫法公式

為了 [商業目的],我們要讓 [使用者] 能夠 [做什麼]。

例如:

  • 「為了上線前的最後準備,我們要讓管理員能夠從後台管理商品庫存。」
  • 「為了降低客訴,我們要修復結帳流程中的三個關鍵 bug。」

容量計算

基本公式

Sprint 容量 = 可用人天 × Focus Factor

算可用人天

成員工作天請假可用天數
小明10010
小華102(特休)8
小李10010
小林101(看診)9
總計37 人天

Focus Factor

Focus Factor 是「實際能專注在 Sprint 工作上的比例」。

情境Focus Factor
專職產品開發,很少會議0.7-0.8
產品開發 + 偶爾維運0.6-0.7
產品 + 維運 + 大量會議0.4-0.6

以上面的例子:37 人天 × 0.7 = 25.9 人天的實際產能

用 Story Points 算

如果你用 SP,更簡單:看前三個 Sprint 的平均 velocity。

Sprint完成 SP
Sprint 524
Sprint 626
Sprint 722
平均24 SP

下一個 Sprint 就承諾 24 SP 左右。不要因為這次感覺士氣好就承諾 30——數據不會騙人。


什麼該放進 Sprint,什麼不該

該放進去的

  • 有助於達成 Sprint Goal 的 stories
  • 已經 grooming 過、有 AC 和估算的 ticket
  • 依賴已解決或確認在 Sprint 期間能解的

不該放進去的

  • 估算超過 Sprint 容量一半的單一 ticket(太大,先拆)
  • 有未解的依賴(「等設計稿」「等第三方 API 權限」)
  • 「想做」但跟 Sprint Goal 無關的項目
  • 還沒精煉的模糊需求

經驗法則

Sprint 容量的 80-85% 排計畫內的工作,留 15-20% 給意外(bug、生產問題、臨時需求)。如果你排 100%,任何一個意外都會讓 Sprint 爆掉。


依賴管理

跨團隊的依賴是 Sprint 炸裂的常見原因。

依賴類型

類型範例處理方式
團隊內部前端等後端 API先做 API,或用 mock
跨團隊我們等設計團隊的設計稿Sprint Planning 前確認交付時間
外部等第三方 API 審核提前申請,不要放進 Sprint 直到確認

依賴處理原則

  1. 盡量消除依賴:改用 mock、自己做簡單版設計
  2. 不能消除就提前確認:Sprint Planning 前跟對方確認交付時間
  3. 有風險就不要排:如果依賴解不開的機率超過 30%,別排進 Sprint

處理中途插單

PM:「客戶反映了一個很嚴重的 bug,我們需要這個 Sprint 修。」 老闆:「老闆的老闆說要加這個功能。」

中途插單不可避免,但你可以管理它。

決策框架

插單需求進來
    │
    ▼
是 P0/P1 bug? ──── 是 → 直接處理,Sprint 容量自動扣除
    │
    否
    ▼
跟 Sprint Goal 有關? ── 是 → 評估後放入,拿掉等量的 ticket
    │
    否
    ▼
可以等到下個 Sprint? ── 是 → 放入 Backlog 頂端
    │
    否
    ▼
放入,但拿掉等量 ticket,並記錄 scope change

關鍵原則:等量交換

進一個就要出一個。 如果 PM 要加一張 3 SP 的 ticket,就要拿掉至少 3 SP 的其他 ticket。不是「團隊再努力一下就好了」——容量是固定的。

記錄 Scope Change

每次中途插單都要記錄:

日期加入移除理由決策者
Day 3BUG-123(3 SP)FEAT-456(3 SP)客戶回報金流錯誤PO
Day 7FEAT-789(5 SP)FEAT-012, FEAT-013老闆要求CEO

累積這些數據,你就有跟管理層溝通的彈藥:「過去三個 Sprint,平均每個 Sprint 有 20% 的 scope change,這就是我們每次做不完的原因。」


Definition of Done(DoD)

DoD 是團隊對「做完」的共同標準。沒有 DoD,每個人的「做完」不一樣:

  • 小明的「做完」:code 寫好,可以跑
  • 小華的「做完」:code 寫好、測試寫好、code review 過了
  • 小李的「做完」:以上全部 + 文件更新 + deploy 到 staging

建議的 DoD 檢查表

  • Code 已通過 code review
  • 單元測試已撰寫,覆蓋率達到團隊標準
  • 整合測試已通過
  • 符合所有 Acceptance Criteria
  • 文件已更新(如有需要)
  • 已 deploy 到 staging 環境
  • PO 已驗收

DoD vs AC

Definition of DoneAcceptance Criteria
範圍所有 ticket 都適用每個 ticket 各自不同
誰定團隊共同決定PO 和團隊一起寫
範例「所有 code 要有 test」「使用者選超商後顯示門市選擇器」

Sprint Review vs Retrospective

這兩個常常被搞混,但目的完全不同。

Sprint ReviewSprint Retrospective
目的展示成果、收集回饋改善團隊流程
參與者團隊 + 利害關係人只有團隊
討論什麼做了什麼、學到什麼、接下來做什麼什麼做得好、什麼要改善
產出回饋、調整 Backlog2-3 個改善行動
時間Sprint 結束時Review 之後

Sprint Review 實戰建議

  1. Demo 用活的系統,不是投影片
  2. 讓利害關係人親手操作,而不是你操作給他看
  3. 主動問回饋:「這個流程跟你想的一樣嗎?有什麼地方需要調整?」
  4. 記錄回饋但不當場承諾:「收到,我們會評估放進 Backlog」

Sprint Retrospective

Retro 是系列第八篇的主題,這裡先講核心:

  • 一定要有 action items,而且要有負責人和期限
  • 上次的 action items 這次要追蹤進度
  • 營造安全感——人不舒服就不會說真話

Sprint Planning 會議流程模板

步驟時間活動負責人
110 分鐘回顧上個 Sprint(velocity、scope change)SM
210 分鐘PO 提出 Sprint GoalPO
35 分鐘確認團隊容量(請假、維運)SM
430 分鐘選擇 stories、討論 AC、確認估算全團隊
510 分鐘確認依賴和風險全團隊
65 分鐘總結承諾、確認 Sprint GoalSM

總計:70 分鐘(兩週 Sprint 的建議時長)


常見錯誤

1. 沒有 Sprint Goal

團隊只是把 ticket 丟進 Sprint,沒有方向感。結果 Sprint 結束時做了一堆零散的東西,沒有一個完整的功能可以 demo。

2. 承諾太多

每次都覺得「這次可以做更多」,然後每次都做不完。結果團隊士氣越來越低,velocity 越來越不準。

3. 不留 buffer

Sprint 排 100% 的容量,任何一個意外(請假、bug、需求變更)都會讓 Sprint 失敗。

4. Sprint Planning 變成 grooming

花兩小時在討論需求細節——這應該在 grooming 時做好。Planning 時 ticket 應該已經精煉過了。


FAQ

Q1:Sprint 應該多長?

大多數團隊用兩週。一週太短(花太多時間在儀式上),四週太長(失去迭代的意義)。新團隊建議從兩週開始,穩定後再決定要不要調整。

Q2:Sprint 期間可以加 ticket 嗎?

可以,但要遵守等量交換原則。P0 bug 例外——直接處理,容量自動扣除。如果每個 Sprint 都有大量插單,問題不在 Sprint,在需求管理。

Q3:Sprint 做不完怎麼辦?

未完成的 ticket 回到 Backlog 頂端,下個 Sprint 優先排入。不要延長 Sprint。在 Retro 裡討論為什麼做不完——是估算太樂觀?還是插單太多?還是依賴沒解決?

Q4:一個人可以同時參與兩個團隊的 Sprint 嗎?

盡量避免。一個人跨兩個 Sprint,Focus Factor 直接砍半,而且上下文切換的成本比你想的高。如果不得已,在兩邊的 Sprint Planning 都要明確說清楚容量只有 50%。

Q5:Sprint 結束時 PO 不驗收怎麼辦?

先確認 DoD 定義裡 PO 驗收是不是必要條件。如果是,那 ticket 就不算 Done。在 Retro 裡討論這個問題,找出 PO 不驗收的原因——是太忙?還是覺得不重要?然後找解法(例如每天花 15 分鐘驗收,而不是累積到 Sprint 結束)。


系列導航

篇章主題
01需求拆分
02工時估算
03Agile 實戰
04Backlog 管理
→ 05Sprint Planning(本篇)
06專案追蹤
07向上管理
08Retro & Postmortem