如何将一个复杂的业务,从头拆解转化成产品需求?

14 评论 18078 浏览 179 收藏 10 分钟

当一个产品经理接到一个复杂且自己完全陌生的需求时,要怎么将一个复杂的业务,从头拆解转化成产品需求?本文主要讲解该如何拆解,一起来看看~

业务导向型产品,每个功能背后都隐藏着复杂的业务逻辑,作为此类产品的产品经理,当接到一个复杂且自己完全陌生的需求时,如何一步步拆解搞清楚它里面隐藏的逻辑和细节规则,并成功转化成产品功能和输出清晰的产品文档?

本文复盘一下自己的实施步骤和过程,为以后处理类似复杂需求积淀思路和方法论。

一、理解名词

每个业务领域都有专有的业务名词,理解需求首先要搞清楚它涉及的专业术语。理解了相关术语,对这个需求相关的是一件什么样的事情,就有了一个初步的概念和认知。

其中,了解的方法有两种:

(1)向需求提出方询问:“XXX是什么意思?”

一般情况,业务人员会从这项业务是干嘛的来展开介绍,在这个介绍里,你可以得到的信息包括但不限于:

  1. 这个需求涉及的业务干系人(用户来源);
  2. 这个需求的关键操作(功能拆分来源);
  3. 这个需求的操作流程(流程来源)。

(2)借助网络查询词语最通俗的释义

业务方的介绍可能是从他们专业的业务操作上进行的,这对一个新手来说,有可能还是过于晦涩和专业,为此你需要自己通过网络理解名词背后最通俗的含义,有可能会有多重解释,但你能辨别出哪一种解释是跟你相关的。这一节点应该输出“名词解释”列表。

有了上面的理解,就大致知道了需求是干嘛的,那实际的业务中,是如何操作的呢?经过了什么样的流程节点呢?

二、整理流程图

这个过程会经历两个阶段:

(1)流程图草稿:把理解到的都用流程图的方式表达出来,不分泳道、不纠结流程节点命名、也不用在意这个节点该不该画出来,画出最粗又是最细的流程图。粗是因为不分泳道很多节点也不合理,细是因为把听到的理解的都作为节点画出来。

这时候不要画泳道图,因为对业务还模糊不清,抽象不出合理的泳道,如果一开始就设计泳道图,反而会花费较多时间和精力,但效果并不理想。

(2)细化流程图:经过对业务的不断调研,草稿图越来越完善越贴近真实业务,可以说对业务的整个流程有了宏观上全面的认识,那么就可以抽象泳道精细化节点来细化流程了。

这时候输出的流程必须是泳道划分合理,流程节点粗细适宜,节点命名合乎业务的。但是这时候的流程有一点还是会有欠缺,异常流程和判断节点往往会缺失。但不要紧,后面的一步会帮助我们把这些细节都考虑清楚和全面。

这一节点应该输出:

  • 一是流程图草稿(只给自己最初理解业务用);
  • 二是业务流程图(用于向其他团队成员讲解和帮助他们理解业务)。

三、整理状态迁移图

业务型产品在研发实现上很重要的一点是状态,状态控制着整个业务的流转和什么时候什么人该干什么事,不合理的状态划分使得代码的难度和体量呈指数增长(因为每多一个状态,程序在做任何一个判断的时候,都要去判断一遍它),因此状态的划分要足够合理和精细。

(1)抽象对象:顾名思义,状态用于标注一个东西在不同条件下的情况,那么整理状态迁移前提是先要有对象。

在业务导向型的产品中,这个对象往往是业务操作过程中产生的各种单据。如:订单、退货单、收款单等。

抽象对象的方法是:如果一件事情的完成需要不同的人在不同的节点做不同的操作才能完成,那么这个事情开始的时候就要生一条单据,后面的操作人都是对这条单据的操作。

(2)抽象状态:处理对象的各个流程节点就是状态,但是在梳理流程图时,有些流程节点是辅助性的,它不影响整个业务的流转,这样的节点,不应该被抽象成状态。

比如:在小明吃饭的业务中,评价是一个很重要的流程,顾客是否有做评价也是我们会统计和关注的点,但评价状态并不属于核心业务流,顾客有没有评价跟就餐是否完成一点都不影响,因此评价的状态并不适合抽象成主状态。是否有评价给单据打个标记,能够方便查询和统计就OK了。

在梳理状态迁移的时候,会发现流程里面没有考虑到各种不同的情况,从而反过来指导完善了流程图的设计。

这一节点应该输出:各个对象的状态迁移图。

四、整理场景和规则

有了流程图和状态图,就可以抽象出不同的业务场景。再根据场景逐个细化调研,从而获得业务规则,其中,业务规则细化到每个细节的长度、类型等等信息,是真正走到业务里面了。

(1)抽象场景:对场景的抽象有两步,一是把流程图中的大节点抽象成一个场景,二是对大场景的不同情况进行细分,划分出小场景。

这样做的好处是:总的场景不至于那么多,理解查看和维护都方便,但又不会落下细节和特殊情况,保证产品设计的完整性。

(2)细化规则:有了场景,有了场景下的不同情境,就可以针对各个情境下的业务限制规则进行梳理和调研了。

这一节点应输出:业务场景划分列表、业务细节规则列表,应该注意规则列表是对业务场景的细化和深入。

五、需求输出

有了上面的流程、状态、场景、规则,对业务的理解已熟透到心,该着手设计原型、编写文档了。

这里对文档的结构,我想应该包含这几部分:

  1. 名词解释:第一步已经准备了,整理下放进去
  2. 流程图:包括业务流程和状态图,第二、三步已经准备了,整理下放进去
  3. 按场景划分的章节安排:根据第四步的场景划分,每个场景作为一个章节,场景中不同情境作为小节,具体包含的内容大概有:

(1)单据字段

(2)单据状态

(3)单据搜索

至此,一个业务就被一步步拆分和转换成了功能。

不难发现:拆分过程中输出的文档,最后就是需求文档的每个组成部分,所以,拆分的过程也就是写文档的过程,拆分完了,PRD也就写完了。

 

本文由 @果果 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 新产品的落地差不多经历了这些环节:
    用户需求>-产品需求采集 >产品策划 >产品交互设计 >产品视觉设计 >产品页面重构 >产品研发 >产品测试 >产品发布 >需求收集 >迭代

    那从用户需求到原型生成,是怎么抽象到具象的? 就像生活中 盖房子,拿到的原材料都钢筋 混凝土, 产出的高楼却各不同;
    公司餐厅,厨师拿到的原材料是番茄和面,产出的却是番茄臊子面,为啥不是湖汤面。
    就像你在设计工作中, 我觉得研究用户、组织、竞品、政策, 这些都是原材料, 经你输出出原型时,基本就具体化了,我看网称为具象就也这么说了。 张三拿到同样的原材料,输出了臊子面,李四却输出了糊汤面,这个过程发生了什么?

    一段时间里我对这点很是困惑。

    来自河南 回复
    1. 原材料不能等同于用户需求,这个比喻我觉得不算很恰当
      原材料可以部分看成你获取的信息,产品把这些信息加工成产品方案
      研究用户、组织、竞品这些是为了获取信息和寻找解决问题的途径
      加工后为什么会有不同?原因在于:
      1.用户需求不同,比如大楼的例子,写字楼的用户对楼的需求和住宅的用户对楼的需求,肯定是不一样的,那么自然设计就不同
      2.用户需求相同的前提下,满足用户需求的途径不同,不同的设计可以简单理解成,产品选择了不同的途径;那么优秀的产品选择的途径更优,为什么他能选出更优的?这就是大家常常说的,产品对需求本质的把控。但其实在这个过程中,产品的决策会受到很多很多因素的影响。可能你的选择在当时是最优的,但过了那个时间离开那个环境,就不是最优了。
      我理解这些动作都是在寻求需求的本质和寻求满足这个本质的途径或给自己设计新的途径找灵感(比如我们看竞品,会给我们参考和启发)
      所以在加工过程中发生的不同点就在于,对这些原材料的把控和理解
      我是这样理解的~

      来自广东 回复
  2. 感觉讲的思路很清晰啊,B端产品设计适用。再提一点自己的小看法
    1、单据状态那边用状态机图梳理可能更加直观一些
    2、后台的数据操作涉及到的权限问题 具体到用户-单据状态-操作 可以梳理个表格出来

    来自浙江 回复
    1. 恩恩 是的
      你说的第二个图我有梳理,当时忘记写上去了 😆

      来自广东 回复
  3. 你的单据内容其实就是功能信息图 没必要弄得这么复杂

    来自江西 回复
    1. 你是说单据字段、状态、搜索吗?因为感觉这样更清晰更方便开发理解和阅读。
      那你是怎么表达的呢?

      来自广东 回复
  4. 产品流程不确定性如何拆分呢?比如我有五个操作,用户每个操作可能都是这个五个操作中随机的一个。这种如何拆解功能?

    来自重庆 回复
    1. 这个要看具体的场景吧~不明白你的具体场景,所以不好说呢 😀

      来自广东 回复
  5. 学习了!我公司的产品也是业务型的,之前的梳理感觉比较混乱,看了作者的文章感觉脉络很清晰。如果能举更多的例子就更好了。

    回复
    1. 😆 公司的业务不便于举例子 然后也没想到更好的例子 就先简单写了下

      来自广东 回复
  6. 非常喜欢这篇总结。最近在弄一个平台型项目,很多想法和你文章里谈到的一致。同时也得到了一些启发。谢谢亲。

    回复
    1. 这文章差点被毙了 不过最后发出来了 你这样说我真的好感激好开心 😐

      来自广东 回复
    2. 为啥差点被毙了?

      来自北京 回复
    3. 说是已有相同的内容了

      来自广东 回复