天天看点

拆解复杂系统四步法

作者:破局者Breaker

#头条创作挑战赛#

系统是否复杂,主要看三点:

①系统对应的角色;

②角色的业务链路;

③角色之间的关联度。

你看电商系统就非常复杂,角色多,业务链路长,角色之间的强关联度。那应该怎么去拆解呢?

其实可以借用技术架构视角的C4模型从大到小去抽象去拆解:上下文(Context)、容器(Container)、组件(Component)、代码(Code)。

举个例子:咱在地图上找某个地方,顺序一般是:国家→省市→区/乡镇→村,对吧。这里面就是厘清包含关系和关联关系。

C4模型最大的优势是:能把问题和关注点分层,不在同一层的问题,就不要放在同一层去解决。

咱切换产品视角来梳理下实际的应用:

1.上下文(Context)——用户角色+业务流

该核心是系统目标、用户需求、业务领域三部分来厘清实际的业务和不同角色的关系。可以通过“Who(谁)/What(什么)/Where(何地)/When(何时)/Why(为什么)/How(如何)”来快速梳理。

比如,电商直播间抽实物奖品,满足直播商家的场观人数和活跃时长的需求。该怎么来梳理呢?

拆解复杂系统四步法

接下来就来梳理角色的关联图:(也就是关注、商家、直播间的三角关系)

拆解复杂系统四步法

至此,直播间抽实物奖品的核心业务路径和角色已完整输出。

2.容器(Container)——功能流程

核心业务路径和角色完整输出后,接下来需要站在不同角色视角来梳理对应的功能流程。可以围绕时间序整理功能任务。

①商家视角

从商家视角来通过时间流梳理:

  • 抽奖前 —— 需要配置抽奖奖品,可以从商品店铺和手动管理抽奖奖品;
  • 抽奖中 —— 直播间设置抽奖规则,下发抽奖;
  • 抽奖后 —— 中奖的用户生成对应的中奖订单和配送物流信息。

有两个核心关联点,实物奖品的管理,中奖后的订单和物流生成。所以可以将商家角色拆分:

拆解复杂系统四步法

②观众视角

从观众视角来通过时间流梳理:

  • 抽奖前 —— 商家下发抽奖通知后,可以参与抽奖;
  • 抽奖中 —— 成功中奖后,填写发货信息;
  • 抽奖后 —— 中奖商品的订单并入订单中心,区分中奖商品和其他商品。

你看,在观众视角中,关联的中奖商品订单,可以将观众角色拆分成具体的流程:

拆解复杂系统四步法

自此,直播间抽实物奖品的业务流程和功能流程已经非常清晰了。那和其他模块该如何融合和关联呢?

3.组件(Component)——多模块关联

梳理完基于该需求的功能流程后,接下来需要梳理和其他模块关联,从主流程出发,保证数据流口径统一。同样,也可以拆分成商家视角和观众视角:

①商家视角

咱用一张表整理下商家侧时间流-关联的模块:

拆解复杂系统四步法

②观众视角

然后再来梳理下观众侧时间流-关联的模块:

拆解复杂系统四步法

接下来合并商家视角和观众视角所有关联的模块,保障数据一体化且通过字段去维护,使得整个产品结构一体化。接下来就针对功能模块和产品流程去梳理页面流程图了。

4.代码(Code)—— 页面设计+逻辑梳理

其中在页面设计中,重点要抓住两个点:

商家侧:核心是运营获客,所以抽奖工具要更便捷的操作,提效为核心;比如能快速帮商家选中商品抽奖;在订单中提升发货效率。

所以在商家端,能在移动端快捷选商品并开启抽奖;能快速管理哪些已中奖未发货的商品数,并一键【去发货】;

观众端:核心是引导中奖用户及时填写信息并下单。同时,观众在订单管理中能清晰区分奖品订单和其他订单的区别。

让商家端和观众端看到不同的订单类型,订单差异化设计。

至于其他页面细节和逻辑,按照“输入→逻辑→输出”的标准输出就好。

以上是梳理复杂系统的思路,和技术澄清无疑问后,就可以按照John的PRD模板完整输出了:

拆解复杂系统四步法
拆解复杂系统四步法