本章列出常見的 Story「壞味道」(Bad Smells)——這些跡象暗示 Story 的使用方式出了問題。每個壞味道都附有症狀描述和建議的解決方案。

Story 太小#

症狀:需要頻繁修正估算。

小 Story 的估算容易因為實作順序不同而大幅波動。例如「搜尋結果可以存成 XML 檔案」和「搜尋結果可以存成 HTML 檔案」這兩個 Story,先做哪個會影響後做的那個的工作量。

將這類高度重疊的小 Story 合併為一個。等到進入迭代時再拆分即可。

Story 之間相互依賴#

症狀:規劃迭代時很困難,因為 Story 之間有依賴關係。

當一個 Story 只能在另一個 Story 完成後才能進入迭代,排程就變得複雜。

解決方案

  • 嘗試將相依的 Story 合併
  • 重新拆分 Story,讓每個 Story 都是完整的「蛋糕切片」

鍍金(Goldplating)#

症狀:開發人員在加入未被規劃的功能,或過度解讀 Story。

Goldplating 指的是開發人員添加非必要的功能。這可能出於以下原因:

  • 想給客戶「驚喜」
  • 在短迭代中感受到持續產出的壓力
  • 享受在程式碼上留下自己的印記

解決方案

  • 透過每日站會增加工作的透明度
  • 在迭代檢視會議中展示所有新功能,讓非計畫中的工作無所遁形
  • 如果開發人員有好點子,應建議客戶將其加入 Product Backlog

太多細節#

症狀:花費大量時間預先蒐集細節,或花更多時間寫 Story 而非討論 Story。

Story 應寫在小卡片上,空間有限。如果寫不下,表示細節太多了。

Tom Poppendieck 建議:「如果卡片空間不夠,用更小的卡片。」

過早包含 UI 細節#

症狀:專案早期的 Story 就包含具體的 UI 描述。

在專案初期就指定 UI 會限制設計空間。

解決方案

  • 不好:「A Job Seeker can view information about the hiring company from the Job Description page.」
  • :「When viewing details about a job, a Job Seeker may view information about the hiring company.」

想太遠#

症狀:Story 寫不進卡片、有人提議使用 Story 模板、建議用更細的單位估算。

這個壞味道常見於習慣大量前期「需求工程」的團隊。

使用 Story 的根本認知是:對大多數問題而言,不可能預先識別所有需求。好的軟體是透過多次迭代,逐步增加細節而產生的。

拆分太多 Story#

症狀:在迭代規劃中頻繁拆分 Story。

偶爾拆分 Story 是正常的,但如果頻繁發生,可能需要在規劃前先主動檢視並拆分過大的 Story。

客戶難以排定優先順序#

症狀:客戶在排定 Story 優先順序時遇到困難。

可能的原因:

  • Story 太大:讓客戶難以取捨,應拆分為更小的 Story
  • Story 缺乏商業價值描述:技術導向的 Story(如「建立連線池」)讓客戶無法判斷價值
  • Story 數量太少但每個太大:客戶只有幾個巨大的 Story 可選,無法精細調整

客戶不願意撰寫和排序 Story#

症狀:客戶不願承擔撰寫或排序 Story 的責任。

在推卸責任的組織文化中,客戶可能因為害怕「做錯決定」而迴避。

找到方法讓客戶安心地表達意見。如果有多位客戶,告訴他們你在蒐集各方意見,但最終決策的責任在你