简介:通用型经典产品需求文档(PRD)模板面向产品经理、需求分析人员及初入行的互联网从业者,用于规范需求文档的编写与版本管理,也可作为团队评审、交接和项目立项时的参考框架。压缩包共1个doc文件,约73KB,内容按文档基本信息、接收人签字、修改记录、概要介绍、项目概述、产品环境、产品需求、用例场景、优先级与发布计划、风险评估、参考资料等模块展开,并对编号、版本、章节、修改原因和修改人字段给出示例,其中功能性需求、开发需求、兼容性需求、性能需求、文档与外观需求等条目便于逐项核对需求边界。已有3198人学习下载,适合希望快速建立PRD结构、补齐需求描述维度或统一团队文档模板的读者,可直接借鉴目录层级、字段设计与撰写逻辑,减少从零搭建文档框架的时间。
1. 为什么一份通用 PRD 模板能救急:从三次返工说起
产品需求模板通用这件事,听起来像偷懒,实际是团队协作的底线。前阵子一个模拟项目X,需求评审开了三轮,研发还在问“这个字段到底给谁看”,测试问“异常流程写在哪”,最后翻出这份经典的产品需求文档模板,把文档头部、修改记录、功能需求表和非功能需求重新对齐,返工才压下去。这份资源是一份 .doc 格式的 PRD 模板,骨架围绕概要介绍、项目概述、产品环境、产品需求、支持信息五块展开,功能需求表里保留 PR ID、实现目标、约束条件、MR ID,需求概要表里补类别和优先级。它不负责替你写战略,适合产品经理、需求分析师、项目经理和研发负责人拿来当通用骨架,把“需求写全”变成可检查的清单。
2. 先拆骨架再填字:五章结构与修改记录怎么钉死
拿到模板不要从第一行填到最后一行。先看目录和修改记录,判断项目处在什么阶段。五章不是并列关系,是“问题—对象—边界—方案—支撑”的链条。概要介绍回答为什么做,项目概述回答给谁做,产品环境回答在什么限制下做,产品需求回答做成什么样,支持信息回答靠什么支撑。先裁剪再填,比上来就写功能表稳得多。
2.1 模板头部与修改记录:把“谁改了哪一版”钉死
模板头部把公司 logo、公司名称、产品名字、日期、联系人、部门、职位、Email、联系电话、文档接收人签字放在一页,这个设计不是为了好看,是为了让接收人一眼知道“这是哪个产品的哪一版、找谁确认”。我一般会把联系人写成角色而不是个人英雄,比如“产品负责人”“研发接口人”,人员流动时字段还能用。文档接收人签字也不要只留一个空行,签字前附一页确认清单,否则签字就是玄学。
修改记录是这份模板里最容易被糊弄、也最该较真的地方。编号只是为了记录修改顺序,文档版本表示当前内容属于第几次修改,一次修改一般对应一个版本;章节要写到具体功能模块,修改原因要说明为什么改,而不是“按评审意见修改”。下面这张表是我拿到模板后会先核对一遍的字段规则。
| 字段 | 填写规则 | 容易翻车的写法 |
|---|---|---|
| 编号 | 每次修改给一个顺序号,只用于追踪顺序 | 把编号当版本号,出现两个“第2版” |
| 文档版本 | 写当前内容属于第几次修改,通常一次修改一个版本 | 同一版本塞多次修改,事后说不清 |
| 章节 | 写到具体功能模块或小节,如“4.2 功能需求-导出” | 只写“需求部分” |
| 修改原因 | 写触发条件和影响范围,不是“按评审意见修改” | 只写“优化”“调整” |
| 日期/修改人/核定人 | 日期写修改完成日,修改人写内容修改者,核定人写确认者 | 修改人和核定人同一人且无复核 |
| 接收人签字 | 签字前附确认清单,签字表示已读并理解 | 只签字不确认,研发说没看过 |
举个虚构示例,某公司做某后台管理系统的导出需求,修改记录可以这样落:
| 日期 | 修订版本 | 修改人 | 核定人 | 修改原因 |
|---|---|---|---|---|
| 某日期 | 第1版 | 某产品 | 某研发负责人 | 初稿,覆盖概要介绍、项目概述、产品环境、4.2 功能需求 |
| 某日期 | 第2版 | 某产品 | 某测试负责人 | 补充 4.5 性能需求与 4.9 发布需求,影响 4.14 概要表中的 PERF-003 |
提示:修改记录不是流水账,修改原因要写“为什么现在改”,比如数据量从 5000 条涨到 1 万条,导致性能指标要调整;只写“改了性能需求”等于没写。
签字流程也有讲究。我一般把接收人签字放在评审会后,不是评审前;评审前签字等于让接收人盲签。签字页附一页确认清单:看过头部的范围、看过 4.2 功能需求、看过 4.5 性能指标、看过 4.9 发布回滚、知道修改记录在哪。签字后发一份版本快照,后续再有变更重新走记录,不要在原文件上悄悄改。
2.2 概要介绍与项目概述:先对齐问题再谈功能
概要介绍这五节最容易被写成“行业背景作文”。1.2 市场问题不是让你复制行业报告,而是写清楚什么可验证的外部变化让产品必须做;1.3 产品问题不是吐槽竞品,而是写现有方案下哪个角色在什么场景受了什么损失;1.4 技术问题不是替研发定架构,而是把会影响方案的技术约束摆出来;1.5 产品概念用一句话说清给谁解决什么问题。1.1 文档摘要最后写,先写容易被后文打脸。
项目概述里的 2.2 目标市场描述和 2.3 目标客户描述要分开。市场是边界和进入顺序,客户是角色和使用场景。目标客户至少分使用者、购买者、决策者,能找到三个访谈对象再写“目标客户”,否则就是想象。某跨平台系统如果目标客户是“某公司内部运营团队和外部中小客户管理员”,就要分别写他们的权限、数据和操作习惯,不要混成一句“企业用户”。
| 小节 | 回答的问题 | 一段话写法 | 验收追问 |
|---|---|---|---|
| 1.1 文档摘要 | 这份 PRD 覆盖什么、不覆盖什么 | 最后写,控制在一段 | 不看后文能否知道范围 |
| 1.2 市场问题 | 什么外部变化让产品必须做 | 写可验证的现象和来源 | 有没有数据或访谈记录 |
| 1.3 产品问题 | 现有方案哪里不够 | 写用户损失,不写竞品吐槽 | 哪个角色在什么场景受损 |
| 1.4 技术问题 | 哪些技术约束会影响方案 | 写约束,不写架构定稿 | 研发能否据此估风险 |
| 1.5 产品概念 | 一句话说清给谁解决什么问题 | 一句话,不要形容词堆叠 | 非目标用户是谁 |
| 2.2 目标市场 | 市场边界和进入顺序 | 写可触达范围 | 先打哪一类客户 |
| 2.3 目标客户 | 谁用、谁买、谁决策 | 分角色写 | 能否找到三个访谈对象 |
填写顺序我一般这样走:先写 1.2 到 1.5,再写 2.2 和 2.3,最后回头写 1.1 文档摘要和 2.1 本章摘要。摘要不是内容简介,是给繁忙读者看的“范围声明”:这份 PRD 覆盖哪些角色、哪些端、哪些不做,避免评审时有人拿另一个产品的预期来套。
2.3 产品环境:约束条件和假设条件分开写
产品环境这一章只有两节,但它是后面所有需求的边界。约束条件是已经确定、不可协商的限制,比如某公司现有账号体系不能改,首版必须复用;比如某高校实验室要求在学期开始前完成试点,交付窗口固定;比如现有接口只提供测试环境,联调时间受限。假设条件是“如果它不成立,方案就要改”的前提,比如假设目标客户愿意用批量导入而不是逐条录入,假设某接口在试点期可提供测试环境。
两者混写,后面一定翻车。把假设写成愿望,评审时没人验证,上线前才发现预算不够、接口没有、用户不接受。我一般会给每条假设配一个验证动作、责任人和截止时间,哪怕只是“找三个运营试用一次”。约束条件也不要写成抱怨,写清楚限制和应对方式,比如“首版复用现有账号体系,因此不做单点登录改造,权限粒度到角色不到字段”。
| 类型 | 写法 | 例子(虚构) | 验证动作 |
|---|---|---|---|
| 约束条件 | 已经确定、不可协商的限制 | 某公司现有账号体系不能改,首版必须复用 | 找系统负责人确认接口清单 |
| 约束条件 | 交付窗口固定 | 某高校实验室要求在学期开始前完成试点 | 倒排里程碑,砍非必须需求 |
| 假设条件 | 如果……不成立,方案要改 | 假设目标客户愿意用批量导入而不是逐条录入 | 做五个用户试用并记录 |
| 假设条件 | 外部依赖可用 | 假设某接口在试点期可提供测试环境 | 约定环境交付日和备用方案 |
注意:约束条件不是“我们做不到”的借口,假设条件也不是“我们希望如此”的愿望。每条假设都要能回答“验证了吗、谁验证、什么时候验证”。
3. 功能需求表:PR ID、MR ID 和约束条件怎么写成可开发条目
4.2 功能需求是整份 PRD 的核心,但模板只给了四个字段:需求描述、PR ID、实现目标、约束条件、MR ID。字段少不代表好写,反而要求每条需求都能被研发估时、被测试写用例、被业务验收。功能需求表不是把用户故事复制一遍,而是把“谁在什么条件下做什么、得到什么可观察结果、边界在哪”写成一条可检查的条目。
3.1 功能需求的最小字段:PR ID、实现目标、约束条件、MR ID
PR ID 是需求的主键,不要用“1、2、3”这种全局流水号,跨文档一引用就冲突。常见做法是“模块前缀 + 三位序号”,比如导出模块用 EXP-001,权限模块用 PERM-001。MR ID 对应市场或业务需求编号,用来追溯“这个功能是为了解决哪个业务问题”;如果一时没有,写“待补-MR”并在评审前补齐,不要空着。实现目标要写可观察结果,不要写“提升体验”“优化流程”。约束条件至少覆盖四类:角色权限、数据范围、异常处理、时限或依赖。
下面是一条虚构示例,某后台管理系统的订单导出需求:
| PR ID | 实现目标 | 约束条件 | MR ID |
|---|---|---|---|
| EXP-001 | 运营角色可按创建时间范围导出订单明细,导出字段包含订单号、创建时间、金额、状态;导出完成后生成下载任务 | 单次最多导出 1 万条;超过 1 万条提示缩小范围;无数据时导出空表头;仅运营主管和运营专员可见;导出动作写操作日志 | MKT-012 |
这条需求能被开发,是因为它回答了五个问题:谁用(运营主管和运营专员)、做什么(按时间范围导出)、得到什么(下载任务和字段)、边界在哪(1 万条、无数据、权限)、怎么追溯(MKT-012)。实现目标里不要出现“和/或”这种模糊连接,一个 PR 尽量只做一件事;如果导出和下载任务管理是两个行为,就拆成 EXP-001 和 EXP-002,否则测试用例会纠缠。
约束条件不是补充说明,而是验收的一部分。角色权限要写清楚谁能看、谁能操作;数据范围要写时间跨度、数据量、字段范围;异常处理要写无数据、超限、失败重试、权限不足;时限或依赖要写任务完成时间、依赖的接口、日志留存。评审时我会拿这张表逐条问:不做会怎样?做完怎么验?异常怎么处理?权限谁有?日志在哪?答不上来的条目,先别进开发。
3.2 从用户故事到需求表:三步拆法
用户故事适合对齐场景,但不能直接当需求表。我一般走三步:第一步列角色和场景,把使用者、购买者、管理员、客服分开,每个角色写触发场景;第二步把场景写成“当……时,……可以……,系统……;如果……则……”的句式,强制补异常;第三步补约束条件,判断要不要拆成多个 PR。这样拆出来的条目,研发能估时,测试能写用例。
以一个虚构用户故事为例:“作为运营,我希望按时间导出订单,以便对账。”第一步,角色是运营专员,场景是对账前导出;第二步写成“当运营专员在导出页选择时间范围并点击导出时,系统生成下载任务;如果范围超过 90 天,提示缩小范围;如果无数据,导出空表头;如果导出失败,保留任务记录并可重试”;第三步补权限、数据量、日志和依赖,最后得到 EXP-001 这样的条目。
| 拆解步骤 | 动作 | 产出 |
|---|---|---|
| 列角色和场景 | 分使用者、购买者、管理员、客服 | 角色-场景清单 |
| 写行为与异常 | 用“当……时,……可以……;如果……则……” | 可测试的行为描述 |
| 补约束与拆分 | 补权限、数据量、时限、异常、日志、依赖 | 一个或多个 PR ID |
粒度控制有个土办法:一条 PR 如果测试需要写超过五个用例,或者研发估时超过五天,就考虑拆。拆的时候按角色、按数据范围、按异常路径拆,不要按页面拆。页面会变,行为相对稳定。
3.3 需求概要表:把类别和优先级提前亮出来
4.14 产品需求概要表不是重复 4.2,它是索引和决策表。模板给了 PR ID、实现目标、约束条件、MR ID、类别、优先级,类别可以按功能、开发、兼容、性能、国际性、文档、外观、发布、支持培训、其他来分。优先级不要全标最高,我一般用“必须/应该/可选”,并写依据:不做的后果、依赖关系、发布窗口。概要表让评审先看全局,再下钻到明细。
| PR ID | 类别 | 优先级 | 依赖 | 验收入口 |
|---|---|---|---|---|
| EXP-001 | 功能 | 必须 | 账号权限接口 | 4.2 功能需求 |
| PERF-003 | 性能 | 应该 | 数据归档 | 4.5 性能需求 |
| COMP-002 | 兼容 | 必须 | 浏览器矩阵 | 4.4 兼容性需求 |
| DOC-001 | 文档 | 应该 | 发布计划 | 4.7 文档需求 |
概要表要和明细对得上。每条 PR ID 都能在 4.2 到 4.13 找到落点,每个类别都有负责人。评审时先看概要表,问三个问题:哪些是必须、哪些可以砍、砍了影响谁。答完再下钻明细,效率比从头读文档高得多。概要表也是变更时的“后悔药”:改完明细,回来改这一行,别让索引失真。
4. 非功能需求:性能、兼容性、发布和支持培训怎么量化
功能需求决定“有没有”,非功能需求决定“能不能上线”。模板从 4.3 到 4.13 给了开发、兼容、性能、国际性、文档、外观、发布、支持培训、其他、方案概述、技术概述,这些小节最容易被写成口号:“性能良好”“兼容主流”“文档齐全”。口号没法验收,最后变成研发和测试互相扯皮。非功能需求要写条件、指标、测量方法和边界。
4.1 性能需求:写“在什么条件下达到什么指标”
性能需求最怕写“越快越好”。合格的写法是“在什么数据量、什么硬件、什么网络、什么并发下,达到什么指标,怎么测”。比如某图像处理 Demo,批量导入 500 张图片,单张约 2MB,在 8GB 内存办公机上,列表首屏加载不超过 2 秒,导出 500 条记录不超过 10 秒。指标后面必须跟测量条件,否则研发可以说“你的机器不行”,测试也可以说“我的环境特殊”。
| 指标 | 目标值 | 测量条件 | 测量方法 | 边界 |
|---|---|---|---|---|
| 列表首屏加载 | 不超过 2 秒 | 5000 条数据,普通办公机,内网 | 清缓存后连续测 5 次取中位数 | 数据量翻倍时重新测 |
| 批量导出 | 1 万条不超过 30 秒 | 单条记录约 20 个字段 | 从点击到下载任务完成 | 超过 1 万条走异步 |
| 并发查询 | 50 个运营同时在线 | 读多写少,内网 | 压测脚本模拟登录和查询 | 峰值 100 时降级 |
注意:性能指标不写测量条件,等于没写。数据量、硬件、网络、并发四个条件至少写三个,否则验收时一定翻车。
性能需求还要写降级和兜底。超过数据量怎么办,是提示缩小范围还是走异步任务;并发超了怎么办,是排队还是限流;失败怎么重试,日志在哪里。性能不是研发的承诺书,是双方认可的验收口径。写不清楚,最后就会变成“我觉得慢”和“我觉得不慢”的玄学争论。
4.2 兼容性、国际性和外观需求:把“支持”拆成矩阵
兼容性需求不要写“支持主流浏览器”“兼容常用系统”,这种话没法测。要拆成矩阵:操作系统、浏览器、分辨率、语言、时区、日期格式、货币、字体、外设。每个维度写取值和必须/可选,取值来自实际资产清单或客户环境,不要拍脑袋。某跨平台系统的兼容矩阵如果写“两个指定浏览器版本”,就要把版本号写进文档,测试按矩阵跑,研发按矩阵估适配成本。
| 维度 | 取值 | 必须/可选 | 说明 |
|---|---|---|---|
| 操作系统 | 某公司办公机主流版本 | 必须 | 以资产清单为准 |
| 浏览器 | 两个指定版本 | 必须 | 不写“主流浏览器” |
| 分辨率 | 1366×768 及以上 | 必须 | 最小可用布局 |
| 语言 | 简体中文、英文 | 必须 | 英文文案预留更长空间 |
| 时区/日期 | 本地时区,日期格式可配置 | 应该 | 导出与界面一致 |
| 外观 | 空状态、错误状态、加载状态 | 必须 | 不能只写“美观” |
国际性需求不只是翻译。日期格式、货币符号、数字分隔符、文案长度、排序规则都要写。英文文案通常比中文长,按钮和表格列宽要预留;日期格式如果不统一,导出文件和界面会对不上。外观需求也不要只写“符合设计稿”,要写设计稿来源、响应式断点、空状态、错误状态、加载状态、字体和颜色规范。外观不是审美问题,是验收问题。
4.3 发布、文档、支持和培训需求:上线不是终点
4.9 发布需求、4.10 支持和培训需求、4.7 文档需求经常被留空,最后上线前突击补。发布需求要写发布范围、回滚条件、数据迁移、上线窗口、公告和负责人。回滚条件不要写“出问题就回滚”,要写触发指标,比如错误率超过多少、投诉超过多少、数据不一致达到多少,以及谁决策。数据迁移要写范围、校验方法、回退方案,别等上线当天才发现字段对不上。
| 需求 | 写什么 | 完成定义 |
|---|---|---|
| 发布范围 | 首批试点客户或部门 | 名单确认,通知到人 |
| 回滚条件 | 错误率、投诉、数据不一致的阈值 | 触发后谁决策、多久执行 |
| 数据迁移 | 迁移范围、校验、回退 | 抽样核对通过 |
| 文档 | 用户手册、FAQ、运维手册 | 版本与发布一致 |
| 支持培训 | 客服话术、培训对象、时长 | 培训签到和考核通过 |
文档需求要写清楚给谁看:用户手册给最终用户,FAQ 给客服,运维手册给技术支撑,接口文档给联调方。支持和培训需求要写培训对象、材料、时长和考核方式,不要写“提供培训”就完事。发布需求里我一般会加一条“发布后 24 小时谁值守”,否则上线当晚找不到人,黑匣子只能靠猜。
5. 避坑:PRD 模板落地时最容易翻车的五个点
模板本身不会出错,出错的是填法。下面五个坑是我在评审里见得最多的,每一个都按“现象—原因—解决”拆开写。你拿到模板后可以先对照一遍,能少走不少弯路。
5.1 前三个翻车点:需求不可验收、版本记录缺原因、功能与非功能混表
第一个坑是需求表填满却没人能验收。现象很典型:4.2 里写“优化导出体验”“提升查询效率”,评审时研发问验收标准,测试问用例怎么写,产品只能说“用起来顺”。原因是实现目标写成了愿望,没有角色、条件、可观察结果。解决是把愿望改成可观测行为,比如“运营专员在导出页选择时间范围后,1 万条以内 30 秒生成下载任务;超过 1 万条提示缩小范围;失败保留任务记录并可重试”。再补一句验收问题:不做会怎样、做完怎么验、异常怎么处理。写不出这三问,说明需求还没想清楚。
第二个坑是版本记录只有“修改”没有“原因”。现象是评审时有人问“为什么性能指标从 2 秒变 3 秒”,修改记录只写“按评审意见修改”,没人知道触发条件。原因是修改原因写的是动作,不是原因。解决是写触发条件和影响范围,比如“因试点数据量从 5000 条涨到 1 万条,将 PERF-003 的导出指标从 20 秒调整为 30 秒,影响 4.5 和 4.14”。再关联 PR ID,阅读者能顺着编号找到明细。修改记录不是给审计看的,是给下一次变更留后悔药。
第三个坑是功能需求和非功能需求混在一张表。现象是 4.2 功能需求里写“支持高并发”“兼容多浏览器”,4.5 性能需求和 4.4 兼容性需求空着。原因是填的人图省事,觉得写在一处就行。解决是按模板分工:4.2 只写行为、角色、数据和异常;性能写 4.5,兼容写 4.4,发布写 4.9,文档写 4.7;4.14 概要表用类别汇总。混表的直接后果是测试按功能用例测,性能没人压,兼容没人跑,上线后问题集中爆发。
5.2 后两个翻车点:约束当假设、签字走形式
第四个坑是把约束条件和假设条件写成愿望。现象是 3.2 约束条件写“预算充足”,3.3 假设条件写“用户会喜欢新界面”。原因是把未确认的事当成了已确认。解决是分开写:约束写已经确定、不可协商的限制,比如“首版复用现有账号体系,不做单点登录改造”;假设写“如果……不成立,方案要改”,比如“假设目标客户愿意用批量导入,若试用中超过一半用户要求逐条录入,则调整交互”。每条假设配验证动作、责任人和截止时间,评审时逐条问“验证了吗”。没验证的假设,就是埋在发布前的雷。
第五个坑是接收人签字走形式。现象是签字页签了,研发说没看过 4.2,测试说不知道 4.5 的性能指标。原因是签字没有确认清单,签的是名字,不是理解。解决是签字前附一页清单,逐项确认:看过头部的范围、看过 4.2 功能需求表、看过 4.5 性能指标、看过 4.9 回滚条件、知道修改记录在哪。签字后发版本快照,后续变更重新走记录。签字不是流程装饰,是责任转移的节点;没有确认清单的签字,等于给项目埋了一个黑匣子。
6. 用需求概要表和评审清单把 PRD 验到可交付
PRD 写完不等于可交付。我一般用 4.14 需求概要表做索引,用一页评审清单做门禁,十分钟能查出大部分结构性问题。先看修改记录,最近一次修改有没有原因、影响章节、核定人;再看 4.2,每条需求有没有 PR ID、实现目标、约束条件、MR ID;然后看 4.14,每条 PR ID 能不能在明细找到,类别和优先级有没有依据;最后看 4.4、4.5、4.9,非功能需求有没有指标、测量条件和回滚条件。
| 检查项 | 看哪里 | 通过标准 |
|---|---|---|
| 修改记录 | 文档头部 | 最近一次修改有原因、影响章节、核定人 |
| 需求表 | 4.2 功能需求 | 每条有 PR ID、实现目标、约束条件、MR ID |
| 概要表 | 4.14 产品需求概要表 | 每条 PR ID 能在明细找到,类别和优先级有依据 |
| 非功能 | 4.4/4.5/4.9 | 有指标、测量条件、回滚条件 |
| 签字页 | 文档头部 | 接收人确认清单已勾选 |
6.1 评审前十分钟:三处对齐和五个追问
三处对齐是修改记录、需求表、概要表。修改记录说清楚为什么改,需求表说清楚改成什么,概要表说清楚影响哪些类别和优先级。五问是:不做会怎样?谁验收?异常怎么处理?依赖谁?上线失败怎么回滚?这五问答不上来,说明需求还停在“想法”阶段。评审时不要从第一页读到最后一页,先看概要表,挑必须项下钻,效率更高。
6.2 变更时只动三处
变更时最容易犯的错是全文重排,改完一处忘了另一处。我的习惯是只动三处:修改记录加一行,对应章节改明细,4.14 概要表改索引。三处对不上,宁可不发。从那以后我每次发 PRD 前都强制走一遍“修改记录—需求表—概要表”三处对齐,少一次都不行。这份经典 PRD 模板适合先当骨架再用,需要的话在资源入口按说明获取;拿走后先做字段裁剪,别直接全填。希望帮到你。
本文还有配套的精品资源,点击获取