01 前言
写PRD是产品经理的基本功,但很多时候,我们无法得到系统的指导,全靠野蛮生长,简称野生产品经理。我们的PRD可能会面临很多问题,在开发过程中由于需求描述不明确,不断地进行修改最后导致延期。文档被领导挑出毛病,打击自信心,在同事中信誉度降低等等。
减少无效的沟通,提高工作效率,是一篇清楚的PRD带来的好处。
02 什么是PRD?
(1)PRD是什么
PRD是Product Requirement Document的简称,我们叫它产品需求文档,它的诞生意味着产品从概念化到图纸化的进化。
(2) PRD的对象有哪些?
以开发团队为主的研发、测试、视觉设计师、交互设计师等相关业务人员。
(3)PRD有什么作用?
研发根据PRD进行开发逻辑,并进行代码编写
测试根据PRD编写测试用例,进行后期的测试
视觉与交互设计师根据PRD设计
作为记录逻辑的文档,以便时间长了忘记逻辑可以翻看以前的文档
确保项目组所有成员对此次迭代内容达成共识的记录
03 写之前需要注意的问题
(1)这个需求在解决什么问题很多情况是一个需求提过来,产品经理立马着手开始设计,甚至有时候需求方会附带自己的设计方案,有的产品经理也没有经过思考直接就执行了(早些时候我也这么干过,别人指哪打哪)事实上一个需求最重要的是发现问题,发现问题比立马出解决方案更加重要。因为没有探究问题是什么,可能一开始设计的方向就是错的了。
我们需要考虑以下内容:
这个需求解决了谁的问题?这个谁可能是用户,可能是其他需求方如老板、运营、市场
问题的本质是什么?是不是如需求方所说?
这里有一种设计技巧可以使用,叫做RTPA设计框架,他的核心就是重新发现问题。我们可以使用以下的步骤:
可以看到,最后才是设计,在设计之前我们重点要搞清楚的是问题所在。
(2)需要多少资源为实现这个需求,需要多少资源,多少人力,多少时间来完成,需要做一个大致的评估。
(3)是最简单的解决方案吗?当前的设计是最简单的解决方案吗?实现起来难度怎么样?值不值得去做?
(4)有风险吗?主要考虑做出来后能不能投入使用,会不会违反法规,或者违反第三方的规则导致不能使用。或者功能会影响别的方面,如线上bug引起的崩溃,或者导致什么数据下降。
(5)设计是否创新有没有调研过竞品对于这个功能是怎样设计的,对于这个问题是怎么处理的,有没有行业内比较先进的做法。
总之,我们在设计之前需要考虑以上的问题,想清楚了再进行设计,可以少走弯路。
04 编写步骤
做完了设计之前的工作,就可以开始设计了。编写中有三个大的方向:(1)搭框架这一步主要定产品的大致框架,包括产品架构、信息架构、功能结构。首先通过角色将系统划分开,系统中又包含子系统,再将系统中的功能按照模块划分成功能模块,再列出每个模块下的功能就成了。
产品框架
信息架构
(2)业务流程分为主业务流程和子业务流程。每个业务中包含业务流程图、状态流转图、时序图。业务流程图:
状态流转图:
登录时序图:
(3)文档细节在对功能的描述中,【输入】【处理】【输出】是最关键的步骤,用户在前置条件下进行输入操作后,系统会进行怎样的处理,最后输出什么样的结果。文档主要在描述这些内容,以及一些有辅助作用的数据表,交互细节等。
05 文档组成部分1. 修订记录
记录每次文档的修改信息,主要有,修改的功能、具体内容、修改的时间、谁修改的等信息,以便在以后查找起来方便。在Axure之类的平台中做文档还可以对每次修改添加一个超链接,快速定位到迭代。
2. 项目背景
从现状、方案、目标3方面描述。
现状:描述当前需求方遇到的问题,最好能跟价值模型关联;
方案:针对这个问题,所提供的解决方案概述;
目标:期望获得多少价值指标提升;通过项目背景的描述,可以让项目参与者感受到自己的工作价值。
3. 项目范围
列出项目架构图和功能结构图。
4. 全局说明
主要包含需要对全局统一处理的一些描述,如名词解释、异常流程处理、其他默认规则。
名词解释将一些不常见的,比较晦涩的名词列出并解释,以便大家的理解,与共识。
异常流程处理断网处理、无法预知的异常报错、服务器错误处理
其他默认处理加载方式、列表显示数据量、缺省显示
5. 业务流程
列出核心业务流程与子系统业务流程,一般功能性的业务流程都在功能描述里写。
6. 项目风险
了解有关的法律法规,有与第三方合作的需要了解别人的规则,提前避免风险。或者功能会影响别的方面,如线上bug引起的崩溃,或者导致什么数据下降。
7.需求优先级&干系人
主要记录相关的需求是谁提的,以便有不清楚的地方可以快速定位到相关人员。
8. 功能需求
这块是细节最多的地方,每个功能说明都包含:设计背景(非必须)、功能描述(非必须)、用户场景(非必须)、输入/前置条件、后置条件、界面交互、业务流程、分支流程、异常处理、数据字典(非必须)
设计背景非必须的元素,我习惯在交代功能之前,描述一下这个功能是怎么来的,是谁提出的,为什么要做,这样执行者看了不会觉得这个功能没有必要,反而还会帮忙思考怎样实现更加简单。
功能描述对这个功能是用来做什么的,进行一个描述
用户场景用户在什么样的情况下进入这个操作
输入/前置条件要操作这个功能,需要有什么条件,如什么角色,什么权限,处于什么状态,需要输入什么
后置条件进行了操作会输出什么,数据会有什么变化,页面会有什么跳转
业务流程业务流程图、子业务流程图(根据合适的颗粒度拆分)与别的状态图之类的展示,也需要流程图和文字解释结合。
异常列出能够预知的异常情况,并有对应的处理方案。如网络错误、提交失败、服务器错误等等。
数据字典这步也是非必须的,列出来也只是给研发一个参考,我们自己也要大概清楚这个功能有哪些字段。
9. 非功能需求
埋点需求我们需要采集的数据在这个功能里需要在哪里埋点。需要提供一个埋点需求表给研发。包括埋点的元素,触发的条件、采集的维度等。
监控需求监控某些接口,或前端元素,在发生异常时进行预警通知,能让我们提前知道异常并有所准备。
性能需求需要支持多少并发,如果是第三方服务的话需要多少额度。
兼容性需求需要兼容哪些设备,哪些浏览器版本之类的。
06 示例
这里的示例针对上面的第8点功能需求进行举例说明。
(1)功能描述提供给商户进行账号登录。
(2)前置条件输入正确的账号和密码进行登录操作
(3)后置条件登录成功后,根据用户登录的账号与对应的角色进入到相应的首页。如果选择了记住密码,需要保持登录30天,每一次登录都刷新这个token记录。
(4)界面
界面元素说明
(5)业务流程
业务流程步骤说明
(6)异常流程
(7)数据字典
登录数据字典
链接:https://www.jianshu.com/p/09b4dc9e0e4c
延伸阅读
如何搭建个人知识体系
从0到1搭建用户激励体系
活动策划上线及复盘(sop)
一张图识别好公司和烂公司
运营之光思维导图分享,附Xmind源文件
《我在阿里做运营》思维导图精华版
建立你的价值金字塔.PPT
从0开始说《高级增长黑客》
怎样把 PPT 做的像麦肯锡一样专业?
互联网大厂的薪资和职级一览!
国内外著名公司的组织架构图
19大类254个产品运营常用网站工具推荐
【书单】增长黑客必读的27本书
产品运营职业发展路径解读