原标题:踩了4次坑,终于搞清楚B端数字化产品为什么要做低耦合设计

B端产品设计有非常多的规则配置以及实际业务逻辑;在设计底层的权限,组织架构,规则配置时,需要考虑底层的设计逻辑以及逻辑实现的耦合逻辑。

我在做数字化项目时,在做复杂的业务规则逻辑时也踩过不少坑,分享下自己做几个小功能时总结的小case,希望可以对做B端产品设计的同学有所帮助。

一、组织架构遇上审批流:数据库设计时,最小颗粒度设计存储内容

成熟的数字化系统,组织架构和审批流跑不了。当你将身份,角色,门店范围,门店类型(直营店,加盟店,合作店,独立店等),审批规则等等这些信息混合在一起。

设计组织架构和审批流时,如何抽丝剥茧?找到最本质的逻辑规则设计合理的架构呢?如何通过低耦合的设计方式,提供简单优雅的设计方案?

我的建议:通过梳理,将影响业务逻辑的因素,做成横坐标;每个因素上的状态值(或者类型)做成纵坐标;形成2维矩阵图;然后试着做全集的场景和方案梳理。

这种方式很慢,但是你做到三分之一的时候就会慢慢发现规律,做到一半的时候就知道后面的逻辑,做到最后的时候,方案呼之欲出。

图表是最能帮助你梳理思路的工具,我在之前的文章中也分享过几个图表。可以看下~ 参考类似:

↑用了一个小伙伴的图↑

通过穷尽方案抽象出通用功能,做模块化时保证不会耦合。

二、交互设计时,和技术沟通,避免因为交互流程的耦合影响技术方案的耦合

在产品设计交互架构时,有时候会考虑不到实际的数据库和技术实现方案,在设计时会出现页面的实现方式有耦合逻辑,会导致技术的实现方案有耦合度;此时需要通过和技术团队的沟通,找到这样的隐形坑,优化设计方案,更新产品策略,降低耦合度。这就是我经常和技术说的“通过产品策略降低技术难度。”

什么意思?产品经理通过业务场景的支持和技术方案实现的平衡,找到最优的解决方案。以此获取产品的成功。

举一个例子:最近在做一个在途库存的计算器逻辑,在做一个批量编辑列表页面时,交互的设计为了降低用户的操作繁琐度,默认提供了打开即为编辑状态的页面,同时提供了单条删除的操作,技术在实现时犯难了。

每一个列表数据都以数据ID为记录;但是如果编辑和删除操作同时存在的话,在存储数据时,会出现超级大的计算量,无法确认到底是对哪个数据进行了操作;此时需要产品结合实际的业务场景找到平衡方案。

另外一个在配置角色和全新规则时,交互设计可能将门店-角色-权限做了耦合的交互设计;但是在底层设计数据结构时,不能根据产品的设计方案设计,而是需要通过角色-全新-门店建立最小颗粒度的数据结构。

一定避免因为交互页面耦合逻辑导致数据结构的耦合设计,产生耦合后,想改就要动数据库,想想都难受!

三、筛选逻辑:配置项目读取配置,不要在代码里写过滤逻辑

在做企业数字化项目时,有的团队为了控制成本,直接将客户的业务逻辑放在代码里,导致后面客户想要调整一个简单的业务逻辑都非常困难。

我们在做数字化方案时,秉承的一个原则就是能做配置项目的,能做最小颗粒度配置的,绝对不在代码里写死逻辑。

企业的业务变动是大概率事件,不能为了节约成本帮客户做一个“死板的系统”,而是要做成灵活可配置,灵活而优雅的系统。

四、结合场景:不要过分设计;不要因为要解耦合做的太零散,导致页面配置时太琐碎

这条是结合3来说~有时候我们不能为了灵活而过度设计,在不必要的环节设计成太多的配置项。

比如常见的很多信息化系统非常灵活,各种字段可配置,各种流程可配置,甚至是数据档案都可以配置!

最后导致系统运行起来时,对人员的操作能力要求比较高,只有充分了解的业务和系统的功能才能配置成功。

在考虑系统的解耦合程度和用户的上手操作难度时,产品经理需要注意做权衡。

以上几个点,是做数字化系统时,做B端产品设计时,解耦合需要注意的点,希望对大家有所帮助。

做B端产品设计很久,越发觉得B端产品经理与C端产品经理的相同和不同处。

关于B端产品的模型框架,我梳理成一个体系,分享给大家:

欢迎大家留言交流~

相关文章