做了几年业务分析,我最怕听到的一句话是"需求都在这儿了,你帮我出个PRD吧"。这话听着像是省事,实际上是把最费脑子的活儿给跳过去了。一份能落地的PRD从来不是从需求清单里长出来的,它是从业务流程里一寸一寸挖出来的。我做业务分析的完整链路基本是固定的四步:业务流程梳理、需求转化、PRD编写、指标体系搭建,前两步决定这份文档有没有价值,后两步决定它上线之后能不能被验证。这篇文章想聊的就是这条链路怎么走通,尤其是那些文档模板里不会写、但每次项目都会踩到的细节。适合刚转岗做业务分析的同学,也适合产品经理、数据分析和运营同学拿来做对照——不管你手上是电商履约、售后工单、SaaS续费还是内部审批流,方法论是通用的,只是流程节点长得不一样。
需要先说清楚一件事:业务分析不是"把业务方说的话整理成文档"。如果只是整理,那叫速记。业务分析的价值在于把业务方自己也说不清楚的流程显性化,然后指出哪里在漏钱、哪里在返工、哪里根本不需要做系统。这个判断能力,决定了你后面写的PRD是必需品还是装饰品。
1. 为什么业务分析要先啃流程,而不是急着写PRD
1.1 把PRD当需求收集表,代价通常在三个月后显现
我见过太多这样的开头:业务方拉个群,扔过来十几条需求,"能不能加个批量导出""能不能加个审核提醒""能不能把这个字段挪到前面"。看着都合理,一条一条写进PRD,开发排期,上线,然后呢?批量导出上线后没人用,因为业务方真正要的不是导出,是月末对账时两个系统的口径对齐;审核提醒上线后投诉更多,因为提醒发给了错的人。这就是没有流程梳理的直接后果——你优化的是某个动作,而不是这条链路。
流程梳理的本质,是把"谁在什么条件下做什么动作、产出什么单据、受什么规则约束"这四件事讲清楚。听起来简单,实操里最难的是第三步和第四步:单据往往散在三个系统里,规则往往只存在老员工的脑子里。你不去挖,PRD就只能写个大概,开发做出来的东西跟业务预期差着一层,最后靠改需求补,工期翻倍。
1.2 流程梳理到底在梳理四个东西
我把流程梳理的产出拆成四层,一层不齐就不要往下走。
第一层是角色,不是部门。部门是组织架构,角色是干活的人。"售后部"是部门,"负责判定责任归属的售后专员"是角色,这两个在流程里的位置完全不同。一个部门可能有五个角色,一个角色也可能跨部门。
第二层是动作,必须用动宾短语。写"订单处理"是废话,写"校验收货地址是否在配送范围"才是动作。动作颗粒度的判断标准很简单:这个动作能不能被一个具体的人在一次操作里完成。能,就到底了;不能,继续拆。
第三层是单据与数据,也就是动作的输入输出。每个动作进去什么、出来什么、落到哪张表、有没有纸质凭证、有没有线下表格。这一层是后面写PRD字段定义和埋点的直接来源,漏一个,PRD就得回头改。
第四层是规则与约束。比如"金额超过五千需要二级审批""同一手机号一天内最多提交三次""跨月的单据不允许作废"。规则是最容易被忽略的,也是最容易出线上事故的。我习惯在流程图旁边单开一列专门写规则,一条一条编号,写PRD的时候直接引用编号,避免口头传达失真。
1.3 AS-IS和TO-BE必须分开画,不能合并
新手常犯的一个错误是画一张"未来流程图"就往下写PRD了。问题是,如果连现在怎么跑都没画清楚,你怎么证明未来那版更好?
我的做法是先画AS-IS,一个字都不改,包括那些明显不合理的环节。画完之后跟业务方逐节点对一遍,问三个问题:这个节点存在的理由是什么?如果去掉会怎样?这个节点的耗时大概多久?这三问下来,通常能砍掉一到两个纯粹因为历史原因残留的环节。然后再画TO-BE,在AS-IS上标记增、删、改,每个变更点对应一条需求。这样PRD里的每一条需求都能追溯到流程节点,评审的时候没人能问倒你。
1.4 判断需求真伪的三个硬标准
流程画完,需求池里那一堆条目就要过筛子了。我用三个标准,满足任意一个才进入PRD:
一是能减少流程节点数。原本五个角色经手,改完四个,这是真需求。二是能消除返工。原本平均每十单有三单要退回重做,改完降到一单,这是真需求。三是能产生可度量指标。原本这事干完没法衡量好坏,改完能算出转化率、时长、成本,这也是真需求,因为它让后续优化有了抓手。
反过来说,如果一条需求既不减节点,也不减返工,还不产生新指标,那它大概率是"某个角色觉得顺手一点"。这种需求不是不能做,但优先级要往后排,别占着核心工期。
2. 流程梳理的落地方法:从一张泳道图开始
2.1 访谈之前,先把信息底稿准备好
我见过有人空着手去访谈,聊了两小时,回来啥也没记住。访谈的效率取决于你带了多少东西进去。我每次访谈前会准备一份底稿,包含五样东西:
组织与岗位说明,搞清楚谁向谁汇报,谁是最终拍板的人;现有系统的截图或录屏,让对方指着屏幕讲,比空口描述准确十倍;近三个月的异常工单或客诉记录,异常是最好的流程探测器,正常流程大家都熟,异常才暴露规则漏洞;历史需求池,看看之前提过什么、做了什么、为什么没做;以及一张空白泳道图底稿,访谈过程中直接往上填,边聊边画,对方看到图会主动纠正你。
底稿准备好,访谈节奏就变成"我画你看,你纠错",而不是"你说我记"。这两种节奏的产出质量差得很远。
2.2 泳道图绘制的四条实操规则
第一,纵轴放角色,不放系统。很多人习惯按系统分泳道,结果图画出来像系统集成图,看不出人的动作在哪儿断掉的。按角色分,你才能一眼看到"这个单子在这里等了两个小时没人管"。
第二,横轴按阶段分,阶段名用名词。比如"提交—受理—审核—处理—归档",五个阶段。阶段数量控制在三到七个,太多说明你没抽象,太少说明你没拆开。
第三,每个节点写清楚输入和输出,挂在节点下方的小字里。这一步看着繁琐,但它是后面写PRD字段表的直接依据。我现在画的图,节点下面必挂两行:入参是什么单据或数据,出参落到哪儿。
第四,异常分支必须画,用不同颜色的连线区分。正常流程一条线走到底谁都会画,异常分支才是真功夫。比如"审核不通过怎么回流""超时未处理怎么升级""客户撤回怎么收尾",这三类分支不画出来,PRD上线必炸。
图不用画得多漂亮,我用过最糙的一版是白板拍照,一样能推进项目。关键是业务方认,认了就是共同语言。
2.3 隐性损耗的量化,比画图更重要
流程图能看出结构,看不出损耗。损耗得靠数字。我一般在访谈里同步问四组数:
等待时长。一个单据从提交到受理平均多久,从受理到审核多久,逐节点问。把每个节点的等待时长加起来,你经常会发现总时长里七成是等待,真正的处理时间只占三成。这个发现直接决定PRD该做流程引擎还是做提醒。
返工率。每百单里有多少单被退回、退回原因分布是什么。返工率高的节点,八成是上游信息不全或者规则不清。
人工录入次数。同一个数据在不同环节被手工录了几遍。超过两遍,基本可以判定这里有个系统集成需求,而不是界面优化需求。
跨系统切换次数。一个角色完成一次完整处理要在几个系统之间跳。切三次以上,操作员的手感和准确率都会掉。
我做过一个售后工单的分析,算下来一张单平均流转三天半,其中两天七是等待,真正的处理动作累计不到四小时,跨系统切换平均五点二次,同一批数据被手工录了三遍。把这四个数字摆出来,后面提的需求没人再质疑优先级——因为它们指向的不是"更好用",而是"少漏钱"。
2.4 流程确认会怎么开才不流于形式
图画完要开确认会,但确认会很容易变成走过场。我的做法是会上只做三件事:逐节点念一遍动作和规则,请每个角色当场确认"你平时就是这么干的吗";把量化数据投出来,问"这个数字跟你的体感一致吗";最后把所有存疑点列成清单,当场指定人跟进,不给"回头再说"的空间。
注意:确认会一定要有最终拍板的人在场。角色之间的规则冲突,只有拍板人能定,你定不了,也别替他们定。
3. 从流程到PRD:把业务语言翻译成产品语言
3.1 PRD的骨架,固定成十一块
我不太相信"PRD没有标准格式"这种说法。格式可以不同,但模块不能缺。我现在的模板固定十一块:背景与目标、用户与场景、范围界定(做什么不做什么)、业务流程图、功能清单、字段与数据规则、状态机、异常分支处理、指标与埋点、验收标准、上线与灰度计划。
其中范围界定这一块,很多PRD写得含糊。我的写法是把"不做什么"单独列一段,明确写"本期不涉及跨组织结算""本期不做移动端"。写清楚不做什么,能省掉后期一半的扯皮。
另外背景与目标这一块,不要写"提升效率"这种空话。写成"将单据平均流转时长从3.5天降到2天以内,将返工率从30%降到10%以下"。目标一旦可量化,后面的指标体系就有了源头,验收也有了标准。
3.2 功能清单要挂流程节点编号
功能清单不是需求列表的复制粘贴。我的写法是每条功能都挂上流程节点编号,格式类似"F-03 对应流程节点 S2-R1"。这样评审的时候,任何人问"这个功能为什么做",你都能指回去。反过来,如果某个功能挂不上任何节点,那它要么是遗漏了流程,要么是伪需求,两种都得处理。
功能清单还要标依赖关系。比如"批量指派"依赖"角色权限体系改造",这两条必须排在一起做,否则前一个功能上线了也没法用。依赖关系不标,排期的时候就会出乱子。
3.3 状态机是PRD里最容易翻车的部分
我做评审,先翻状态机。状态机写不清楚,后面全是坑。写状态机要做三件事:
第一,把所有状态列全。以工单为例:待受理、处理中、待审核、已驳回、已完成、已关闭、已撤回。少一个"已撤回",上线第一周就会有单子卡在中间没人管。
第二,画状态迁移表,每一行写清楚从哪个状态、触发什么动作、由谁触发、迁移到哪个状态、有什么前置条件。表格比箭头图好用,因为表格能写条件,图写不下。
第三,每个状态定义清楚"可做哪些操作""不可做哪些操作"。这一条是给开发和测试看的,也是给客服看的——客户问"我这单能不能改",客服得能答上来。
3.4 异常分支的穷举方法
异常分支穷举,我用一个笨办法但很有效:对每个动作问五个问题。如果操作人不在怎么办?如果数据缺失怎么办?如果超时了怎么办?如果重复提交怎么办?如果中途要撤销怎么办?
五个问题乘上动作数量,能问出一大堆分支。不是每个都要做处理,但每个都要在PRD里写明"本期如何处理"——哪怕是写"本期不做处理,超时后由人工兜底",也得写。空着不写,开发和测试就会各自想象,最后对不上。
3.5 需求优先级用流程价值算,别用感觉排
优先级排序,我习惯用两个维度打分:流程影响面(这条需求影响几个节点、几个角色)和损耗改善量(能减少多少等待时长、多少返工)。两个维度各打一到五分,乘起来排序。
举个数:一条需求影响两个节点、一个角色,改善返工率从30%到20%,影响面打三分,改善量打四分,得十二分。另一条需求影响一个节点,只是让界面好看点,影响面两分,改善量一分,得两分。十二分对两分,排序一目了然。这种算法不完美,但比"老板说要先做"要靠谱得多,而且评审时能拿出依据。
4. 指标体系搭建:让PRD上线后能被验证
4.1 指标分层,先定一颗北极星
指标体系最容易犯的毛病是"指标大杂烩"——列了三四十个指标,谁也不知道看哪个。我的做法是先定一颗北极星指标,再往下分两层。
北极星指标要满足三个条件:能反映业务核心价值、能被团队影响、能长期跟踪。比如工单系统,北极星可以是"单张工单的平均解决时长";比如SaaS续费,北极星可以是"月度净留存收入"。定完北极星,往下拆一级指标(直接影响北极星的过程指标),再往下拆二级指标(诊断用,能定位到具体环节)。
三层就够,再多就没人看了。分层的意义在于:北极星看趋势,一级指标看问题出在哪一段,二级指标看具体是哪个动作出了问题。
4.2 指标口径六要素,一个都不能省
口径不一致是数据打架的第一大原因。同一个"活跃用户",产品算的是登录过,运营算的是下过单,财务算的是付过钱,三个数摆在一个会上,会就开不下去了。
我要求每个指标必须写清六要素:指标名称、业务定义(一句话说清是什么)、计算公式(分子分母分别是什么,去重不去重)、数据来源(来自哪张表哪个字段)、统计周期与维度(按天还是按周,按渠道还是按区域)、责任人(谁对这个数负责)。
这六条写下来,看着啰嗦,但能把后面百分之八十的口径争议提前消灭。我习惯把这六要素做成一张表,放在PRD的附录里,上线后直接交给数据同学做口径对齐。
4.3 从流程节点反推埋点方案
埋点不用另起炉灶,流程节点就是天然的埋点位置。我的映射方法是三句话:
流程节点对应事件。每个关键动作就是一个事件,比如"提交工单""受理工单""驳回工单"。
角色对应事件属性。同一个事件由不同角色触发,行为含义不同,角色要作为属性带上。
分支对应属性值。走的是正常分支还是异常分支,用属性标出来,后面分析才能拆开看。
再加两类通用属性:时间戳和单据唯一标识。有这两样,才能做漏斗和路径分析。
埋点方案我在PRD里会单独列一张表:事件名、触发时机、属性列表、上报频率、对应指标。这张表同时给开发和数据两边用,避免开发按自己的理解埋,数据按自己的理解取。
提示:埋点表里一定要写"不埋什么"。有些高频动作埋了会产生大量无用数据,反而拖慢查询。明确排除项,比事后清理数据省事得多。
4.4 指标要能反哺流程,形成闭环
指标体系不是上线就完事的。上线两周后要把数据拉出来,对照当初的流程损耗数字做比较:等待时长降了吗?返工率降了吗?跨系统切换次数少了吗?
如果指标没动,通常有两种情况:要么需求做错了(优化了不痛的地方),要么埋点错了(根本没测到)。这两种我都遇到过。前者要回头重看流程,后者要回头重看埋点表。不管是哪种,都说明指标体系和流程梳理必须是同一套逻辑,不能各写各的。
5. 实战复盘:一次完整的业务分析闭环
5.1 案例背景
拿一个我做过的项目说,某公司内部的售后工单处理系统。改造前的状态是:客户问题通过三个入口进来(电话、在线表单、销售转达),售后专员手工把它们录进一张共享表格,然后按区域分给处理人,处理人处理完在表格里标状态,月底由一个同事手工汇总做报表。
表面看流程就四步,实际访谈下来发现:三个入口的信息字段完全不同,导致录入时经常缺信息;共享表格多人同时编辑,经常互相覆盖;状态靠人手工标,漏标很常见;月底汇总要花两天,而且数经常对不上。
5.2 关键节点与产出物
流程梳理阶段画出的AS-IS图有六个角色、十一个节点,量化下来平均解决时长五天,返工率百分之三十八,跨系统与跨表格切换平均六次。这三个数字是后面所有需求的依据。
需求转化阶段砍掉了两个纯手工环节(统一入口录入、系统自动分派),保留了一个人工判断环节(责任归属判定,因为规则太复杂,短期做不了自动化)。
PRD里状态机定了七个状态,异常分支列了十九条,其中本期处理十三条,六条明确写"人工兜底"。埋点方案定了十二个事件、四类通用属性。
指标体系定了一颗北极星(平均解决时长),三个一级指标(首次响应时长、一次解决率、返工率),七个二级指标。口径六要素表格放在附录。
上线两个月后回看:平均解决时长从五天降到两点八天,一次解决率从百分之六十二提到百分之七十九,返工率降到百分之十六。没达到最初定的目标(两天以内、返工率百分之十以下),但方向对了,剩下的差距主要卡在责任归属判定那个环节还没自动化。
5.3 踩过的坑,一条一条列出来
第一个坑:一开始按系统分泳道,图画出来完全看不出人的动作在哪断掉,重画了一次。这个前面说过,是新手最容易犯的。
第二个坑:状态机漏了"已撤回"。上线第三天就有客户打电话要求撤回工单,系统里没这个状态,只能人工改数据库。
第三个坑:埋点把"查看工单详情"也埋了,结果这个事件量级是其他事件的几十倍,查询慢得没法用。后来加了采样才解决。
第四个坑:指标口径没跟财务对齐,"解决时长"我们算的是从提交到关闭,财务算的是从受理到关闭,月度汇报上两个数差了百分之二十,解释了半天。
第五个坑:PRD里"本期不做什么"写得太笼统,写了句"本期不做移动端适配",结果开发理解为"不做响应式",测试理解为"不做任何移动端相关功能",上线后在手机浏览器上排版全乱。后来改成明确写"本期仅支持桌面端分辨率1280以上,移动端不做适配,不做响应式布局"。
6. 常见问题速查与个人心得
6.1 常见问题速查表
| 现象 | 大概率原因 | 处理方式 |
|---|---|---|
| 流程图画得很顺但上线后没人用 | 画的是理想流程,没反映真实操作 | 重做AS-IS,把线下表格、微信群、电话沟通全画进去 |
| 开发做完发现跟业务预期不符 | 字段和规则没写清,靠口头传达 | PRD补字段表,每个字段写类型、必填、取值范围、默认值 |
| 上线后大量单据卡在中间状态 | 状态机不完整,缺兜底状态 | 补"已关闭""已撤回""超时未处理"等兜底状态 |
| 数据报表和业务体感对不上 | 指标口径不一致 | 补口径六要素表,跟数据同学逐条对齐 |
| 埋点数据量太大查不动 | 高频无价值动作被埋 | 明确排除项,对高频事件做采样 |
| 需求评审会开成辩论会 | 需求没挂流程节点,无法追溯 | 功能清单挂节点编号,评审时逐个指回流程 |
| 排期总是排不下 | 没标依赖关系 | 功能清单标依赖,强依赖的功能打包排期 |
6.2 几个不太上台面但很管用的经验
第一,访谈的时候别急着记笔记,先让对方画。很多人说不清楚自己干什么,但拿起笔能画出来。画完你再整理,准确率高得多。我甚至会准备好几种颜色的笔,让对方自己用颜色区分正常和异常。
第二,PRD里的规则一定要编号。规则一多,口头引用就会失真,编号之后开发直接在代码注释里引用编号,测试用例也按编号写,追溯起来非常省事。我现在写PRD,规则编号能编到几十条,看着繁琐,实际上省了大量沟通成本。
第三,指标别一上来就铺开。我最早做指标体系,一次列了四十多个,结果上线后没人看。后来砍到十个以内,反而每周都有人问。指标的价值在于被使用,不在于被定义。
第四,跟开发讲需求,别讲业务故事,讲数据和状态。开发不关心客户多着急,关心的是这个字段为空怎么处理、这个状态能不能回退、并发提交同一张单怎么办。你把这三件事讲清楚,开发做出来的东西八九不离十。反过来,讲半小时业务背景,最后做出来的还是错的。
第五,留一份"需求决策记录"。哪条需求没做、为什么没做、谁决定的、什么条件下会重新考虑,都记下来。这份记录在半年后特别值钱,因为总会有人回头问"当初为什么不做这个"。
我个人在实际操作中的体会是,业务分析这活儿,技术含量不在文档写得多漂亮,而在你能不能把业务方脑子里的隐性规则一条条挖出来、变成可执行的定义。流程图是工具,PRD是载体,指标体系是验证手段,三样东西串起来才是一个闭环。缺任何一环,项目都能跑,但跑不远。真正拉开差距的,是你愿不愿意在画图之前多问那五个"如果"。