prd-master

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PRD Master

PRD撰写指南

Core Principles

核心原则

  • Living Document — PRDs evolve throughout product lifecycle
  • Stakeholder Collaboration — Early involvement prevents late rework
  • Measurable Goals — Replace vague with quantifiable targets
  • Focused yet Flexible — Lean structure enables adaptation
  • Problem-First — Define the problem before jumping to solutions
  • User-Centered — Ground decisions in user research and data

  • 活文档 — PRD会在产品生命周期中持续演进
  • 利益相关者协作 — 早期参与可避免后期返工
  • 可衡量目标 — 用可量化指标替代模糊描述
  • 聚焦且灵活 — 精简结构便于调整
  • 先解决问题 — 在提出解决方案前先明确问题
  • 以用户为中心 — 基于用户研究和数据做决策

Hard Rules (Must Follow)

硬性规则(必须遵守)

These rules are mandatory. Violating them means the skill is not working correctly.
这些规则为强制性要求。违反规则意味着该技能未正常发挥作用。

No Vague Metrics

禁止模糊指标

All metrics and requirements must be quantifiable. Vague descriptions are forbidden.
❌ FORBIDDEN:
- "The app should be fast"
- "Support many users"
- "Good user experience"
- "The system should be reliable"
- "Easy to use interface"

✅ REQUIRED:
- "Page load time < 2s on 4G, < 500ms on WiFi (P95)"
- "Support 10,000 concurrent users with 99.9% uptime"
- "NPS > 50, Task completion rate > 85%"
- "99.9% availability, MTTR < 1 hour"
- "User can complete checkout in < 3 clicks"
所有指标和需求必须可量化。严禁使用模糊描述。
❌ 禁止:
- "应用应该更快"
- "支持大量用户"
- "良好的用户体验"
- "系统应该可靠"
- "界面易于使用"

✅ 要求:
- "4G网络下页面加载时间<2秒,WiFi下<500毫秒(P95分位)"
- "支持10000并发用户,可用性达99.9%"
- "NPS>50,任务完成率>85%"
- "可用性99.9%,平均恢复时间<1小时"
- "用户可在3次点击内完成结账"

Problem Before Solution

先明确问题再提方案

Never propose a solution without clearly defining the problem first.
❌ FORBIDDEN:
"We should add a search bar to the navigation"

✅ REQUIRED:
"Problem: Users can't find products quickly (40% exit rate on catalog).
They need a way to filter 1000+ products by attributes.
Proposed solutions: search bar, smart filters, AI recommendations."
在未清晰定义问题前,绝不能提出解决方案。
❌ 禁止:
"我们应该在导航栏添加搜索框"

✅ 要求:
"问题:用户无法快速找到产品(目录页退出率达40%)。
他们需要一种能按属性筛选1000+款产品的方式。
拟议解决方案:搜索框、智能筛选器、AI推荐。"

INVEST-Compliant Stories

符合INVEST标准的用户故事

All user stories must pass the INVEST criteria checklist.
❌ FORBIDDEN:
- Dependent stories that can't be delivered independently
- Stories without acceptance criteria
- Stories too large to complete in one sprint
- Stories without clear user value

✅ REQUIRED:
- [ ] Independent — Can be delivered alone
- [ ] Negotiable — Details can be discussed
- [ ] Valuable — Clear user/business value
- [ ] Estimable — Team can estimate effort
- [ ] Small — Fits in one sprint
- [ ] Testable — Has acceptance criteria

所有用户故事必须通过INVEST标准检查。
❌ 禁止:
- 无法独立交付的依赖型故事
- 无验收标准的故事
- 规模过大无法在一个迭代内完成的故事
- 无明确用户价值的故事

✅ 要求:
- [ ] 独立性 — 可单独交付
- [ ] 可协商性 — 细节可讨论
- [ ] 价值性 — 具备明确的用户/业务价值
- [ ] 可估算性 — 团队可评估工作量
- [ ] 小型化 — 可在一个迭代内完成
- [ ] 可测试性 — 具备验收标准

Quick Reference

快速参考

When to Use What

场景对应方法

ScenarioApproachTool/Framework
Feature prioritizationScoring modelRICE, ICE
Release planningMust/Should/Could/Won'tMoSCoW
Customer satisfactionDelight vs basicsKano Model
Sprint planningUser stories + BDDGiven-When-Then
Complex requirementsTraditional PRDFull template
Agile iterationLean requirementsUser stories + acceptance criteria

场景方法工具/框架
功能优先级排序评分模型RICE, ICE
发布规划必须/应该/可以/不会MoSCoW
客户满意度惊喜功能vs基础功能Kano模型
迭代规划用户故事+BDDGiven-When-Then
复杂需求传统PRD完整模板
敏捷迭代精简需求用户故事+验收标准

PRD Structure

PRD结构

Essential Components

核心组成部分

markdown
undefined
markdown
undefined

1. Executive Summary

1. 执行摘要

  • Problem statement (2-3 sentences)
  • Proposed solution (1-2 sentences)
  • Success metrics (3-5 key metrics)
  • 问题陈述(2-3句话)
  • 拟议解决方案(1-2句话)
  • 成功指标(3-5个关键指标)

2. Context & Background

2. 背景与上下文

  • Why now? Market opportunity or user pain
  • Strategic alignment with company goals
  • What happens if we don't build this?
  • 为什么是现在?市场机会或用户痛点
  • 与公司目标的战略对齐
  • 如果不做这个产品会有什么后果?

3. Goals & Success Metrics

3. 目标与成功指标

  • Business objectives (revenue, retention, growth)
  • User objectives (satisfaction, engagement)
  • Success criteria (quantifiable targets)
  • 业务目标(收入、留存、增长)
  • 用户目标(满意度、参与度)
  • 成功标准(可量化目标)

4. Target Users & Personas

4. 目标用户与用户画像

  • Primary users (who benefits most?)
  • Secondary users (indirect beneficiaries)
  • User needs, pain points, motivations
  • Jobs to be done
  • 核心用户(谁受益最大?)
  • 次要用户(间接受益者)
  • 用户需求、痛点、动机
  • 用户待办任务

5. User Stories & Use Cases

5. 用户故事与用例

  • Core user flows
  • Edge cases and error scenarios
  • Integration with existing features
  • 核心用户流程
  • 边缘场景与错误场景
  • 与现有功能的集成

6. Requirements

6. 需求

  • Functional requirements (what it does)
  • Non-functional requirements (performance, security)
  • Acceptance criteria (how we verify)
  • 功能需求(产品能做什么)
  • 非功能需求(性能、安全性)
  • 验收标准(如何验证)

7. Out of Scope

7. 范围外内容

  • What we're explicitly NOT building
  • Future considerations for later phases
  • 明确说明我们不会做的内容
  • 后续阶段的未来考虑事项

8. Design & UX

8. 设计与UX

  • Link to design files (Figma, etc.)
  • Key design decisions
  • Accessibility requirements (WCAG 2.2 AA)
  • 设计文件链接(Figma等)
  • 关键设计决策
  • 可访问性要求(WCAG 2.2 AA)

9. Technical Considerations

9. 技术考量

  • Architecture overview
  • Dependencies and integrations
  • Data model changes
  • API contracts
  • 架构概述
  • 依赖与集成
  • 数据模型变更
  • API契约

10. Rollout & Launch Plan

10. 上线与发布计划

  • Phased rollout strategy
  • Feature flags and A/B tests
  • Monitoring and alerts
  • Rollback plan
  • 分阶段发布策略
  • 功能开关与A/B测试
  • 监控与告警
  • 回滚计划

11. Open Questions & Risks

11. 未解决问题与风险

  • Unknowns requiring research
  • Technical risks and mitigations
  • Dependencies on other teams

---
  • 需要研究的未知事项
  • 技术风险与缓解措施
  • 对其他团队的依赖

---

User Story Writing

用户故事撰写

Standard Format

标准格式

As a [persona/role],
I want to [action/goal],
So that [benefit/value].
作为[用户画像/角色],
我想要[操作/目标],
以便[收益/价值]。

The Three C's

三个C原则

Card          — Brief description on index card
              → Captures essence, not details
              → Placeholder for conversation

Conversation  — Discussion between team members
              → Explore edge cases
              → Clarify assumptions
              → Uncover hidden requirements

Confirmation  — Acceptance criteria
              → Defines "done"
              → Testable conditions
              → Given-When-Then format
卡片          — 索引卡上的简短描述
              → 抓住核心,而非细节
              → 作为对话的占位符

对话          — 团队成员间的讨论
              → 探索边缘场景
              → 澄清假设
              → 发现隐藏需求

确认          — 验收标准
              → 定义“完成”的标准
              → 可测试的条件
              → Given-When-Then格式

INVEST Criteria

INVEST标准

Independent   — Story stands alone, minimal dependencies
Negotiable    — Details emerge through conversation
Valuable      — Delivers value to users or business
Estimable     — Team can estimate effort
Small         — Completable within one sprint
Testable      — Clear acceptance criteria
独立性   — 故事可独立存在,依赖最少
可协商性    — 细节可通过对话完善
价值性      — 为用户或业务带来价值
可估算性     — 团队可评估工作量
小型化         — 可在一个迭代内完成
可测试性      — 具备明确的验收标准

Examples

示例

markdown
undefined
markdown
undefined

Good User Stories

优质用户故事

Feature: Password Reset

功能:密码重置

As a user who forgot my password, I want to reset it via email, So that I can regain access to my account without contacting support.
Acceptance Criteria:
  • Given I'm on the login page
  • When I click "Forgot Password"
  • Then I see a form requesting my email address
  • Given I've entered my registered email
  • When I submit the form
  • Then I receive a password reset link within 2 minutes
  • Given I click the reset link within 24 hours
  • When I set a new password (min 8 chars, 1 number, 1 symbol)
  • Then I'm logged in automatically
作为一名忘记密码的用户, 我希望通过邮箱重置密码, 以便无需联系客服即可重新访问我的账户。
验收标准:
  • 当我在登录页面时
  • 点击“忘记密码”
  • 我会看到一个要求输入邮箱地址的表单
  • 当我输入已注册的邮箱
  • 提交表单后
  • 我会在2分钟内收到密码重置链接
  • 当我在24小时内点击重置链接
  • 设置新密码(至少8位,包含1个数字和1个符号)
  • 我会自动登录

Feature: Bulk Upload

功能:批量上传

As a content manager, I want to upload multiple products via CSV, So that I can save time compared to manual entry.
Acceptance Criteria:
  • Given I'm on the products page
  • When I click "Bulk Upload" and select a CSV file
  • Then the system validates the file format (max 10MB, .csv only)
  • Given the CSV has 1000 rows
  • When I start the upload
  • Then I see a progress bar showing completion percentage
  • Given the upload completes
  • When I view the results
  • Then I see: success count, error count, downloadable error report
undefined
作为一名内容管理员, 我希望通过CSV文件批量上传产品, 以便比手动输入节省时间。
验收标准:
  • 当我在产品页面时
  • 点击“批量上传”并选择CSV文件
  • 系统会验证文件格式(最大10MB,仅支持.csv)
  • 当CSV文件有1000行数据
  • 开始上传后
  • 我会看到显示完成百分比的进度条
  • 当上传完成后
  • 查看结果时
  • 我会看到:成功数量、错误数量、可下载的错误报告
undefined

Common Mistakes

常见错误

❌ Too technical
"As a user, I want the API to return a 200 status code"
→ Focus on user benefit, not implementation

❌ Too vague
"As a user, I want the system to be fast"
→ Define measurable performance targets

❌ Missing the "so that"
"As a user, I want to filter products by price"
→ Add the value: "so that I can find items within my budget"

❌ Too large (Epic)
"As a user, I want a complete e-commerce checkout experience"
→ Break into smaller stories: cart, address, payment, confirmation

❌ 过于技术化
“作为用户,我希望API返回200状态码”
→ 聚焦用户收益,而非实现细节

❌ 过于模糊
“作为用户,我希望系统更快”
→ 定义可衡量的性能指标

❌ 缺少“以便”部分
“作为用户,我希望按价格筛选产品”
→ 添加价值:“以便找到我预算内的商品”

❌ 规模过大(史诗级需求)
“作为用户,我希望拥有完整的电商结账体验”
→ 拆分为更小的故事:购物车、地址、支付、确认

Acceptance Criteria

验收标准

Given-When-Then (BDD Format)

Given-When-Then(BDD格式)

Given [precondition/context]
When [action/trigger]
Then [expected outcome]

And [additional context/outcome]
Given [前置条件/上下文]
When [操作/触发事件]
Then [预期结果]

And [额外上下文/结果]

Best Practices

最佳实践

✓ Keep scenarios focused (one behavior per scenario)
✓ Maintain clear separation of Given/When/Then
✓ Avoid UI-specific details (test behavior, not implementation)
✓ Make criteria testable and measurable
✓ Include both happy path and edge cases
✓ Use real user interactions, not hypothetical
✓ 场景聚焦(每个场景对应一个行为)
✓ 清晰区分Given/When/Then
✓ 避免UI细节(测试行为,而非实现)
✓ 标准需可测试、可衡量
✓ 包含正常路径和边缘场景
✓ 使用真实用户交互,而非假设

Examples

示例

gherkin
undefined
gherkin
undefined

E-commerce Checkout

电商结账

Scenario: Successful payment with saved card Given I have items in my cart And I'm logged in with a saved payment method When I click "Place Order" Then I see an order confirmation page And I receive a confirmation email within 2 minutes And my cart is emptied
Scenario: Payment declined Given I'm at the payment step When I submit payment and the card is declined Then I see an error message: "Payment declined. Please try another card." And I remain on the payment page And my cart items are preserved
Scenario: Session timeout during checkout Given I've been idle for 30 minutes When I attempt to place an order Then I'm redirected to login And my cart items are preserved after re-authentication
场景:使用已保存卡片成功支付 Given 我的购物车中有商品 And 我已登录且有保存的支付方式 When 我点击“下单” Then 我会看到订单确认页面 And 我会在2分钟内收到确认邮件 And 我的购物车会被清空
场景:支付失败 Given 我处于支付步骤 When 我提交支付但卡片被拒绝 Then 我会看到错误提示:“支付失败,请尝试其他卡片。” And 我仍停留在支付页面 And 我的购物车商品被保留
场景:结账时会话超时 Given 我已闲置30分钟 When 我尝试下单 Then 我会被重定向到登录页面 And 重新认证后我的购物车商品被保留

Search Feature

搜索功能

Scenario: Search with results Given I'm on the homepage When I search for "laptop" Then I see results within 500ms And results are ranked by relevance And I see result count: "Showing 1-20 of 156 results"
Scenario: Search with no results Given I'm on the search page When I search for "xyznonexistent" Then I see "No results found for 'xyznonexistent'" And I see search suggestions or alternative queries
undefined
场景:搜索有结果 Given 我在首页 When 我搜索“笔记本电脑” Then 我会在500毫秒内看到结果 And 结果按相关性排序 And 我会看到结果数量:“显示1-20条,共156条结果”
场景:搜索无结果 Given 我在搜索页面 When 我搜索“xyznonexistent” Then 我会看到“未找到与'xyznonexistent'相关的结果” And 我会看到搜索建议或替代查询词
undefined

Alternative Format: Checklist

替代格式:检查清单

markdown
For simpler features, use a checklist:
markdown
对于简单功能,可使用检查清单:

File Upload Acceptance Criteria

文件上传验收标准

  • Supports formats: PDF, DOCX, XLSX (max 10MB each)
  • Shows upload progress bar
  • Displays file name and size after upload
  • Allows removal of uploaded files
  • Shows error message for unsupported formats
  • Shows error message for files exceeding size limit
  • Scans files for malware before processing
  • Works on mobile (iOS Safari, Android Chrome)

---
  • 支持格式:PDF, DOCX, XLSX(单个文件最大10MB)
  • 显示上传进度条
  • 上传后显示文件名和大小
  • 允许删除已上传文件
  • 对不支持的格式显示错误提示
  • 对超过大小限制的文件显示错误提示
  • 处理前扫描文件是否含恶意软件
  • 支持移动端(iOS Safari, Android Chrome)

---

Prioritization Frameworks

优先级排序框架

RICE Scoring

RICE评分法

RICE Score = (Reach × Impact × Confidence) / Effort

Reach      — How many users affected per time period?
             (users/quarter, transactions/month)
Impact     — How much does it improve their experience?
             3 = Massive, 2 = High, 1 = Medium, 0.5 = Low, 0.25 = Minimal
Confidence — How certain are we?
             100% = High data, 80% = Medium, 50% = Low
Effort     — Person-months required
             (engineering + design + PM time)
Example:
FeatureReachImpactConfidenceEffortRICE Score
Password reset5000/month3100%115,000
Dark mode10000/month0.580%22,000
Export to PDF500/month250%0.51,000
When to use: Managing many ideas, need quantitative comparison, have user data.

RICE分数 = (覆盖用户数 × 影响 × 信心) / 工作量

覆盖用户数      — 每期受影响的用户数?
             (用户/季度,交易/月)
影响     — 对用户体验的提升程度?
             3 = 巨大,2 = 高,1 = 中等,0.5 = 低,0.25 = 极小
信心 — 我们的确定性有多高?
             100% = 数据充分,80% = 中等,50% = 低
工作量     — 所需的人月数
             (工程 + 设计 + PM时间)
示例:
功能覆盖用户数影响信心工作量RICE分数
密码重置5000/月3100%115,000
深色模式10000/月0.580%22,000
导出为PDF500/月250%0.51,000
适用场景: 管理大量想法、需要量化对比、有用户数据。

ICE Scoring

ICE评分法

ICE Score = (Impact + Confidence + Ease) / 3

Impact     — 1-10: How much business/user value?
Confidence — 1-10: How certain are we?
Ease       — 1-10: How easy to implement? (10 = very easy)
Example:
FeatureImpactConfidenceEaseICE Score
One-click login9867.7
AI recommendations10536.0
Email notifications6998.0
When to use: Quick prioritization, weekly grooming, growth experiments, speed over precision.

ICE分数 = (影响 + 信心 + 易实现度) / 3

影响     — 1-10: 业务/用户价值有多高?
信心 — 1-10: 我们的确定性有多高?
易实现度       — 1-10: 实现难度?(10 = 非常容易)
示例:
功能影响信心易实现度ICE分数
一键登录9867.7
AI推荐10536.0
邮件通知6998.0
适用场景: 快速优先级排序、每周需求梳理、增长实验、重速度而非精度。

MoSCoW Method

MoSCoW方法

Must Have      — Critical for launch, non-negotiable
                 Without this, the product fails

Should Have    — Important but not vital
                 Painful to omit, but workarounds exist

Could Have     — Nice to have, "vitamins not painkillers"
                 Include if time/resources allow

Won't Have     — Explicitly out of scope
                 Defer to future releases
Example: MVP E-commerce Site
Must HaveShould HaveCould HaveWon't Have
Product listingProduct reviewsWishlistAR try-on
Shopping cartRelated productsGift wrappingLive chat
CheckoutOrder trackingDiscount codesLoyalty program
Payment (Stripe)Email receiptsSocial sharingMobile app
User accountsGuest checkoutProduct comparisonSubscriptions
When to use: Sprint planning, MVP scoping, release boundaries, stakeholder alignment.

必须拥有      — 发布的关键需求,不可协商
                 没有它产品就无法成功

应该拥有    — 重要但非必需
                 省略会有不便,但有替代方案

可以拥有     — 锦上添花的功能,“维生素而非止痛药”
                 时间/资源允许时再做

不会拥有     — 明确排除在范围外
                 推迟到后续版本
示例: MVP电商网站
必须拥有应该拥有可以拥有不会拥有
产品列表产品评价心愿单AR试穿
购物车相关产品推荐礼品包装在线客服
结账订单追踪折扣码忠诚度计划
支付(Stripe)邮件收据社交分享移动应用
用户账户访客结账产品对比订阅服务
适用场景: 迭代规划、MVP范围定义、发布边界、利益相关者对齐。

Kano Model

Kano模型

Basic Needs       — Must-haves, assumed by users
                    Absence = dissatisfaction, presence = neutral
                    Example: Website loads, checkout works

Performance       — More is better, linear satisfaction
                    Example: Faster page load, more payment options

Delighters        — Unexpected features that wow
                    Absence = neutral, presence = delight
                    Example: Free shipping, personalized recommendations

Indifferent       — Users don't care either way
                    Example: Animated logo, theme customization
When to use: Customer-driven decisions, balancing basics vs innovation, UX improvements.
Process:
  1. Survey users with paired questions:
    • "How would you feel if we HAD feature X?"
    • "How would you feel if we DIDN'T have feature X?"
  2. Categorize responses: Basic, Performance, Delighter, Indifferent
  3. Prioritize: Cover basics first, then performance, then delighters

基础需求       — 必备功能,用户默认认为应该有
                    缺少会导致不满,拥有也不会带来额外满意
                    示例:网站可加载、结账可用

性能需求       — 越多越好,满意度线性增长
                    示例:更快的页面加载、更多支付选项

惊喜需求        — 超出预期的功能,带来惊喜
                    缺少不会不满,拥有会带来愉悦
                    示例:免费配送、个性化推荐

无关需求       — 用户不在乎的功能
                    示例:动画logo、主题自定义
适用场景: 以客户为导向的决策、平衡基础功能与创新、UX优化。
流程:
  1. 用配对问题调研用户:
    • “如果我们有功能X,你会有什么感受?”
    • “如果我们没有功能X,你会有什么感受?”
  2. 分类反馈:基础、性能、惊喜、无关
  3. 优先级排序:先覆盖基础需求,再性能需求,最后惊喜需求

Hybrid Approach

混合方法

Best practice: Combine frameworks

1. Use MoSCoW to define release scope
   → Separate must-haves from nice-to-haves

2. Use RICE to rank must-haves
   → Sequence within release based on impact

3. Use Kano to ensure balance
   → Don't over-invest in basics, under-invest in delight

Example:
- All "Must Have" items → Score with RICE → Build in RICE order
- Validate with Kano → Ensure we have delighters, not just basics

最佳实践:结合多种框架

1. 用MoSCoW定义发布范围
   → 区分必须拥有和锦上添花的功能

2. 用RICE对必须拥有的功能排名
   → 根据影响确定发布顺序

3. 用Kano确保平衡
   → 不要过度投入基础功能,也不要忽视惊喜功能

示例:
- 所有“必须拥有”的功能 → 用RICE评分 → 按RICE分数顺序开发
- 用Kano验证 → 确保我们有惊喜功能,而非只有基础功能

Agile Requirements Management

敏捷需求管理

Backlog Structure

待办事项结构

Initiatives    — Large strategic bets (12-24 months)
                 Example: "Expand to enterprise market"

Epics          — Major features (3-6 months)
                 Example: "SSO and enterprise authentication"

Stories        — User-facing functionality (1-2 weeks)
                 Example: "SAML login for enterprise users"

Tasks          — Technical implementation (1-3 days)
                 Example: "Set up SAML provider integration"

Bugs           — Defects to fix (varies)
                 Example: "Login fails on Safari 17"
举措    — 大型战略赌注(12-24个月)
                 示例:“拓展企业市场”

史诗级需求          — 主要功能(3-6个月)
                 示例:“SSO与企业认证”

用户故事        — 面向用户的功能(1-2周)
                 示例:“企业用户SAML登录”

任务          — 技术实现(1-3天)
                 示例:“搭建SAML提供商集成”

缺陷           — 需要修复的问题(时间不定)
                 示例:“Safari 17上登录失败”

Backlog Refinement

待办事项梳理

Cadence: Weekly, 1 hour, mid-sprint

Activities:
1. Groom upcoming stories
   - Add acceptance criteria
   - Break down large stories
   - Clarify unknowns

2. Estimate effort
   - Planning poker or t-shirt sizes
   - Identify technical risks

3. Prioritize
   - Apply RICE/MoSCoW
   - Consider dependencies

4. Definition of Ready
   - [ ] User story is clear
   - [ ] Acceptance criteria defined
   - [ ] Dependencies identified
   - [ ] Designs available (if needed)
   - [ ] Estimated by team
   - [ ] No blocking questions
节奏:每周1小时,迭代中期

活动:
1. 梳理即将到来的故事
   - 添加验收标准
   - 拆分大型故事
   - 澄清未知事项

2. 估算工作量
   - 规划扑克或T恤尺码法
   - 识别技术风险

3. 优先级排序
   - 应用RICE/MoSCoW
   - 考虑依赖关系

4. 就绪定义
   - [ ] 用户故事清晰
   - [ ] 验收标准已定义
   - [ ] 依赖关系已识别
   - [ ] 设计文件可用(如有需要)
   - [ ] 团队已估算工作量
   - [ ] 无阻塞性问题

Requirements Traceability

需求可追溯性

For regulated industries (healthcare, finance):

Requirement ID → User Story → Test Case → Implementation

Example:
REQ-AUTH-001: "System shall enforce 2FA for admin users"
US-123: "As an admin, I want 2FA to secure my account"
TEST-456: "Verify admin cannot login without 2FA code"
PR-789: Implementation in auth-service

Use tools: Jira, Azure DevOps, Modern Requirements

适用于受监管行业(医疗、金融):

需求ID → 用户故事 → 测试用例 → 实现

示例:
REQ-AUTH-001: “系统需为管理员用户强制启用2FA”
US-123: “作为管理员,我希望通过2FA保障账户安全”
TEST-456: “验证管理员无2FA码无法登录”
PR-789: auth-service中的实现

工具:Jira, Azure DevOps, Modern Requirements

Writing Best Practices

撰写最佳实践

Be Specific and Quantifiable

具体且可量化

❌ Vague: "The app should be fast"
✓ Specific: "Page load time < 2s on 4G, < 500ms on WiFi (p95)"

❌ Vague: "The product should be lightweight"
✓ Specific: "Weight < 500g including battery and accessories"

❌ Vague: "Support many users"
✓ Specific: "Handle 10,000 concurrent users with 99.9% uptime"
❌ 模糊: “应用应该更快”
✓ 具体: “4G网络下页面加载时间<2秒,WiFi下<500毫秒(p95分位)”

❌ 模糊: “产品应该更轻便”
✓ 具体: “含电池和配件重量<500克”

❌ 模糊: “支持大量用户”
✓ 具体: “支持10000并发用户,可用性达99.9%”

Focus on Problem, Not Solution

聚焦问题,而非解决方案

❌ Solution-focused:
"Add a search bar to the navigation menu"

✓ Problem-focused:
"Users can't find products quickly (exit rate 40% on catalog page).
They need a way to filter 1000+ products by attributes."

→ This allows the team to explore multiple solutions:
  - Search bar
  - Smart filters
  - Category navigation
  - AI recommendations
❌ 聚焦解决方案:
“在导航菜单添加搜索框”

✓ 聚焦问题:
“用户无法快速找到产品(目录页退出率40%)。
他们需要一种能按属性筛选1000+款产品的方式。”

→ 这能让团队探索多种解决方案:
  - 搜索框
  - 智能筛选器
  - 分类导航
  - AI推荐

Include Context and Rationale

包含上下文与理由

For each decision, explain WHY:

"We're building password reset via email (not SMS) because:
- 95% of users have verified email (only 60% have phone)
- Email is free, SMS costs $0.02 per message
- Competitors (Stripe, GitHub) use email
- SMS has security concerns (SIM swapping)"
每个决策都要解释原因:

“我们选择通过邮箱重置密码(而非短信),原因如下:
- 95%的用户已验证邮箱(仅60%的用户验证手机)
- 邮箱免费,每条短信成本0.02美元
- 竞争对手(Stripe, GitHub)都使用邮箱
- 短信存在安全隐患(SIM卡交换攻击)”

Keep it Concise

保持简洁

Use short paragraphs, bullet points, tables

❌ Wall of text:
"The user authentication system should support multiple authentication
methods including email and password which is the default method that
most users will use but we should also support social login via Google
and GitHub which are commonly requested features and will reduce friction
during signup and we should also consider adding two-factor authentication
for security..."

✓ Structured:
**Authentication Methods:**
- Email + Password (default, 80% of users)
- Social login (Google, GitHub)
- Two-factor authentication (optional, security-conscious users)

**Rationale:**
- Reduce signup friction (social login)
- Support security best practices (2FA)
- Follow industry standards

使用短段落、项目符号、表格

❌ 大段文字:
“用户认证系统应支持多种认证方式,包括邮箱和密码,这是大多数用户会使用的默认方式,但我们也应支持通过Google和GitHub的社交登录,这是用户常请求的功能,能减少注册摩擦,我们还应考虑添加双因素认证以提升安全性..."

✓ 结构化:
**认证方式:**
- 邮箱+密码(默认,80%用户使用)
- 社交登录(Google, GitHub)
- 双因素认证(可选,面向注重安全的用户)

**理由:**
- 减少注册摩擦(社交登录)
- 支持安全最佳实践(2FA)
- 遵循行业标准

Collaboration & Tools

协作与工具

Modern PRD Tools

现代PRD工具

ToolBest ForIntegration
NotionCustomizable templates, collaborationSlack, GitHub
ConfluenceEnterprise, Jira integrationJira, BitBucket
ProductboardUser feedback integration, roadmapsJira, Intercom
LinearEngineering-focused, fast workflowGitHub, Slack
CodaInteractive docs, automation3000+ integrations
Google DocsSimple, universal accessDrive, Sheets
工具最佳适用场景集成
Notion可自定义模板、协作Slack, GitHub
Confluence企业级、Jira集成Jira, BitBucket
Productboard用户反馈集成、路线图Jira, Intercom
Linear面向工程、快速工作流GitHub, Slack
Coda交互式文档、自动化3000+集成
Google Docs简单、通用访问Drive, Sheets

Version Control

版本控制

✓ Use versioning: v1.0, v1.1, v2.0
✓ Track changes with comments
✓ Maintain changelog at top of doc
✓ Lock old versions (read-only)
✓ Link to source of truth (Figma, GitHub)

Example Changelog:
---
✓ 使用版本号: v1.0, v1.1, v2.0
✓ 用评论追踪变更
✓ 在文档顶部维护变更日志
✓ 锁定旧版本(只读)
✓ 链接到真实数据源(Figma, GitHub)

示例变更日志:
---

Changelog

变更日志

v2.1 (2025-03-15)
  • Added SAML authentication requirement
  • Updated success metrics based on A/B test results
v2.0 (2025-03-01)
  • Simplified scope after engineering review
  • Removed SMS authentication (moved to v3)
v1.0 (2025-02-15)
  • Initial PRD

undefined
v2.1 (2025-03-15)
  • 添加SAML认证需求
  • 根据A/B测试结果更新成功指标
v2.0 (2025-03-01)
  • 经工程评审后简化范围
  • 移除短信认证(移至v3版本)
v1.0 (2025-02-15)
  • 初始PRD版本

undefined

Stakeholder Review

利益相关者评审

Review Process:
1. Draft PRD (PM)
2. Technical feasibility review (Engineering)
3. Design review (Design)
4. Legal/compliance review (if needed)
5. Stakeholder sign-off (Leadership)
6. Publish and socialize

Use RACI matrix:
- Responsible: PM (writes PRD)
- Accountable: Product Lead (final approval)
- Consulted: Engineering, Design, Marketing
- Informed: Leadership, Support, Sales

评审流程:
1. 撰写PRD草稿(PM)
2. 技术可行性评审(工程)
3. 设计评审(设计)
4. 法律/合规评审(如有需要)
5. 利益相关者签字确认(管理层)
6. 发布并同步

使用RACI矩阵:
- 负责: PM(撰写PRD)
- 批准: 产品负责人(最终审批)
- 咨询: 工程、设计、市场
- 告知: 管理层、支持、销售

Checklist

检查清单

markdown
undefined
markdown
undefined

PRD Quality Check

PRD质量检查

Content

内容

  • Problem clearly stated
  • Goals are measurable and quantifiable
  • Target users and personas defined
  • User stories follow INVEST criteria
  • Acceptance criteria use Given-When-Then
  • Out of scope explicitly listed
  • Success metrics defined (leading + lagging)
  • 问题已清晰陈述
  • 目标可衡量、可量化
  • 目标用户与用户画像已定义
  • 用户故事符合INVEST标准
  • 验收标准使用Given-When-Then格式
  • 范围外内容已明确列出
  • 已定义成功指标(前置+滞后)

Technical

技术

  • Non-functional requirements included (performance, security)
  • Dependencies and integrations identified
  • API contracts defined (if applicable)
  • Data model changes documented
  • Technical risks and mitigations listed
  • 包含非功能需求(性能、安全性)
  • 已识别依赖与集成
  • 已定义API契约(如适用)
  • 已记录数据模型变更
  • 已列出技术风险与缓解措施

Design & UX

设计与UX

  • Link to design files (Figma, Sketch)
  • Accessibility requirements (WCAG 2.2 AA)
  • Mobile and desktop specs
  • Error states and edge cases designed
  • 链接到设计文件(Figma, Sketch)
  • 可访问性需求(WCAG 2.2 AA)
  • 移动端与桌面端规格
  • 已设计错误状态与边缘场景

Launch

上线

  • Rollout strategy defined (phased, A/B test, feature flags)
  • Monitoring and alerts planned
  • Rollback plan documented
  • Documentation and training planned
  • 已定义发布策略(分阶段、A/B测试、功能开关)
  • 已规划监控与告警
  • 已记录回滚计划
  • 已规划文档与培训

Stakeholders

利益相关者

  • Engineering reviewed and estimated
  • Design reviewed and approved
  • Legal/compliance reviewed (if needed)
  • Leadership approved
  • All open questions resolved or acknowledged

---
  • 工程已评审并估算工作量
  • 设计已评审并批准
  • 法律/合规已评审(如有需要)
  • 管理层已批准
  • 所有未解决问题已确认或解决

---

See Also

相关链接

  • reference/user-stories.md — User story writing guide
  • reference/prioritization.md — Prioritization frameworks
  • reference/acceptance-criteria.md — BDD and acceptance criteria patterns
  • templates/prd-template.md — Copy-paste PRD template
  • reference/user-stories.md — 用户故事撰写指南
  • reference/prioritization.md — 优先级排序框架
  • reference/acceptance-criteria.md — BDD与验收标准模式
  • templates/prd-template.md — 可直接复制的PRD模板