2.7 KiB
2.7 KiB
產品需求文檔 (Write-a-PRD) 技能指南
概述
write-a-prd 是一個純 PM 技能,用來把已釐清的產品方向整理成結構化 PRD。它負責定義問題、目標、範圍、成功指標、功能性需求、非功能需求、驗收標準與風險,不負責技術設計。
運作流程
- 需求釐清:確認目標使用者、現況流程、痛點、限制與發佈邊界。
- 收斂產品定義:根據使用者情境整理目標、非目標、範圍、成功指標與需求。
- 吸收研究輸入:若存在
docs/research/...,將市調、競品與類別期待轉化為 PRD 依據。 - 正式撰寫:輸出標準化 PRD 至
docs/prd/...。 - 可選同步:只有在使用者明確要求時,才另外同步成 GitHub Issue。
輸入與輸出
輸入
- 主要輸入:
docs/brainstorm/{date}-{feature}-design.md - 可選輸入:
docs/research/{date}-{topic}.md
輸出
- 主要輸出:
docs/prd/{date}-{feature}.md - 次要輸出:GitHub Issue(僅限使用者明確要求時)
PRD 結構
## Research Inputs(有需要才填)## Problem## Goals## Non Goals## Scope## Success Metrics## User Stories## Functional Requirements## Acceptance Criteria## Edge Cases## Non Functional Requirements## Risks## Assumptions## Dependencies## Open Questions
規則
- 驗收標準必須使用
Given / When / Then - 每條驗收標準必須可觀察、可測試、可拒收、可衡量、不可歧義
- 每條驗收標準都必須對應至少一條功能性需求
- 功能性需求與非功能需求必須依使用者情境定義
- 只寫使用者可觀察或可依賴的行為
- 不得寫 architecture、module、schema、database、API path、技術選型、工程拆工
驗收標準示例
Given 有效的 create-job 請求, when 請求送出, then 系統回傳 HTTP 201Given 建立成功的 job, when 回應返回, then response 包含 job_idGiven 建立成功的 job, when 回應返回, then job_id 必須是有效的 UUID v7Given 建立成功的 job, when 查詢該 job, then 1 秒內可被查到Given 相同 payload 與相同 idempotency key, when 重送請求, then 系統不得建立重複紀錄
最低完整性檢查
- 必須包含:Problem、Goals、Non Goals、Scope、Success Metrics、User Stories、Functional Requirements、Acceptance Criteria、Edge Cases、Non Functional Requirements、Risks
- 視情況補上:Research Inputs、Assumptions、Dependencies、Open Questions、Error Handling、Idempotency、Observability
注意事項
docs/prd/...是 agent 間交接的主要橋樑- 不要把競品解法直接抄進 PRD,要轉成對本產品有意義的需求判斷