实例解析业务流程图与产品流程图

59 评论 223873 浏览 1389 收藏 8 分钟

这篇文章的目的很简单:通过电商的实例,将业务流程图和任务流程图之间的关联和区别以及在产品中的应用,讲解清楚。

流程和流程图

首先来看流程的定义:

《牛津词典》里,流程是指一个或一系列连续有规律的行动,这些行动以确定的方式发生或执行,促使特定结果的实现; 而国际标准化组织在ISO9001:2000质量管理体系标准中给出的定义是:“流程是一组将输入转化为输出的相互关联或相互作用的活动”。

由上面的两个定义,我们可以提炼出流程不可或缺的因素:对象、输入、动作、输出。

  • 对象就是执行人,也就是产品中的用户;
  • 输入可以理解为前提、前置条件;
  • 动作,就是产品中的操作,可以是点击、输入,等等;
  • 输出,可以理解为结果、动作的目的。

需要说明的是:

  1. 产品工作中,输入和输出的形式并不局限,可以是事件,也可以是动作;
  2. 在思考输出时,也不能仅仅考虑用户端的输出结果,同时要思考后台可能产生的输出(比如数据的变化);
  3. 在相连的环节中,通常上一个环节的输出即为下一个环节的输入。

明确了流程的定义和要素之后,顾名思义,流程图就是将流程表达清楚的图形,流程图只要表达清楚一件事:什么对象在什么前置条件下执行了什么操作,产生了什么结果。

流程图的制作方法和工具,已经有很多的介绍,这里不赘述。产品工作中常用到业务流程图和任务流程图,下面将通过实例讲述我所理解的两种流程图的联系和区别。

业务流程图

业务流程图的作用是表达清楚业务需求在产品线的各个阶段中在各个功能模块之间的轮转。

通常情况下,一个业务需求不仅仅对应一个功能需求,而是由多个功能需求组成的,举例来说:业务需求是注册,那么功能需求就包括填写信息的正则校验,验证码的生成与校验,注册协议查看(和勾选),此外,后台还要有账户生成与信息记录的功能,需要手机注册的还要有短信的发送与验证功能(邮箱注册同理)。

可见,业务需求要求概括精炼,功能需求要求详细具体。一个业务需求通常涵盖多个功能需求,涉及前端展示、后台记录等多个部分,所以业务流程图通常复杂详细,尽量能够涵盖各种异常情况(每种异常情况都有相应的前、后台解决方案)。

业务流程图的绘制思路一般是:

  • 首先将业务按阶段划分,比如电商类可以分为下单和支付,单车类可以分为提车、骑行和停车;
  • 然后列出每个阶段参与的功能模块,比如下单阶段,就有商品查看、登录/注册、信息记录、个人中心等功能。
  • 最后按照时间顺序,画出业务需求在各个功能模块之间的流转情况。

为了输出一份完整的业务流程图,一般有两个原则:

  • 先思考主干流程,再思考分支流程,主干流程逻辑准确,分支流程全面无遗漏;
  • 表达清楚后台产生的各种判断及相应的前端展示,这将作为接口设计的重要根据。

下面以电商购物的实例,绘制一份业务流程图

一个完整的电商购物流程,通常包含两个阶段,五个部分,两个阶段就是下单和支付,五个部分是用户、交易、账号系统&个人中心、支付系统和CRM系统,如果仅仅从用户角度出发,很难考虑到后台各种判断和操作,那样就变成了任务流程图,而这个图中包含了购物流程的用户操作、前端展示和后台判断,体现了实现购物业务所需要提供的功能和各部门的支持,在这个图中也能看出所需要的接口和数据。

业务流程图应该是拿到业务需求(或BRD)后,首先输出的文档,而且并不是一成不变的,会在对业务需求或者BRD的多次讨论中不断补充完善,最后成为整个项目的标杆文件,在构建技术架构和技术分工时,将其作为主要参考。所以,绘制业务流程图时,一定要逻辑清晰,不能遗漏任何一个重要部分。

任务流程图

任务流程图表达的是用户在执行某个具体的任务时的工作流程。任务流程图可以理解为一个简化版的业务流程图,只有主要的操作步骤,通常在写用户体验报告时,利用任务流程图表达页面流转和主要操作,同样以电商购物为例:

由上可见,相比于业务流程图,任务流程图的特点是:

  • 只展现用户的操作,不展现后台的判断;
  • 只展现正常流程,不展现异常流程;
  • 只可查看用户的工作流程,无法作为开发的参考。

不管是绘制业务流程图还是任务流程图,重点都应放在逻辑关系上,而不是图形本身的细节。说到底,流程图只是帮助我们更好地进行分析思考的工具,能够画出逻辑清晰的流程图,不一定对每个模块都了如指掌,但如果流程图逻辑混乱、含糊不清,那么肯定要反思是不是对业务需求或者功能需求的理解不清晰。作为刚入门的新手,结合思维导图,经常分析产品的业务流程和任务流程,对提高逻辑感和产品思维,还是很有帮助的。

 

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

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

    来自北京 回复
  2. 体验地图

    回复
  3. 我的Mac貌似用不了Visio

    回复
    1. visio在Mac上面不能使用,只能用其他软件了

      来自宁夏 回复
    2. 一个Axure几乎全部解决

      来自辽宁 回复
    3. mac使用亿图图示

      来自广东 回复
    4. 可以使用 简图创作,不需要下载软件,价格比较亲民

      来自北京 回复
  4. 请问交易什么什么鬼?属于角色吗?

    来自河南 回复
    1. 是个动作 可能作者想表达的是交易系统或者平台吧

      来自广东 回复
  5. 萌新问下一下,做流程图什么软件好用(✪▽✪)

    回复
    1. Visio

      回复
    2. 个人感觉Axure可以解决一切

      来自辽宁 回复
    3. 在线工具process-on

      来自云南 回复
  6. 感谢分享,我认为这篇文章的核心是,业务流程图是完成一项业务所涉及到的所有动作,任务流程图是完成一项任务的用户所需要设计的动作。就这就对小白来说挺有启发的,至于文章细节方面有错误倒无伤大雅。不过看评论里的大佬争论各种细节倒是开阔了一些视野。

    回复
  7. 非常感谢分享,受益匪浅

    回复
  8. 感谢分享,很有启发。终于搞清楚了业务流程图和任务流程图

    来自重庆 回复
  9. 感谢分享,有所启发,但是少部分地方不能苟同。crm系统不包括库存的减少吧

    来自重庆 回复
  10. 你好,流程图中的“是否支付超时”的判断是不是写反了?往下的是“否”哦

    来自广东 回复
  11. 业务流程图和系统流程图结合在一起了,然后一个流程图中不能有多个结束吧

    来自浙江 回复
  12. 标题中说的产品流程图呢

    来自江苏 回复
    1. 这里是标题写错了,抱歉,应该是任务流程图

      来自北京 回复
    2. 而且你的这个业务流程图有点像我们业务流程图和系统流程图的结合

      来自江苏 回复
    3. 可以微信交流不?学习下

      来自湖北 回复
    4. 微信号 Leejx12138

      来自广东 回复
  13. 知道了任务流程的概念,受教了。不过业务流程图不是只能串行么?你的流程图里有并行线,有点像UML里的活动图。

    来自北京 回复
  14. 有启发。很多部分活动和判断是不是可以合并呢?

    来自山东 回复
  15. 貌似你并没有接触过太多关于CRM的东西,你的图里面CRM部分的流程实际是OMS或者WMS负责的,CRM是不负责订单状态的。

    来自上海 回复
    1. CRM既不负责订单状态,也不负责库存管理。库存这块应该类似于WMS。OMS在不同行业的叫法不一样。

      来自浙江 回复
  16. 挺好的。学习了。

    来自四川 回复
  17. 一般

    来自广东 回复
  18. 感谢分享,挺实用的

    来自广东 回复
  19. 有个疑问,业务流程是对整个需求的概括,没有提到异常流程;那么在任务流程中如果不体现异常流程的话,请问异常流程该如何说明,难道在PRD中吗?

    来自广东 回复
    1. 异常情况应该表现在业务流程图中的呀,任务流程图其实不太常用的,其中也不需要表现异常流程。此外,prd和原型中也应该相应地体现出异常流程

      来自黑龙江 回复
    2. 我也有同样的疑惑,业务流程本来就涉及各主体,如果加上异常情况,那流程图就很复杂了,而任务流程更简单,更详细,却不写异常流程,为什么?

      来自四川 回复
    3. 我的理解是,既然叫业务流程图,那么流程图里必然包含整个业务从头到尾的信息、数据的流转,保证业务能走通,包含各种分支。异常处理也应包含在内,这样才是逻辑严谨、面面俱到,有说服力的。

      来自浙江 回复
    4. 业务流程图只是让你梳理业务的大体流转,知晓业务是什么的。

      来自河南 回复
  20. 作者看来要么是哪家电商的实习生,要么是其他行业的在yy电商后台流程。。。

    来自上海 回复
    1. 对啊,是实习生啊,但是并不是哪家电商的,只是对这方面感兴趣点,如不嫌弃,留微信详细交流可否?

      回复
    2. 能指出问题嘛,新人看不懂。。。。

      来自浙江 回复
  21. 文章标题是“实例解析业务流程图与产品流程图”,文章第一段“通过电商的实例,将业务流程图和任务流程图之间的关联和区别以及在产品中的应用,讲解清楚。”
    你讲明白你要讲的是业务和产品流程图的区别 还是 业务和任务流程图的区别。本来概念就混淆,这不更混淆了嘛

    来自北京 回复
    1. 讲解的是业务流程图和任务流程图,这里是标题笔误了,抱歉

      回复
  22. 可以采用虚拟库存,然后一段时间后,未支付就自动按照实际内容恢复虚拟库存的方法?

    来自北京 回复
    1. 不知道你所说的虚拟库存,和流程图中的库存的区别。我的理解,这两者应该是同一个概念,即使另开一个空间存虚拟库存,那虚拟库存的数据也是要和实际库存的数据完全打通的啊,其实也就成了一码事了

      来自黑龙江 回复
  23. 而且这里也没体现物流、运能、ERP流程,也没有完整逆向流程,缺失了很多环节的判断…

    来自北京 回复
    1. 您好,小生刚入产品不久,对于这个电商购物这方面的流程等相关可否指点一二?

      来自广东 回复
  24. 这个电商流程是有问题的,你这购物车要在订单的前面,校验库存和锁库存都要在提交订单之前,否则会造成大量逆向订单出现…

    来自北京 回复
    1. 上面那个业务流程,是忽略了购物车的,里面没有购物车的功能;至于校验库存和锁库存的问题,是在用户发起下单动作之后,到确定生成订单之前的,不应是用户“提交订单”动作之前的吧

      来自黑龙江 回复
    2. 按照你的流程,我填写配送信息之后,提交订单,校验库存,库存为0,然后订单提交失败,你觉得用户体验合理么?并且高并发怎么处理?提交订单,让用户一直在订单提交中异步等待么?
      再换个角度,按照你这流程,提交订单成功了,这时候是直接操作减库存了,相当于你根本没锁库存,商品售卖没有锁库存,ok么?
      希望对你有帮助:)

      来自北京 回复
    3. 我理解您的意思了,非常感谢您解释的这么清晰。
      我这个图中将锁库存和减库存当成了一回事,确实不正确;也没有考虑到配送信息填写页之前要进行库存检验的步骤。
      我认为并不是在进入配送信息填写页时锁库存,而是在下单后(支付页之前)时锁库存,这里参考了淘宝双十一,在双十一中,也确实存在填写配送信息成功后,订单提交失败的情况,用户体验确实很糟糕。而减库存是在支付成功后进行的。当然您说的,在确认订单信息(包括填写配送信息)页锁库存确实也是可行的,但是这样,好像和加入购物车时减库存差别不大,都是在生成订单之前。还希望能继续讨论。

      来自黑龙江 回复
    4. 不聊了,顺便说一下,淘宝是在加入购物车锁库存的。

      来自北京 回复
    5. 你好,想顺便问下,淘宝如果是在加入购物车锁库存的话,拿很多人不都是加入购物车不购买占库存么?

      来自美国 回复
    6. 感觉你们这里应该有两个概念,一个是锁库存,一个是减库存。一般电商是有两种减库存的方案的,支付减库存和下单减库存,主要目的是防止恶意刷单和超卖的情况出现。而库存锁定是指在某段时间内用户可以通过下单或加购物车行为将某件商品冻结,用户有一段时间的商品拥有权,不过这一般都不会是长期的,通常会有一个锁定库存释放时间,避免某些用户长时间占用,如:未支付订单或者长期存放购物车的商品,这就说明为何我们在购物车的商品会出现失效的现象。

      来自广东 回复
    7. 亲自测试,加入购物车并没有锁库存

      来自广东 回复
    8. 据我了解,淘宝是提交订单锁库存,支付减库存的,叫锁单/锁货,跟京东一样,订单取消或超时取消才释放库存,国外有些电商是没有提交订单再支付这种做法的,一般是提交订单-支付同时进行的,所以加入购物车就锁库存这种方案比较适合国外的电商。国内的话,唯品会就是加入购物车就锁库存,不过十几分钟就要提交订单,否则释放,提交后一定时间要支付,否则也释放。

      来自广东 回复
    9. 现在淘宝提交订单也不锁库存了。。。放着没付款,第二天没库存了直接无法付款

      来自福建 回复
  25. 能否加一下您。我的微信shaowenbin0917

    来自上海 回复
    1. 可以加的,我的微信号:LeeJX12138(PS:这篇忘记在末尾加微信号了……尴尬)

      来自黑龙江 回复
  26. 判断库存不应该放在提交订单等前面吗?没有尊重用户劳动成果呀

    回复
    1. 你说的是对的,用户进入订单确认页之前应该判断是否超出限购要求、活动是否结束和是否有库存的,这里是我遗漏了,感谢提醒

      来自北京 回复