跳到主要内容

业务篇 · 01 · PRD 编写规范

本章目标

让 PRD 成为可执行、可评审、可测试的文档,而不是一篇作文。

一、什么是合格的 PRD

不合格的 PRD(常见反例):

反例问题
"系统要支持高并发"没有量化
"用户体验要好"无法验证
"登录接口处理一下异常"异常范围未定义
"数据实时同步""实时"的阈值未定义
"参考 xxx 的做法"指向不明确的外部参考

合格的 PRD 必须满足

  1. 可测性:每条需求都有明确的验收标准(Given-When-Then)
  2. 完整性:核心流 + 异常流 + 边界 + 数据规则都齐全
  3. 一致性:术语统一,没有前后矛盾
  4. 可追踪:每条需求有唯一 ID,可追溯到业务目标

二、PRD 的标准结构

# [需求名称] - v[版本号]

## 1. 概述
1.1 背景(为什么做)
1.2 目标(做成什么样)
1.3 非目标(明确不做什么)
1.4 术语表

## 2. 用户与场景
2.1 目标用户
2.2 典型使用场景
2.3 用户故事地图

## 3. 功能需求
3.1 功能清单(带优先级)
3.2 详细需求(每条带验收标准)
3.3 异常场景
3.4 业务规则表

## 4. 非功能需求
4.1 性能要求(QPS、响应时间、容量)
4.2 安全要求
4.3 兼容性要求
4.4 可访问性要求

## 5. 数据规则
5.1 数据字典
5.2 数据关系
5.3 数据校验规则

## 6. 交互设计
6.1 流程图
6.2 状态机
6.3 原型链接

## 7. 对依赖方的要求
7.1 对开发的要求
7.2 对测试的要求
7.3 对运维的要求

## 8. 风险与边界
8.1 已知风险
8.2 超出范围的事项
8.3 遗留决策

## 9. 变更历史

三、每个小节的写作要点

1. 概述

背景必须回答三个问题:

  • 这个需求解决什么问题?
  • 为什么现在做?
  • 不做会怎样?

非目标是 PRD 的"防御层",明确写出"本期不做什么",避免开发 / 测试反复确认。

2. 用户与场景

用户故事地图展开:

用户:  小张(企业采购员)
场景: 月末做采购报表
需求: 批量导出带筛选条件的订单
价值: 从每月 4 小时减少到 10 分钟

3. 功能需求(核心)

每条需求的写法(见 02-user-stories.md):

### REQ-001 批量导出订单

**优先级**: P0
**关联用户故事**: US-042

**验收标准**:
- Given: 用户已登录且在订单页
- When: 选中 ≤ 10,000 条订单,点击"导出"
- Then:
- 系统在 60 秒内生成 xlsx 文件
- 文件包含 [订单号、时间、金额、状态] 4 列
- 导出成功后自动下载
- 数据过滤条件与页面展示一致

**业务规则**:
- 单次导出最多 10,000 条
- 超过 10,000 条要求用户细化筛选条件
- 导出记录保留 30 天,可重复下载

**异常场景**:
- 网络断开 → 提示"请重试",不产生半成品文件
- 并发导出 → 同用户 30 秒内只能发起一次
- 数据过多 → 前端提示"请缩小筛选范围"

**数据规则**:
- 金额保留 2 位小数
- 时间用 YYYY-MM-DD HH:MM:SS,时区:UTC+8

4. 非功能需求

必须量化

类型反例正例
性能"要快"P99 响应时间 ≤ 500ms
并发"支持高并发"单实例 QPS ≥ 1000
容量"存储大量数据"保留最近 3 年,约 1 亿条
安全"要安全"符合 OWASP Top 10;密码存储用 bcrypt
兼容"支持主流浏览器"Chrome ≥ 90、Edge ≥ 90、Safari ≥ 14

5. 业务规则表(决策表)

复杂逻辑用决策表,不用大段文字:

条件: 金额条件: 会员等级条件: 是否首购结果: 折扣
< 100任意任意0%
≥ 100普通5%
≥ 100普通10%
≥ 100VIP15%
≥ 100VIP20%

四、PRD 评审流程

产品写初稿 ──► 内部评审 ──► 跨部门评审 ──► 定稿
(产品内部) (测试 + 开发)

跨部门评审的 Checklist

测试视角(可测性):

  • 每条需求有验收标准
  • 异常场景齐全
  • 边界值明确
  • 数据规则清晰

开发视角(可实现性):

  • 技术可行性已评估
  • 依赖服务已评估
  • 工期估算合理

运维视角(可运营性):

  • 监控埋点需求明确
  • 降级方案已考虑
  • 容量评估已完成

详细评审模板见 templates/testing/requirements/requirements-testability-review.md

五、PRD 的版本管理

版本号规则

v<主版本>.<次版本>.<修订号>

- 主版本:大范围重写,不向下兼容
- 次版本:新增功能点
- 修订号:bug 修正、文字调整

必须有变更历史表

## 变更历史

| 版本 | 日期 | 变更人 | 主要变更 |
|------|------|-------|---------|
| v1.0.0 | 2026-04-10 | 张三 | 初版 |
| v1.1.0 | 2026-04-15 | 张三 | 新增批量导出功能 |
| v1.1.1 | 2026-04-18 | 李四 | 修正 REQ-003 的金额计算规则 |

六、PRD 禁忌清单

  • ❌ 用截图代替文字描述(截图会过期且不可搜索)
  • ❌ 用"等等"、"之类的"(范围不明确)
  • ❌ 引用口头沟通("王总说过...")
  • ❌ 写技术实现(那是开发设计文档的事)
  • ❌ 没有版本号
  • ❌ 没有 Owner

七、配套资源