当产品规则太复杂,可能就错了

沈大伟  |  2016. 12. 05   |  阅读 1170 次
产品

大搜车ERP产品经理 沈大伟

面向企业的产品的一大特征是经常会遇到一些比较复杂的功能逻辑,尤其是当一个功能需要满足多种类型公司、多种部门人员需求的时候。
解决这种问题会带来一种久违的仿佛回到学生时代做数学题的感觉,刚开始脑袋里一团乱麻,但搞定了后会有一点空虚的满足感(虽然再回头看看好像其实也挺简单的)。
然而,和数学题不同的是,解决问题的产品方案不只有一种。
毛主席说过:产出一种方案不难,难的是产出一种简洁的、优雅的方案
某资深产品经理说过:当你觉得一种产品方案的规则太过复杂,那可能就错了
(因为不只听到过一位资深产品经理说过,所以也就不说具体是谁说的了。如果为了提高本篇文章的逼格,可以写成是乔布斯或张小龙说过,这也没什么大不了的,反正柏拉图和苏格拉底肯定也没说过那么多话。但是提到毛主席还可以是幽默,提到乔布斯就有装逼的嫌疑了,我是个朴实的人,还是算了吧。
好了好了,产品经理的唠叨你们已经听得够多的了。再唠叨下去,估计设计师、开发、测试、运营会想,你是来和我聊天的吗,我深知‘不要和产品经理聊天’这一真理,我要走了。

别走。我举个例子。

有两个公司,每个公司有N个门店。公司一的每个门店独立负责采购和销售,每个门店配采购员和采购经理;公司二只有一个门店集中配备采购员和采购经理,采购的商品分发给多个门店进行销售。如下图所示:
现在需要设计一个采购商品管理列表,满足这两个个公司的管理需求:
对于公司一来说,

  • 采购员只能看到自己采购的商品;
  • 采购经理可以看到本店所有商品;
  • 老板可以看到公司所有商品。

对于公司二来说,

  • 采购员只能看到自己采购的商品(分散在多个门店);
  • 采购经理可以看到全部门店、全部采购员的商品;
  • 老板可以看到全部门店、全部采购员的商品。

很自然地,我们想到的采购商品列表是这样的: 只需要给门店筛选、采购员筛选分别设置好权限,就可以了。
门店的可选择范围有两种:本门店商品全部门店商品
采购员的可选择范围有三种:自己本门店所有采购员全部门店所有采购员
这样,第一个产品方案诞生了。
这个方案能满足需求吗?
这个方案有没有问题?
门店和采购员的权限设置,共有2X3=6种组合。 对于公司一来说,实际上只需要1(采购员)、2(采购经理)、6(老板)三种组合,如果不小心给哪个账号配出了3、4、5组合,就不对了,用户会感到迷惑。
对于公司二来说,实际上只需要4(采购员)、5或6(采购经理/老板)。如果不小心给哪个账号配出了1、2、3组合,就不对了,用户会感到迷惑。

怎么办?

可以根据店铺的类型(是公司一的类型还是公司二的类型)来做判断。
如果是公司一,那么,当门店选本门店时,采购员不得选全部门店;当门店选全部时,采购员不得选自己或本店;
如果是公司二,那么,门店只可以选全部门店。

这样,第二个产品方案诞生了。

但是,在写方案二的判断规则时,我有一种强烈的不对劲的感觉,我已经能看到和开发过需求时他们脸上的表情,那表情的含义是:产品同学,这个东西,真的需要做得这么复杂吗?

脑子里又闪过了那句话:当你觉得一种产品方案的规则太过复杂,那可能就是错了。

错在哪里?

我也不知道错在哪里,思考过程感觉很自然。 还是再想一想吧。
为什么要加判断?因为想解决店铺选择和采购员选择冲突的问题。
嗯,隐约觉得问题可能就出现在这里,感觉这两个选项的关系有点拧巴。
要是只有一个就好了。
呵呵,怎么可能呢,这两个是基本的筛选条件,之前做的功能里都有的。
咦,如果只有一个就好了。。
如果只有一个就好了。。
啊。。

第三个产品方案诞生了: 去掉店铺筛选,只保留采购员筛选。 alt 对于公司一来说,只需要控制好查看哪些采购员的商品。

  • 采购员看自己的(商品自然都是本店的)
  • 采购经理看本店采购员的(商品自然都是本店的)
  • 老板看多店全部采购员的(商品自然是多店的)。

对于公司二来说,同样只需要控制好查看哪些采购员的商品。

  • 采购员看自己的(商品该是哪个店的就是哪个店的),
  • 采购经理和老板都看所有采购员的(商品该是哪个店的就是哪个店的)。

原来只需要抓住采购员这一点就可以了。有的规则,是不需要特意去控制他,他自然就成立的。

感谢某资深产品经理的提醒。
你不需要别人给你解决方案,只需要在感到方案很拧巴,不优雅的时候,不要偷懒,说反正这样也可以。
再想一想就更可以了。

分享到

   
Git 自动回滚 和 应用发布的二三事