Skip to content

01 - PRD 的结构与写作规范

前言

写 PRD 就像盖房子画图纸 — 你不需要亲手搬砖,但图纸画得好不好, 直接决定了房子盖得正不正、工人返工多不多。

本篇将系统地讲解:PRD 给谁看、怎么写、写什么、怎么才算写得好。


一、PRD 的目的与受众

1.1 PRD 的核心目的

PRD 不是写给自己看的笔记,它是一份正式的协作文档,核心目的有三个:

+-------------------------------------------------------+
|              PRD 的三大核心目的                           |
+-------------------------------------------------------+
|                                                       |
|  1. 说清楚「做什么」  --> 功能范围、边界条件               |
|  2. 说清楚「为什么做」--> 业务背景、用户价值               |
|  3. 说清楚「做成什么样」--> 验收标准、成功指标             |
|                                                       |
+-------------------------------------------------------+

1.2 PRD 的受众分析

PRD 不是只给一种人看的。不同角色关注 PRD 的不同部分:

受众角色关注重点他们的核心诉求
工程师功能需求、接口定义、逻辑规则、异常处理"告诉我具体要怎么实现"
UI/UX 设计师交互说明、用户场景、信息架构"告诉我用户怎么用这个功能"
QA 测试验收标准、边界条件、异常场景"告诉我怎么判断做对了"
项目经理排期依据、依赖关系、上线计划"告诉我工作量和时间线"
老板/领导背景目的、业务价值、成功指标"告诉我为什么要做、做了有什么好处"
运营同事灰度策略、上线时间、用户通知"告诉我什么时候上、怎么配合"
                    PRD 文档
                   +--------+
                   |        |
          +--------+--------+---------+
          |        |        |         |
          v        v        v         v
     +--------+ +------+ +-----+ +--------+
     | 工程师  | | 设计师| | QA  | |  老板   |
     +--------+ +------+ +-----+ +--------+
     |功能需求 | |交互  | |验收 | |背景    |
     |逻辑规则 | |说明  | |标准 | |目的    |
     |异常处理 | |原型  | |边界 | |价值    |
     +--------+ +------+ +-----+ +--------+

写作建议:写 PRD 的时候,心里要装着这些读者。 每写一段,想想:"如果我是工程师/设计师/QA,看到这段能不能直接干活?"


二、PRD 的标准结构(十大章节详解)

一份完整的 PRD 通常包含以下 10 个章节。当然,不同公司、不同项目可能会有所调整, 但这个结构是业界公认的"最全面版本",可以根据实际情况裁剪。

+================================================================+
|                    PRD 标准结构总览                               |
+================================================================+
|                                                                |
|  +----------------------------------------------------------+  |
|  | 1. 文档信息                                                |  |
|  |    版本号 / 作者 / 日期 / 审核人 / 状态                      |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 2. 背景与目的                                               |  |
|  |    为什么要做?解决什么问题?                                  |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 3. 目标与成功指标                                            |  |
|  |    做到什么程度算成功?用什么数据衡量?                         |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 4. 用户故事                                                |  |
|  |    从用户视角描述需求场景                                     |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 5. 功能需求                                                |  |
|  |    详细的功能描述、业务规则、异常处理                           |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 6. 非功能需求                                               |  |
|  |    性能 / 安全 / 兼容性 / 可用性                              |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 7. 交互说明与原型链接                                        |  |
|  |    页面流转、交互细节、设计稿链接                               |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 8. 数据埋点需求                                             |  |
|  |    需要采集哪些用户行为数据                                    |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 9. 上线计划与灰度策略                                        |  |
|  |    怎么发布?先放多少量?回滚方案?                             |  |
|  +----------------------------------------------------------+  |
|                            |                                   |
|  +----------------------------------------------------------+  |
|  | 10. 附录                                                   |  |
|  |     术语表 / 参考文档 / 历史版本                               |  |
|  +----------------------------------------------------------+  |
|                                                                |
+================================================================+

2.1 文档信息

这是 PRD 的"身份证",让读者快速了解这份文档的基本信息。

字段说明示例
文档标题明确的功能名称购物车功能 PRD
版本号语义化版本,区分大改和小改v1.2
作者文档负责人张三
创建日期首次创建时间2026-04-01
最后更新最近修改时间2026-04-20
审核人谁审核通过的李四(技术负责人)
文档状态当前状态草稿 / 评审中 / 已通过 / 已归档

版本号管理规范

v1.0  --- 首次发布
v1.1  --- 小修改(文案调整、补充说明)
v1.2  --- 中修改(新增功能点、修改业务规则)
v2.0  --- 大改版(需求范围大幅变化)

Tips:很多新人忽略版本管理,导致团队看到的不是同一个版本的 PRD。 每次修改完,一定要更新版本号和修改记录。

2.2 背景与目的

这一章回答:"我们为什么要做这个功能?"

写作要点

  • 描述当前的问题或痛点(用数据说话)
  • 说明做了这个功能后的预期收益
  • 关联公司或部门的战略目标

反面教材

"用户需要购物车功能。"

正面教材

"当前用户在浏览商品后,只能逐个下单购买,无法批量结算。 数据显示,63% 的用户在一次访问中会浏览 3 件以上商品, 但由于没有购物车,每次只能购买 1 件,导致客单价仅为 89 元。 通过上线购物车功能,预计客单价可提升 40% 至 125 元, 同时减少用户重复下单的操作成本,提升购买转化率。"

2.3 目标与成功指标

光说"做了有好处"不够,必须量化:

指标名称当前值目标值衡量方式
客单价89 元125 元订单平均金额
购买转化率12%18%加购用户中完成支付的比例
一次购买多件的比例5%30%订单中包含2件以上商品的比例

SMART 原则

S - Specific    具体的    不说"提升用户体验",说"减少下单步骤"
M - Measurable  可衡量的  必须有数字
A - Achievable  可达成的  别定一个不可能的目标
R - Relevant    相关的    和业务目标有关
T - Time-bound  有时限的  上线后 30 天内达成

2.4 用户故事

用户故事是以用户的语言来描述需求的方式,格式固定:

作为 [某类用户],我想 [做某件事],以便 [获得某种价值]。

示例

编号用户故事优先级
US-01作为购物用户,我想把喜欢的商品加入购物车,以便稍后统一结算P0
US-02作为购物用户,我想修改购物车中商品的数量,以便按需购买P0
US-03作为购物用户,我想删除不需要的商品,以便购物车保持整洁P0
US-04作为购物用户,我想看到商品价格变动提醒,以便做出购买决策P1
US-05作为购物用户,我想在库存不足时收到提示,以便及时调整P1

优先级定义

P0 — 必须做,没有就不能上线
P1 — 应该做,上线后尽快补齐
P2 — 可以做,看排期决定
P3 — 锦上添花,有空再做

2.5 功能需求

这是 PRD 最核心、篇幅最大的部分。每个功能点都要讲清楚:

功能描述模板

功能编号:FR-001
功能名称:加入购物车
优先级:P0
触发条件:用户在商品详情页点击"加入购物车"按钮
前置条件:用户已登录、商品处于在售状态
基本流程:
  1. 用户点击"加入购物车"
  2. 系统检查库存是否充足
  3. 若库存充足,商品加入购物车,数量默认为1
  4. 购物车图标显示动画,角标数字+1
  5. 弹出 Toast 提示"已加入购物车"
异常流程:
  - 库存不足:提示"库存不足,当前仅剩X件"
  - 已达购买上限:提示"该商品限购X件"
  - 未登录:跳转登录页,登录后自动加入
业务规则:
  - 同一商品重复加购,数量累加而非新增一行
  - 单个商品购买上限为 99 件(或商家设定的限购数)
  - 购物车最多容纳 200 种不同商品
验收标准:
  [x] 正常加购后,购物车数量正确增加
  [x] 库存不足时,弹出正确的提示文案
  [x] 未登录用户加购后,跳转登录再回来加购成功

关键原则:每个功能描述,都要包含"正常流程"和"异常流程"。 新手 PM 最常犯的错误就是只写了正常情况,忽略了异常处理

2.6 非功能需求

非功能需求(NFR)描述系统"应该具备什么能力",而不是"应该做什么功能"。

类别要求说明
性能购物车页面加载时间 < 2 秒在 4G 网络环境下
性能加购操作响应时间 < 500ms用户可感知的操作延迟
并发支持 1000 QPS 的加购请求大促期间的峰值
安全购物车数据仅本人可见不能看到别人的购物车
安全价格以服务端为准防止前端篡改价格
兼容性iOS 13+, Android 8+覆盖 95% 以上用户
兼容性Chrome/Safari/Firefox 最新 2 个版本Web 端
可用性购物车服务可用性 >= 99.9%全年宕机不超过 8.76 小时

2.7 交互说明与原型链接

这一章节通常需要配合设计师一起完成:

需要包含的内容

  • 页面级的交互流程图
  • 关键页面的线框图(或高保真设计稿链接)
  • 动画、转场效果说明
  • 空状态、加载状态、错误状态的展示
页面状态枚举:

+------------------+    +------------------+    +------------------+
|   空购物车状态    |    |   正常购物车状态   |    |   加载中状态     |
|                  |    |                  |    |                  |
|  +-----------+   |    |  +------------+  |    |                  |
|  |  空状态   |   |    |  | 商品列表   |  |    |    Loading...    |
|  |  插画图   |   |    |  | - 商品A    |  |    |    [骨架屏]      |
|  |           |   |    |  | - 商品B    |  |    |                  |
|  +-----------+   |    |  +------------+  |    |                  |
|                  |    |                  |    |                  |
|  "购物车是空的"  |    |  [去结算] 按钮   |    |                  |
|  [去逛逛] 按钮   |    |                  |    |                  |
+------------------+    +------------------+    +------------------+

+------------------+    +------------------+
|   网络错误状态    |    |   部分失效状态    |
|                  |    |                  |
|  网络不给力       |    |  - 商品A (正常)  |
|  请检查网络设置   |    |  - 商品B (失效)  |
|                  |    |    已下架/无库存  |
|  [重试] 按钮     |    |                  |
+------------------+    +------------------+

2.8 数据埋点需求

数据埋点是产品迭代的"眼睛"。没有埋点,你就不知道用户是怎么用你的产品的。

埋点类型

类型说明示例
页面浏览(PV)用户访问了哪个页面购物车页面被打开
点击事件用户点了哪个按钮点击"去结算"按钮
曝光事件某个元素展示给了用户购物车中的推荐商品曝光
业务事件关键业务动作完成加购成功、删除商品

埋点需求表

事件名称事件类型触发时机携带参数
cart_page_viewPV进入购物车页面user_id, cart_item_count
cart_add_click点击点击加入购物车product_id, sku_id, price
cart_add_success业务加购成功product_id, quantity, source
cart_delete_click点击点击删除按钮product_id
cart_checkout_click点击点击去结算selected_count, total_price

2.9 上线计划与灰度策略

功能做完不是直接全量上线,而是分步骤放量:

灰度发布流程:

  内部测试         灰度 1%          灰度 10%         灰度 50%          全量 100%
 +--------+      +--------+      +--------+       +--------+       +--------+
 | 团队内  | ---> | 随机   | ---> | 扩大   | --->  | 观察   | --->  | 全部   |
 | 使用    |      | 1% 用户|      | 10%    |       | 数据   |       | 用户   |
 | 验证    |      | 验证   |      | 用户   |       | 稳定   |       | 可用   |
 +--------+      +--------+      +--------+       +--------+       +--------+
     |                |               |                |
     v                v               v                v
  修复 Bug       观察核心指标    观察性能/体验      确认无异常
  完善功能       有问题可回滚    收集用户反馈       正式全量

需要包含的内容

  • 预计上线日期
  • 灰度比例和时间节点
  • 每个灰度阶段的关注指标
  • 回滚方案(出问题怎么办)
  • 上线公告 / 运营配合事项

2.10 附录

附录是补充材料,用来存放不适合放在正文中的内容:

  • 术语表:解释文档中出现的专业术语
  • 参考文档:相关的技术文档、设计文档链接
  • 修改记录:每次版本更新的变更内容
  • FAQ:评审过程中提出的问题和结论

修改记录示例

版本日期修改人修改内容
v1.02026-04-01张三初始版本
v1.12026-04-10张三补充非功能需求
v1.22026-04-15张三根据评审反馈修改异常流程
v2.02026-04-20张三新增价格变动提醒功能

三、好 PRD vs 差 PRD 的对比

维度好的 PRD差的 PRD
背景描述有数据支撑,说明问题严重性"用户需要这个功能" 一句话带过
目标设定量化指标 + 时间节点"提升用户体验" 模糊不清
用户故事覆盖多种用户角色和场景只有一个笼统的描述
功能描述正常流程 + 异常流程 + 边界条件只有正常流程
业务规则明确、无歧义,有优先级含糊不清,"视情况而定"
文案给出具体文案或文案规范"弹一个提示" 但不说提示什么
设计说明附带原型/线框图,标注交互细节"参考竞品 XX"
异常处理列举各种异常场景和处理方案完全不提异常情况
验收标准可执行的检查清单没有验收标准
版本管理有版本号、修改记录没有版本号,不知道是哪版
数据需求明确的埋点表和指标"上线后看看数据"
排版格式结构清晰,善用表格和列表大段文字,没有层次
  差的 PRD:                          好的 PRD:
 +------------------+              +------------------+
 |  一大段文字       |              |  1. 背景(有数据)  |
 |  没有结构         |              |  2. 目标(可量化)  |
 |  没有表格         |              |  3. 用户故事      |
 |  没有异常处理     |              |  4. 功能需求      |
 |  "你们看着做吧"  |              |     - 正常流程    |
 |                  |              |     - 异常流程    |
 |                  |              |     - 业务规则    |
 |                  |              |  5. 验收标准      |
 +------------------+              +------------------+
    开发看完一脸懵                     开发看完能干活

四、写 PRD 的常见错误与避坑指南

错误 1:只写了"正常流程"

  你以为的用户路径:            实际的用户路径:

  打开 -> 加购 -> 结算          打开 -> 加购 -> 网断了
                                打开 -> 加购 -> 库存没了
                                打开 -> 加购 -> 退出 -> 3天后回来
                                打开 -> 加购 -> 加购 -> 超出限购
                                ......

避坑方法:每个功能至少想 3 种异常情况。问自己:

  • 如果网络断了呢?
  • 如果数据为空呢?
  • 如果用户疯狂点击呢?
  • 如果同时有两个人操作呢?

错误 2:需求描述模糊

模糊的写法清晰的写法
弹一个提示页面底部弹出 Toast,文案"已加入购物车",2 秒后自动消失
展示商品列表按加购时间倒序展示,每页 20 条,下拉加载更多
做一个搜索功能支持按商品名称模糊搜索,输入 2 个字符后开始搜索,300ms 防抖
用户体验要好页面加载完成时间 < 2s,操作反馈延迟 < 300ms

错误 3:缺少边界条件

常见需要考虑的边界条件

  • 数值边界:最小值、最大值、为0的情况
  • 文本边界:空字符串、超长文本、特殊字符、Emoji
  • 时间边界:跨天、跨月、时区
  • 权限边界:未登录、登录过期、被封禁
  • 设备边界:小屏手机、平板、横屏

错误 4:把"怎么实现"写进 PRD

PRD 应该描述"做什么",而不是"怎么做"。技术方案是工程师的职责。

不应该出现在 PRD 中应该出现在 PRD 中
用 Redis 做缓存购物车数据需要实时同步
用 MySQL 存储购物车数据需要持久化,清除缓存后仍可恢复
前端用 React 实现页面需支持 iOS/Android/Web 三端
用消息队列异步处理加购操作需要在 500ms 内响应

唯一例外:如果技术选型对产品体验有直接影响(如选择 WebSocket 做实时推送 vs 轮询方案会影响消息实时性),可以在 PRD 中提出建议,但注明"建议方案"。

错误 5:写完就扔,不维护

PRD 是一个活文档,从需求评审到上线后复盘,都可能需要更新。

PRD 的生命周期:

  撰写 --> 评审 --> 修改 --> 定稿 --> 开发中更新 --> 上线后归档
   |        |        |        |          |              |
   v        v        v        v          v              v
  v0.1    反馈    v0.2~0.9   v1.0    v1.1~1.x        标记归档
  草稿    意见    修改版     正式版   开发中调整       进入知识库

错误 6:没有优先级,什么都是 P0

如果所有需求都是"最高优先级",就等于没有优先级。

  错误做法:                     正确做法:

  P0: 加入购物车                P0: 加入购物车
  P0: 修改数量                  P0: 修改数量
  P0: 删除商品                  P0: 删除商品
  P0: 价格变动提醒              P1: 勾选结算
  P0: 优惠券推荐                P1: 价格变动提醒
  P0: 商品比价                  P2: 优惠券推荐
  P0: 心愿单                    P3: 商品比价
                                P3: 心愿单

五、PRD 写作的黄金法则

最后,总结几条在实战中非常管用的写作法则:

法则 1:一个需求对应一个完整描述

不要用"同上""参考前面"来偷懒。每个功能点都独立完整,方便工程师单独查看。

法则 2:用示例代替抽象描述

不好:"支持多种排序方式。"

好:"支持以下排序方式:加购时间(默认)、价格从低到高、价格从高到低。"

法则 3:用表格代替大段文字

同样的信息,表格比文字段落更容易阅读和查找。

法则 4:写给最不了解业务的人看

假设读者对业务一无所知。如果他能看懂你的 PRD,说明你写得足够清楚。

法则 5:评审前让别人先看一遍

正式评审前,先找一个同事快速过一遍,看看有没有明显的遗漏或歧义。


本篇小结

+--------------------------------------------------------------+
|                      本篇核心要点                               |
+--------------------------------------------------------------+
|                                                              |
|  1. PRD 的受众不同,关注点不同 -- 写的时候心里装着读者            |
|  2. PRD 标准结构 10 大章节 -- 按需裁剪,但不能缺核心部分         |
|  3. 好 PRD 的标准:清晰、完整、无歧义、可验收                    |
|  4. 六大常见错误:只写正常流程、描述模糊、缺边界条件、             |
|     写实现方案、不维护、没有优先级                                |
|  5. 黄金法则:用示例、用表格、写给不懂的人看                      |
|                                                              |
+--------------------------------------------------------------+

上一篇: 模块概览

下一篇: 02 - 完整 PRD 模板 + 范例