先決定你現在是要學,還是要在專案裡做
網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。
SDLC 實作課 · 交付物練習
先理解這份文件替你消除什麼不確定
讓「做完了」這句話有客觀證據
PO 說「做完了嗎?」工程師說「應該吧」、QA 說「我再測一下」、PM 說「跟我想的不一樣」。
這種對話每次發生,sprint 就燒掉半天。
Acceptance Criteria 是story 進 sprint 前就寫好的客觀驗收條件,誰看都一樣,不靠主觀感受。
誰負責、交給誰
主責: PO(最終接受度)/ QA(驗收執行)
協作: BA(補規則)、Dev(驗證可實作)、UX(驗證互動完整)
下游收件: Dev 自測、QA 寫 test case、Sprint review 驗收
何時值得做
必要時機: 每個 user story、每個 epic gate review
不需要時: 純技術 spike、文件整理任務、緊急 hotfix(事後補)
常見誤用: 寫成「使用者應該覺得很順」這種主觀句;必須是 Given/When/Then 可機械驗證,含 happy path + 至少 2 個 edge case
- 01讀大綱
- 02看案例
- 03填素材
- 04貼提示詞
- 05對照驗收
Anatomy · 文件解剖
輕量版先回答 5 個核心章節
章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。
- 01
Executive Summary
範本必要章節
3-5 行,列出 happy path 數 / edge case 數 / 涵蓋的 NFR 象限 / 最弱 confidence 項
- 02
Acceptance Criteria
範本必要章節
輕量版 ≥ 2 條 happy + ≥ 1 條 edge + ≥ 1 條 error。每條 Given/When/Then,無主觀字眼,可被自動化測試碼直接消費
- 04
NFR Constraints(最小集)
範本必要章節
輕量版至少 1 個 performance + 1 個 security/audit,無關象限可省略
- 10
Decision Log(key 1-2 條)
範本必要章節
每條必含 chosen + 至少 1 個 rejected option + 拒絕原因
- 12
Confidence & Sources & TODO
範本必要章節
把已確認的內容、判斷依據與仍待補充的資訊清楚分開。
Study · 對照學習
同一份交付物,先練核心,再看完整深度
輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。
30 分鐘內先完成核心章節。
---
doc_type: "acceptance-criteria"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
required: ["user-story", "prd"]
optional: ["test-data-fixtures"]
---
# Acceptance Criteria: <story-or-feature-name>
**Status:** Draft v0.X · **Owner:** <PO / QA name> · **Last updated:** YYYY-MM-DD
> [!IMPORTANT]
> **AI 填寫規則:** 本範本 5 段(編號 1, 2, 4, 10, 12),全部必填——刻意沿用完整版章節編號讓兩版可對照。每條 AC 必須 Given/When/Then 三段,**禁主觀字眼**(順、好用、合理);每條附 `(依據:story §X / PRD §Y)` 行內引用 + `[H/M/L]` badge;缺資料寫 `_TODO: 需要 XXX_` 不編造。
---
## 1. Executive Summary
<!-- ai-fill: 3-5 行,列出 happy path 數 / edge case 數 / 涵蓋的 NFR 象限 / 最弱 confidence 項 -->
<3-5 行說明>
> **TL;DR:** <一句話:這個 story 做到什麼程度算 done>
---
## 2. Acceptance Criteria
<!-- ai-rule: 輕量版 ≥ 2 條 happy + ≥ 1 條 edge + ≥ 1 條 error。每條 Given/When/Then,無主觀字眼,可被自動化測試碼直接消費 -->
### AC-1 · Happy path · **[H]**
- **Given:** <初始狀態 + 資料 + 環境>
- **When:** <使用者動作 + 輸入>
- **Then:** <可驗證的結果 + 資料變化 + 副作用>
- **Source:** story §X.action
### AC-2 · Edge case (<empty / oversize / concurrency / perm-denied / 任選一類>) · **[H]**
- **Given:** ...
- **When:** ...
- **Then:** ...
- **Source:** PRD §NFR
### AC-3 · Error path · **[M]**
- **Given:** ...
- **When:** ...
- **Then:** <顯示 error code XXX + log level + retry policy>
- **Source:** ...
---
## 4. NFR Constraints(最小集)
<!-- ai-rule: 輕量版至少 1 個 performance + 1 個 security/audit,無關象限可省略 -->
| Dimension | Threshold | How to verify | Confidence |
|---|---|---|---|
| **Latency** | p95 < Xms at <量測點> | k6 load test | **[H]** |
| **<critical 2nd>** | <target> | <how> | **[M]** |
---
## 10. Decision Log(key 1-2 條)
<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected option + 拒絕原因 -->
| Date | Decision | Options | Chosen | Rejected why |
|---|---|---|---|---|
| YYYY-MM-DD | <例:edge case A 拆兩條還是合併> | split / merge | split | merge (失敗訊息不同,QA 難寫 assertion) |
---
## 12. Confidence & Sources & TODO
- **最低 confidence 項:** <列出所有 [L] 與 [M]>
- **Fabricated assumptions(推測但 input 未明說):**
- <假設 1,例:既有 mock 可用、第三方 sandbox 穩定>
- **Highest-value next input:** <NFR 數字 / 合規條款全文 / 既有 mock 清單 三選一>
### TODO(缺資料)
- _TODO: 需要 XXX 校準 p95 threshold_
---
> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 5 段 H2 章節齊全(編號 1, 2, 4, 10, 12,刻意不連號)
> - [ ] ≥ 2 條 happy + ≥ 1 條 edge + ≥ 1 條 error path
> - [ ] 每條 AC 含 Given/When/Then 三段且無主觀字眼(順、好用、合理)
> - [ ] 每條 AC 帶 `[H/M/L]` badge + `(依據:...)` 行內引用
> - [ ] NFR 段至少 1 個 latency + 1 個 security/audit 象限
> - [ ] Decision Log ≥ 1 條,每條有 rejected reason
> - [ ] 無 YAML / JSON schema 輸出(AC 是給人 + 機器讀的 markdown)Practice · 換你試做
先用自己的話交代素材,不需要先學會工程術語
確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。
可以先留白;複製提示詞後再到 Coding Agent 裡補充。
AI Practice · 手動三步
先問、再寫、最後審,不把整條流程鎖死
每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。
只找阻擋文件成立的未知
先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。
我要製作「Acceptance Criteria · 驗收條件」。先不要產出文件。
請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。
每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定
已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。
本文件的核心章節:Executive Summary、Acceptance Criteria、NFR Constraints(最小集)、Decision Log(key 1-2 條)、Confidence & Sources & TODO複製後,請在標示位置貼上自己的素材。
Review · 自己驗收
文件存在,不代表下一個角色真的能使用
逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。
帶著這份文件,繼續到「SRS · 系統需求規格」
下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。
