Launch Atlas logoLaunch.Atlas
#14Define業務分析師產品經理

FRD · 功能需求文件

把 PRD 的 what 拆解成每個功能的精細規格

FRD · 功能需求文件 · 卡片插圖
CHOOSE YOUR MODE

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

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

SDLC 實作課 · 交付物練習

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

把 PRD 的 what 拆解成每個功能的精細規格

PRD 適合對齊「為什麼做」,但對工程實作而言過於高階。

FRD 把 PRD 中的每個功能拆成獨立的規格條目:input、output、處理規則、錯誤情境、相依資料。

不寫 FRD,工程師會在 sprint 中不斷回頭問「這個欄位驗證規則是?」「這狀態下要顯示什麼?」,一週 standup 都耗在補需求。

OWNER & HANDOFF

誰負責、交給誰

主責: BA(細節規格)/ PM(範圍確認)

協作: SA(系統行為層)、UX(互動規則)、QA(驗收條件)

下游收件: Dev 實作、QA 寫 test、UI 補空狀態與錯誤訊息文案

WHEN TO USE

何時值得做

REQUIRED

必要時機: PRD 含 ≥ 5 個獨立功能、跨團隊交付、外包開發

SKIP

不需要時: 小團隊 PRD + user story 已足、純探索 spike

CAUTION

常見誤用: FRD 與 PRD 重複(要切清楚 what vs how-detail);FRD 與 user story 重複(FRD 偏完整功能,user story 偏可 sprint 切片)

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

Anatomy · 文件解剖

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

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

  1. 01

    Executive Summary

    範本必要章節

    3-5 行:本 FRD 拆出 N 個功能模組、M 條 business rule、最高風險的 exception 情境

  2. 02

    Functional Modules

    範本必要章節

    輕量版只列 P0 模組,2-4 個為宜。每個模組必含 input / output / 規則 / 相依 四件

  3. 04

    Business Rules(必要規則)

    範本必要章節

    每條規則必含 rule ID + when/then 條件 + exception。互斥規則須在 statement 明示

  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: "frd"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
  required: ["prd", "business-rules"]
  optional: ["data-model"]
---

# Functional Requirements: <product-or-epic-name>

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

> [!IMPORTANT]
> **AI 填寫規則:** 本範本 5 段(編號 1, 2, 4, 10, 12),全部必填——刻意沿用完整版章節編號讓兩版可對照。每個欄位必含 type / required / validation;每條規則必含 rule ID + 觸發條件 + 動作;每結論行內 `(依據:PRD §X / BR-NNN)`;缺資料寫 `_TODO: 需要 XXX_` 不編造。

---

## 1. Executive Summary

<!-- ai-fill: 3-5 行:本 FRD 拆出 N 個功能模組、M 條 business rule、最高風險的 exception 情境 -->

<3-5 行說明>

> **TL;DR:** <一句話:本 FRD 把 PRD 哪一段拆成多少個可實作模組>

---

## 2. Functional Modules

<!-- ai-rule: 輕量版只列 P0 模組,2-4 個為宜。每個模組必含 input / output / 規則 / 相依 四件 -->

### FN-1: <module-name> · **P0** · **[H]**

- **Description:** <一句話>
- **Input fields:**

| Field | Type | Required | Validation | Default | Source |
|---|---|---|---|---|---|
| <field-a> | string | yes | regex `^...$` (BR-001) | `_` | PRD §FR-1 |
| <field-b> | int | yes | range 1-100 | `1` | PRD §FR-1 |

- **Output:**
  - **Success:** `{ id: uuid, status: "ok" }`
  - **Error:** `{ code: "VAL-001", message: i18n key, retryable: false }`
- **Processing rules:** BR-001, BR-002
- **Dependencies:** upstream `<auth-service>` · downstream `<event-bus>` · data `<orders 表>`
- **Source:** PRD §FR-1

### FN-2: <module-name> · **P0** · **[M]**

...

---

## 4. Business Rules(必要規則)

<!-- ai-rule: 每條規則必含 rule ID + when/then 條件 + exception。互斥規則須在 statement 明示 -->

| ID | Statement | Decision table / branches | Exceptions | Priority | Source |
|---|---|---|---|---|---|
| BR-001 | When <input> then <action> else <reject> | <參考表格或 N/A> | <例:admin 可繞過> | **must** | PRD §business rule |
| BR-002 | ... | ... | ... | **should** | ... |

---

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

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

| Date | Decision | Options | Chosen | Rejected why |
|---|---|---|---|---|
| YYYY-MM-DD | <例:欄位 X 為何設為 required> | required / optional / 條件式 | required | optional (下游無法處理 null)、條件式 (規則過複雜) |

---

## 12. Confidence & Sources & TODO

- **最低 confidence 項:** <列出所有 [L] 與 [M]>
- **Fabricated assumptions(推測但 input 未明說):**
  - <假設 1,例:上游 API 穩定性>
- **Highest-value next input:** <合規條款全文 / 上游 API spec / 既有欄位字典 三選一>

### TODO(缺資料)

- _TODO: 需要 XXX 補 BR-002 的 exception 處理_

---

> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 5 段 H2 章節齊全(編號 1, 2, 4, 10, 12,刻意不連號)
> - [ ] 每個 FN 含 input / output / 規則 / 相依 四件
> - [ ] 每個欄位含 type / required / validation 三件
> - [ ] 每條 BR 含 rule ID + when/then + exception
> - [ ] 每結論帶 `[H/M/L]` badge + `(依據:...)` 行內引用
> - [ ] Decision Log ≥ 1 條,每條有 rejected reason
> - [ ] 無 YAML / JSON schema 輸出(FRD 是給人讀的 markdown)

Practice · 換你試做

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

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

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

AI Practice · 手動三步

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

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

STEP 01

只找阻擋文件成立的未知

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

我要製作「FRD · 功能需求文件」。先不要產出文件。

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

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

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

本文件的核心章節:Executive Summary、Functional Modules、Business Rules(必要規則)、Decision Log(key 1-2 條)、Confidence & Sources & TODO

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

Review · 自己驗收

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

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

CHECKED0 / 6
NEXT HANDOFF

帶著這份文件,繼續到「Stakeholder Map · 利害關係人地圖」

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

前往下一張卡