Launch Atlas logoLaunch.Atlas
#11Define產品負責人業務分析師

User Story · 使用者故事

把 PRD 切成可估、可做、可驗收的最小單位

User Story · 使用者故事 · 卡片插圖
CHOOSE YOUR MODE

先決定你現在是要學,還是要在專案裡做

網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。

SDLC 實作課 · 交付物練習

先理解這份文件替你消除什麼不確定

把 PRD 切成可估、可做、可驗收的最小單位

PRD 寫得再好,工程師也不能直接拿去寫 code,粒度太大、無法估時、無法驗收。

User Story 把 PRD 切成「一個 sprint 內可做完」的最小單位,並把「誰、為何、做什麼」寫清楚。

沒有 user story,sprint planning 變成猜謎遊戲;估時不準、驗收不清、demo 沒看點。

OWNER & HANDOFF

誰負責、交給誰

主責: PO(最終排序與接受度)

協作: BA(補規則細節)、Dev(驗證估時)、QA(驗收條件)

下游收件: Dev 寫 code、QA 寫 test case、PO 在 sprint review 驗收

WHEN TO USE

何時值得做

REQUIRED

必要時機: Sprint-based delivery、backlog ≥ 20 item、跨職能團隊

SKIP

不需要時: Bug fix(用 bug ticket 即可)、純技術重構(用 tech task)

CAUTION

常見誤用: 寫成 "As a user, I want a button" 這種沒動機的 story;必須含 persona + action + benefit,並符合 INVEST(Independent, Negotiable, Valuable, Estimable, Small, Testable)

看懂5 段骨架知道每段要留下哪一種判斷
看會雙版本範本先用輕量版練習,再讀完整版
做出自己的草稿手動貼到 Claude Code、Codex 或其他 Agent
  1. 01讀大綱
  2. 02比範本
  3. 03填素材
  4. 04貼提示詞
  5. 05對照驗收

Anatomy · 文件解剖

輕量版先回答 5 個核心章節

章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。

  1. 01

    Executive Summary

    範本必要章節

    3-5 行:本批 story 數、總點數、是否進得了當前 sprint、最高風險的 INVEST fail

  2. 02

    Stories

    範本必要章節

    每個 story 含 statement (persona / action / benefit) + INVEST checklist + AC refs + 點數 + 依賴

  3. 03

    Story Size & Capacity Fit

    範本必要章節

    把已確認的內容、判斷依據與仍待補充的資訊清楚分開。

  4. 10

    Decision Log(key 1-2 條)

    範本必要章節

    每條必含 chosen + 至少 1 個 rejected option + 拒絕原因

  5. 12

    Confidence & Sources & TODO

    範本必要章節

    把已確認的內容、判斷依據與仍待補充的資訊清楚分開。

Study · 對照學習

同一份交付物,先練核心,再看完整深度

輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。

SmartTrip 實例待補

這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。

LIGHT TEMPLATE

30 分鐘內先完成核心章節。

---
doc_type: "user-story"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
  required: ["prd", "persona"]
  optional: ["jtbd", "story-naming-conventions"]
---

# User Stories: <epic-or-batch-name>

**Status:** Draft v0.X · **Owner:** <PO name> · **Last updated:** YYYY-MM-DD

> [!IMPORTANT]
> **AI 填寫規則:** 本範本 5 段(編號 1, 2, 3, 10, 12),全部必填——刻意沿用完整版章節編號讓兩版可對照。每個 story 必含 **persona + action + benefit 三段**;無動機 story(「As a user, I want a button」)= 直接 reject。每個 story 必通過 INVEST 6 項自檢,fail 項標 reason。Story point 用 Fibonacci,> 8 點必須建議拆分。每結論 `(依據:PRD §X / persona §Y / JTBD-NNN)`;缺資料寫 `_TODO: 需要 XXX_` 不編造。

---

## 1. Executive Summary

<!-- ai-fill: 3-5 行:本批 story 數、總點數、是否進得了當前 sprint、最高風險的 INVEST fail -->

<3-5 行說明>

> **TL;DR:** <一句話:本批多少 story、總多少點、能否一個 sprint 吃完>

---

## 2. Stories

<!-- ai-rule: 每個 story 含 statement (persona / action / benefit) + INVEST checklist + AC refs + 點數 + 依賴 -->

### US-1 · **3 pts** · **[H]**

> **As a** <persona>,
> **I want to** <action>,
> **so that** <benefit>.

- **INVEST:** Independent YES · Negotiable YES · Valuable YES · Estimable YES · Small YES · Testable YES
- **Acceptance criteria refs:** AC-001, AC-002 (Given/When/Then 詳見 acceptance-criteria 卡)
- **Dependencies:** blocked_by: — · blocks: US-2 · external: —
- **Source:** PRD §FR-1 + persona §primary

### US-2 · **5 pts** · **[M]**

> **As a** <persona>,
> **I want to** <action>,
> **so that** <benefit>.

- **INVEST:** Independent YES · Negotiable YES · Valuable YES · Estimable YES · Small [CAUTION] (近上限,5 pts) · Testable YES
- **Fail reasons:** —
- **AC refs:** AC-003, AC-004, AC-005
- **Dependencies:** blocked_by: US-1 · blocks: — · external: <auth-svc API>
- **Source:** PRD §FR-2

### US-3 · **8 pts** · **[L]** · [CAUTION] Consider split

> **As a** <persona>,
> **I want to** <action>,
> **so that** <benefit>.

- **INVEST:** Small NO — 8 pts 建議拆分為 US-3a (5 pts UI 流程) + US-3b (3 pts API 整合)
- **AC refs:** AC-006, AC-007
- **Dependencies:** ...
- **Source:** PRD §FR-3

---

## 3. Story Size & Capacity Fit

| Metric | Value |
|---|---|
| Total stories | 3 |
| Total points | 16 |
| Team velocity baseline (last 3 sprint avg) | 38 pts |
| Capacity fit | YES fits comfortably (< 50% capacity) |
| Suggested split | US-3 split before commit |

---

## 10. Decision Log(key 1-2 條)

<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected option + 拒絕原因 -->

| Date | Decision | Options | Chosen | Rejected why |
|---|---|---|---|---|
| YYYY-MM-DD | <例:US-A 拆兩 story 還是一個> | split / merge | split | merge (8 pts 估點不準、demo 點不清) |

---

## 12. Confidence & Sources & TODO

- **最低 confidence 項:** <列出所有 [L] 與 [M]>
- **Fabricated assumptions(推測但 input 未明說):**
  - <假設 1,例:team velocity 38 pts 持平>
- **Highest-value next input:** <persona 訪談 / 過去 sprint velocity / UI mockup 三選一>

### TODO(缺資料)

- _TODO: 需要 UX mockup 校準 US-3 估點_

---

> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 5 段 H2 章節齊全(編號 1, 2, 3, 10, 12,刻意不連號)
> - [ ] 每個 story 含 persona / action / benefit 三段(無 "I want a button" 這類無動機句)
> - [ ] 每個 story 含 INVEST 6 項標記
> - [ ] 點數用 Fibonacci 1/2/3/5/8/13;> 8 必標 [CAUTION] 建議拆分
> - [ ] 每個 story 含 AC refs + dependencies + source
> - [ ] Total points 對齊 team velocity baseline
> - [ ] Decision Log ≥ 1 條,每條有 rejected reason
> - [ ] 無 YAML / JSON schema 輸出(story 是給人讀的 markdown)

Practice · 換你試做

先用自己的話交代素材,不需要先學會工程術語

確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。

可以先留白;複製提示詞後再到 Coding Agent 裡補充。

AI Practice · 手動三步

先問、再寫、最後審,不把整條流程鎖死

每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。

STEP 01

只找阻擋文件成立的未知

先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。

我要製作「User Story · 使用者故事」。先不要產出文件。

請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。

每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定

已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。

本文件的核心章節:Executive Summary、Stories、Story Size & Capacity Fit、Decision Log(key 1-2 條)、Confidence & Sources & TODO

複製後,請在標示位置貼上自己的素材。

Review · 自己驗收

文件存在,不代表下一個角色真的能使用

逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。

CHECKED0 / 6
NEXT HANDOFF

帶著這份文件,繼續到「Acceptance Criteria · 驗收條件」

下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。

前往下一張卡