‍‍编辑导语:“设计型”产品经理变为“方案型”产品经理,经历一段中后台产品PRD就好了。但“设计型”是什么,“方案型”又是什么?本文结合实际案例,与大家一同剖析B端PRD的逻辑,讲明“方案型”产品经理实战中的方法论。推荐感兴趣的童鞋阅读学习。

方案型产品经理就是,不再只说“我要xx”(潜台词怎么实现我不管),而是思考“我要xx,逻辑是……”(潜台词是我已经想透了)。

方案设计更多体现在逻辑规则与整体架构的契合度上。差的方案往往让开发过程反复拉锯,事倍功半。

需求与方案的融合,对团队和谐、产品扩展,大有裨益!是产品经理的价值体现之一。

来聊聊<后端产品经理宝典>的核心之一:中、后端需求方案(PRD)的注意事项。

一、想好方案,还要恰当好处的叙述

怎么在PRD中表达“区间不能相互交叉”呢?

1. 案例

在一个Excel导入功能的需求中,要导入的内容是不同重量区间对应的费用计算规则。因此需求文档中,要体现不允许重量区间交叉。

2. 如何描述

描述一:同一规则的任意两条数据,其重量区间不能有交叉。

点评描述一

看起来比较需求化,但实际上存在一个问题,就是没有定义什么样才算是交叉。

因此,是需求描述的不清楚。

如果产品经理认为交叉是个白痴问题,无需定义(实际确实如此),但是开发的代码如果写错,就会出现对标不一致。

换句话说,产品理解这句话,开发也理解这句话的意思,测试也理解,但是没有确保大家的理解是一致的。

描述二:同一规则的任意两条数据,假设重量区间分别为a-b、c-d,那么若出现a<e<b、a<f<b、e<b<f、e<a<f中的任意一种情况,则视为这两个重量区间交叉。

点评描述二

比描述一更加具体化,抽象概括,给出了定义。但是实际上遇到的情况是,开发自己把自己搞糊涂了,最后开发看着描述三,才把代码写清楚。

描述三:同一规则的各条数据,每一条数据的起点或终点,都不能介于其余各行的起点和终点之间。

点评描述三

比起描述二,描述三的本质是一样的,但是你会发现,换了一个简单的描述方式,避免了一个先入为主的限制,给开发一些留白,又能不遗漏地去想自己的代码。

二、注意遵从Web页面设计常识

在一个页面当中,我们看到不同的位置摆放不同的元素,就像被割开一块一块的。

这是由于HTML本身就划定了页面元素的坐标,因此在规划页面的时候就要遵从或利用这些规则。

比如:在一个表单当中,当你要在二维栏中加一行描述的时候,如下图这样地设计就有点含糊:

因为,页面的这个位置就像是一个两列的表格,而截图批注的内容却是在一个表格展示的。

所以开发会困惑:你是要让重新插入一个新的区域做成一维单元格,还是在原来的表格中分两列展示呢?

三、结合业务场景灵活设计方案

举个例子:客户等级规则设置功能,参数多,每个参数存在大于、等于、介于三种情况。

常规的设计思路是不同的参数分开存储,也就是一条完整数据要分多条存储。

比如,“id”为“001”的规则选择了三个参数,就要出现三行数据,且每一行数据都要对应考虑四组数据关系(大于、大于等于、小于、小于等于)。如下所示:

这样的设计导致字段较多(列较多),且每个规则又会随着参数的增多而导致行数增多的问题。

由于这些规则要传递给另一个系统去识别和运算,那么就更显得冗余沉重,是否能更简单点呢?

进一步调研获知,这个功能运算出来的数据本身就有结果偏差。因此对精确度的要求不高。

于是,重新和业务用户沟通后,优化了数据存储方案为:每个参数都用一个列,而每列的取值约定双侧为闭区间,用逗号隔开。

如果业务用户想表达大于100,那就写“100.01,”,即“大于100”约等于“大于等于100.01”。同样,小于80.01约等于“小于等于80.00”。因此只需要简单如下所示的存储结构即可(注意逗号是取值区间的分割符号):

结论:尽量使用从简的设计方案。发现复杂的时候回到问题源头,结合业务场景灵活设计。

四、不要想当然

具体体现在:

1. 设计页面搜索项

设计页面搜索项,搜索条件的多少和搜索速度并没有必然的线性关系。

有时候将筛选条件细化,即增加筛选项,反而可能加快速度。

这与筛选字段的索引情况、数据量、数据存储在表的结构(如分表存储)都有关系。

2. 结合技术常识

查学生姓名之前先选班级,会比不选班级的查询速度稍微快一点。

因此,在设计方案的时候,并不能一概地通过减少搜索项试图提高搜索速度。而应当根据具体的情况,结合一定的技术常识进行判断,而不是想当然地设计方案。

五、考虑特殊场景应对机制

特殊场景很多,比如:逆向操作、空值、并发等。

以并发为例,后台的业务人员虽然不多,但是也常常会出现多个用户同时操作同一个数据的情况。
比如:两个客服都看到了同一个待编辑订单,于是两人都要进行编进,碰巧时间相同,那么这就是会出现并发冲突。

这种问题不仅会造成出错的风险,而且对业务人员是一种重复操作,浪费时间。

因此如果遇到这样的场景,产品经理设计方案的时候就跟业务沟通,可能业务的一个简单的分组就化解了这种问题。

又比如做推送机制的时候将数据分别推送给两个客服,或者直接将订单数据分组,不同组的客服分别处理自己组的。

作为产品经理,需要在方案的时候告诉特殊场景或特殊操作,然后具体的处理机制由开发设计。

六、了解业务

每个行业都有外人不熟悉的信息盲区。

比如跨境业务的“时区”转化问题为例

跨境网站如果抓取订单,海外的平台采用的时区和我们的并不一样。并且某些平台在不同国家站点所采用的时区也不一样。

所以在抓单时需要把订单所属的时区转换成北京时间,才能根据北京时间把订单抓回来。了解后端产品知识之后这些就很容易,推荐一本书籍:

七、A/B方案对比,取最优方案

举一个案例:A系统需要用到手续费,手续费比例是由业务自己配置的。

在做这个需求的时候,了解到另一个系统已经有这套配置功能了,并且已经有了正常的手续费数据。那么A系统是继续在自己系统新建一个配置功能,还是创建接口从对方系统获取现成的呢?

分析:这个问题的关键在于两种方案哪个综合性价比更高。

接口获取案看似简单,但存在系统的耦合性,需要进行跨系统的联测;而新建看似复杂,但是只是一个简常规的规则配置,无需联调测试。因此,最后采用新建配置规则的方案。

这说明:表面上看起来省事的方案,可能真实执行起来反而会麻烦。因此产品经理要充分思考,A/B方案对比后做出选择。

#专栏作家#

唧唧歪歪PM,公众号:唧唧歪歪PM(ID:jjyypm),人人都是产品经理专栏作家,2019年年度作者。《后端产品经理宝典》作者,药学硕士转行互联网产品多年;熟悉跨境电商业务,医药领域;擅长大型后台体系,社交APP。

本文原创发布于人人都是产品经理,未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议。