7个方面总结:审批工作流设计

17 评论 77500 浏览 441 收藏 12 分钟

本文将从角色、内容、流程、动作、权限、配置、效率7个方面,对审批工作流的产品设计进行总结。enjoy~

工作流是后台系统的核心和灵魂,而审批则是工作流中的最基础的应用场景。在公司管理和运转中引入审批工作流,替代原本的纸质申请和审批,可以达到以下目标:

  • 提高公司的运转效率
  • 公司管理制度规范化
  • 系统留档,便于追溯
  • 环保

本文将从角色、内容、流程、动作、权限、配置、效率7个方面,对审批工作流的产品设计进行总结。

一. 角色

在一个公司中,每个人都会有自己的岗位职责和层级之分,不同的岗位和层级定位不一样,需要完成的任务也不一样。在审批流程中,我们只抽象划分为两类:

角色1:发起人

审批的发起人需要完成的主要是事务性、操作性的工作,同时也是一个审批流程的Owner,是最关心审批进展的人。因此在发起人的角度,在创建完审批事项后,还需要完善相关信息、催促审批人及时审批、处理驳回修改意见、重新提交等。发起人角度设计的要点总结如下:

  • 兼容统一发起入口和业务场景触发
  • 常用的审批事项要方便找到
  • 有统一汇总的审批管理页面

角色2:审批人

审批人在流程中需要完成的主要是决策性的工作,因此在审批人的视角,内容和操作都应该尽量精简:

  • 只看到最重要的信息,避免信息过多影响判断
  • 只进行必要操作,不能有过多选择或过多输入,影响决策效率
  • 统一的页面进行审批操作和管理
  • 需要有审批历史,以便追溯

二. 内容

1. 提炼最小集合

根据审批事项的不同,需要流转的内容也是不同的。对于审批流程的设计来说,需要在实际业务中提炼出最核心的内容,一则可以减轻发起人的工作负担(发起一个审批要填一堆的资料相信没人会开心),二则可以提高决策的准确性和效率。

例如一个请假审批流程,核心就是请假时间、事由和请假类型;而一个立项投决的审批,则需要重点展示立项会的表决结果,同时还需要把会议记录做为附件带上,以便在必要时可以查看,在交互上,这里同样需要注意内容的归类、收纳。

设计要点总结如下:

  • 内容尽可能精炼
  • 有些内容是必要的,但系统可以自行获取就不要让发起人再输入一遍
  • 预置常用的内容,用选择的方式替代输入的方式,同时也提高了内容的规范性

2. 查看和修改

在审批的过程中,有时候需要让不同的审批人查看不同的内容,且限定有些人有修改权限而有些人只有只读权限,这都会在后面的“权限”里总结。

三. 流程

1. 自主选定审批人流程

这是一种比较轻量、灵活的审批流程形式,适用于公司规模不大、流程没有标准化的情况。要点是发起人发起一个审批事项并提交时,需要自行选择下一个环节的审批人。而下一个环节的审批人审批通过后,可以选择继续流转到再下一个人去审批,或者结束这个流程。

2. 串行流程

串行流程就是每一个审批环节的人审批通过后,才会进入到下一个环节。每个环节的驳回,可以根据业务需要,设计成驳回到发起人、驳回到上一个环节或驳回到指定环节重新审批,或兼而有之,做为选项供审批人选择。

3. 并行流程

并行流程是一个审批环节需要几个人或角色审批通过才算通过,可以有以下两种方式:

  • 任意一个人审批通过即进入下一环节
  • 必须所有人审批通过才进入下一环节

上述第一个方式比较好理解,第二个方式和串行流程容易混淆,即同样是要多个人审批,到底是一个接一个、还是同时通过才算通过?到底用哪种方式,区别是审批人是不是同一个级别,并行的方式其实类似于同级别的会签,而串行方式适合有上下层级关系的情况。

并行流程的驳回则相对简单,一般是设计成有一个人驳回则该环节即算驳回。

4. 条件触发流程

条件触发流程在审批工作流中也比较常见,设计上就是某个审批环节要由谁/或哪个角色审批,需要取决于条件判断。例如金额低于1万元由财务总监审批通过后即结束,金额在1万元以上则由副总裁审批通过后即结束。

5. 混合流程

混合流程顾名思义就是混合了以上几种流程,还是以上述金额审批为例,我们修改成:金额低于1万元的,由财务审批通过后即结束;金额在1万元到10万元的,需要先由财务审批,之后交由副总裁审批通过后即结束;金额高于10万元的,需要由董事长和总裁一同审批通过后才结束。

四. 动作

1. 通过

通过动作由审批人操作,是否需要输入通过原因、通过原因是否必填需要根据实际业务情况决定。要点总结如下:

  • 简单申请不需要填写通过原因,或者原因选填
  • 通过原因需要填的话,可用于反馈或激励发起人的情况

2. 驳回修改

驳回修改动作由审批人操作,和通过不同,为了让发起人知道如何修改,驳回原因一般需要设定成必填项,否则发起人或上一个审批环节的人不知道为何被驳回、以及要如何修改。

驳回修改可根据业务需要,在以下逻辑中选择:

  • 驳回到发起人
  • 驳回上一环节
  • 驳回到选定的之前的某个审批环节

3. 重新提交

重新提交由发起人操作,和驳回修改是一一对应的。设计上要注意,审批人审批重新提交的内容时,需要附带上一次驳回修改的原因。

4. 取消

取消动作可选,一般来说是发起人取消,而不是审批人取消,原因如下:

  • 审批人只关心一个审批事务过来后,判断并决策是通过还是驳回
  • 取消和驳回含义容易混淆,区分不开

在设计上,我们还可以做到发起人是否可取消可由配置项进行配置。

五. 权限

权限的控制贯穿在审批流程的方方面面,上述的角色、内容、流程和动作都会涉及到权限的控制。权限体系的设计是一个大工程,在审批流程中,采用基于角色的访问控制体系(RBAC)是一个不错的选择:

“基于角色的访问控制体系,包括用户、角色、目标、操作、许可权五个基本数据元素,每个角色至少具备一个权限,每个用户至少扮演一个角色,可以对完全不同的角色分配完全相同的访问权限,用户和角色是多对多的关系。”

设计要点总结如下:

  • 操作和许可权内容,可区分为功能权限和数据权限
  • 什么人可以发起什么审批,由功能权限控制
  • 什么人/角色在整个审批流程中可见什么数据,由数据权限控制
  • 什么人/角色可以审批什么环节,由独立的审批配置控制,下一节会进行阐述

关于权限可以参考笔者另一个篇文章:面向中小企业SaaS的权限管理系统

六. 配置和扩展性

审批工作流的配置灵活度和开发复杂度成反比,具体要灵活到什么程度,需要由业务需求决定。一般针对公司开发的中后台系统,灵活性相对较少,而面向多个公司的商业化的系统,则灵活性要求大大提高。配置的灵活性体现在以下方面:

  • 审批流程的类型可修改
  • 具体的审批环节可增删改
  • 各个环节审批人/角色可配置
  • 审批相关的权限可变更

七. 效率

工作流的核心目标是提高企业运行效率,如果线上审批流程效率还不如原来的纸质操作,那这个流程的设计就是失败的,也失去了意义。因此,在完成整个审批流程的设计之后,我们还需要花大精力对流程的效率进行审视和优化。对于审批流程效率的提升,总结的经验点如下:

  • 审批的操作尽可能精简,且操作含义明确
  • 只要求输入必要的表单
  • 待审批事项及时通知到审批人
  • 审批进展及时通知发起人
  • 发起人可选择主动催促审批人
  • 做好下一步操作的引导

总结

审批流程是中后台工作流的基础应用,我们在设计的过程中,把握的核心要点是“提高效率,规范管理”,在设计过程中要时时回头审视,以免脱离了这个最重要的目标。

 

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

题图来自 Pexels,基于 CC0 协议

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

    回复
  2. 不错,简单明确,清晰

    来自河北 回复
  3. 您好,请问混合流程在前端界面如何展示的?

    来自上海 回复
  4. 一个问题,例如以下流程
    A-B-C-D-E-结束;
    D节点驳回;
    重新提交方案是?
    ①重走流程
    ②直接到D

    来自江苏 回复
    1. 如果是自定义流程的话可以根据所设置的节点退回,然后再自行选择下一审批节点

      来自山东 回复
    2. 这个肯定根据审批内容有误变动来定,内容变了一定要从头审批;反之,若没变的话再具体说,两个可能都行。

      来自安徽 回复
  5. 最近也在优化审批流程,看了很多还是觉得博主总结较为到位和深刻,希望有机会可以交流交流

    来自北京 回复
  6. 文章写得很好,学习了。

    来自广东 回复
  7. 这是好文章

    来自四川 回复
  8. 【功能权限】如果有【审批】类的权限设置,是否会与【工作审批流】的设置相冲突?如果要融合两者,是否【功能权限】用来定义【菜单】和【增删改查】等,而【审批权限】在【工作审批流】中进行设置为好?

    回复
    1. 审批权限就是功能权限吧

      来自湖北 回复
    2. 不一样的

      来自广东 回复
    3. 我也有类似的疑惑,在解决不了或者时间紧迫的情况下,我的做法是把功能角色和审批流角色分开考虑,功能角色只考虑查看和操作权限,审批流角色决定是否处于工作流中的某一个节点。如果想要两者融合,我认为需要进一步梳理清楚内在逻辑,比如说审批流节点可能与岗位层级相关、或者属于同一类角色的自动流转……等等,但还没有总结出合适的方法。

      回复
  9. 算是有经验的

    回复
  10. 工作流的设计应该先分成两个部分吧。一是表单的自定义,就是流程中流转的表单需要通过表单设计器来完成,可以最大限度的满足业务的需求。
    二是流程的自定义。就跟我们画流程图一样,由一个一个节点构成。每个节点需要控制到节点对应的表单(表单应该有本节点查阅的表单,同时也需要权限去控制查看的内容,同时需要在本节点控制是加入新的表单),节点的处理人(按角色、按岗位,按操作员,按特殊方式如上一节点指定等),处理方式(并行、串行),处理操作(审批或继续填写)。节点与节点直接的连接如果出现了分支的情况,就会加入分支条件的控制。

    来自广东 回复
    1. 同意!流程的自定义的实现各种个性化审批流程配置的关键,然后就是基于自定义流程的应用了。

      来自广东 回复
    2. 你好,最近在做一个类似的东西,我的想法和你的很像,方便加好友请教下吗

      来自江苏 回复