如何快速高效梳理复杂系统?

10 评论 17253 浏览 96 收藏 10 分钟

编辑导语:产品经理经常会面临一些比较复杂的系统,在繁杂的多项工作任务中,产品经理要处理业务需求并且梳理清楚业务逻辑,这是一个不小的难题。如何梳理好一个复杂的B端系统呢?我们需要完成两件事。

面向企业的B端系统,一直是复杂的代名词。

其往往包含着大量的需求以及复杂的业务逻辑,这也给B端从业人员带来了极大的挑战。作为产品经理,不管是做新项目的实施、接手新的业务线、还是公司内部开辟新的产品线,都无可避免这个问题。

产品经理作为It团队的与外部业务方、其他产品线的交流窗口,如何高效、完整的对接好大量的业务需求,梳理好复杂的业务逻辑,是一个非常重要且具有挑战性的任务。

优秀的产品经理思路清晰、逻辑严谨,可以将复杂的业务系统梳理非常有条理,并清晰的呈现给团队成员,不仅确保自己工作的完成质量,同时也极大的降低了整个团队的工作压力。

人的承受能力是有限的,在面对大量的业务需求时,缺少一定的方法和正确的思维方式,必然会导致遗漏大量的需求任务及业务逻辑,对后续的工作带来沉重的负担。在面对B端系统时,我们往往都会面对两个问题:

  1. 面对大量的需求无从入手
  2. 面对复杂的业务逻辑无法有序准确的进行梳理

因此,想要梳理好一个复杂的B端系统,也必须要完成两件事:

  1. 针对大量的需求,找到合适的视角进行分析—解决面对大量需求时,混乱无章的分析;
  2. 针对选取的视角,选择合适的抽象层次—通过抽象手段,降低所面临的问题的复杂度。

接下来,我们分别对这两点进行说明。

一、选择合适的视角进行分析

视角:通俗的讲就是我们看待问题的角度。

比如说:我们描述一个人,这个人眼睛大、脾气好、身体健康、鼻梁高、唱歌好。即便我们对这些描述人的词语很熟悉,但是由于这些词汇分别从不同的角度描述这个人,导致一时间也无法对这段描述有个清晰的认识。

此时我们换一个方式进行描述,从长相的角度描述,这个人长得眼睛大、鼻梁高、睫毛长;从才艺角度描述,这个人学习好、唱歌好;从性格等方面描述时,这个人脾气好,性格温和。

通过各个角度,对描述进行归类后,随着描述,我们可以很简单的勾画出这一个人物形象。一个系统,同样具备以上特点。

当我们在分析系统时,最常做的,就是一股脑横跨多个角度去分析系统,这必然会增大我们分析系统业务需求及业务逻辑的困难度。如果我们将系统从不同的角度切分开进行分析。最简单的如安全性、易用性、扩展性、数据流转、对象交互等。

从易用性角度看,我们可以通过分析系统的UI设计、交互设计等,来解析整个系统的易用性;而从对象交互的角度看,我们可以通过分析系统与系统之间的交互、系统内部模块之间的交互、各个模块中表单之间的交互来分析。

可以看到,通过将系统分解成一个个视角,我们将一个复杂的系统切分成了几部分,而在任意一个视角下,我们都可以专注于分析系统的在这个视角下的表现,而不需要直接面对整个系统,从而降低我们分析系统的难度。

二、在选定的视角下,选择合适的抽象层次进行分析

抽象层次:通过定义一个边界,将一个复杂的事物视为一个整体,从而分析与它处于同一个层次下的事物之间的关联关系,而所定义的这个边界,代表的就是一个抽象层次。

当我们选定好某一个视角后,即便对整个系统进行了切分,但是鉴于B端系统的复杂性,如果没有条理的进行分析,同样会给分析工作造成一定的难度。

因此接下来需要做的就是对这个视角下的系统进行层层剖析,以中台OMS系统为例,当我们选定对象之间交互关系为视角后,此时根据这个视角的复杂度,将整个问题选定3个抽象角度:

  1. 以OMS系统作为一个抽象角度,OMS系统与外部系统之间的关联关系;
  2. 以OMS系统中某一个模块作为抽象层次,OMS系统内部各个模块之间的关联关系;
  3. 以模块中的某一个对象作为抽象层次,分析模块内部各个对象之间的关联关系。

图1:系统与系统之间的交互

当我们以OMS系统作为边界,将整个OMS系统作为一个抽象层次时,此时,其他外围系统与它是处于同一个抽象层次,在分析的时候,我们可以将整个OMS系统视为一个整体,这时分析也就仅仅停留在外围系统与OMS系统之间的交互上,从而更为完整的梳理系统与系统之间的接口通讯等信息。

此时我们降低抽象层次,以OMS系统的订单中心作为抽象层次,得到下图,OMS内部的商品中心、策略中心等与其处于同一抽象层次,这时我们分析时,就会专注于分析各个中心模块之间的交互关系,而不需要关注系统外部及模块内部的关系。

图2:模块与模块之间的交互

而当我们进一步降低抽象层次,以订单中心中的对象为一个抽象层次时,得到下图:

图3:对象与对象之间的交互

在这个抽象层次下,我们进行分析时,只需要专注于分析订单中心内部各个表单对象之间的交互关系。

在上例中,我们通过定义一个抽象层次,从而屏蔽掉不在当前层次内的信息,在分析问题时,我们只需要专注于当前抽象层次中的内容,而不会涉及到抽象层次内的细节,这种方式可以降低我们所面临问题的复杂度,从而提高我们分析问题的完整性和准确性。

三、视角及抽象层次的应用

视角和抽象层次,不仅仅用在系统分析及设计,作为PM,我们日常工作中在与业务方、领导、UI设计师、测试、开发人员的协作,同样需要用到。试想一下,这些不同的角色,在面对系统时,需要关注什么?

作为业务方,他们更加关注系统对业务的处理;作为领导,他们更加关注系统的设计是否合理;而作为UI设计师,则更加关注业务场景及交互设计;测试、开发人员,则更加关注业务逻辑实现。

这些我们接触的角色,大部分人都只是关注系统中一个或者多个角度,而我们的需求评审,无差别的讲给所有参与人,效果可想而知。

此外,将复杂的业务逻辑通过PRD讲解给相关开发、测试人员时,如此复杂的系统,如果直接深入讲解细节,也必然会导致需求评审困难重重,缺少了实际评审的意义。通过抽象层层讲解,同样可以提高整个团队的理解能力。

灵活的运用视角和抽象层次,是作为一个合格的PM必须要锻炼与具备的技能。只有具备了这种能力,我们才能在工作中游刃有余,像更高的层次冲刺。

 

本文由 @没梦想的咸鱼 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 好文啊

    来自北京 回复
  2. 很不错,感谢分享

    来自北京 回复
  3. 干货干货,楼主好棒!我自己做复杂业务需求,只懂得去用业务流程图协助自己梳理公司各部门之间的业务流转(数据流转),部门内部的业务流转,另外跟业务同事交流补充细节,跟开发同事沟通业务需求实现逻辑,这只是我个人工作中慢慢形成的方法,看了楼主文章,我对复杂业务梳理方法更清晰了些,感谢!

    回复
  4. 非常受用,同是OMS产品,可以留个微信交流下吗

    来自北京 回复
    1. 18309299923,欢迎交流

      来自上海 回复
  5. 来自广东 回复
  6. 腻害了

    来自广东 回复
  7. 这个方法好用,受益了

    回复
    1. 有帮助就好,例子只是为了说明,关键是这种拆解系统的思路

      来自上海 回复
  8. 满满的干货

    来自北京 回复