本文将从角色、内容、流程、动作、权限、配置、效率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的权限管理系统 六. 配置和扩展性 审批工作流的配置灵活度和开发复杂度成反比,具体要灵活到什么程度,需要由业务需求决定。一般针对公司开发的中后台系统,灵活性相对较少,而面向多个公司的商业化的系统,则灵活性要求大大提高。配置的灵活性体现在以下方面: 审批流程的类型可修改 具体的审批环节可增删改 各个环节审批人/角色可配置 审批相关的权限可变更 七. 效率 工作流的核心目标是提高企业运行效率,如果线上审批流程效率还不如原来的纸质操作,那这个流程的设计就是失败的,也失去了意义。因此,在完成整个审批流程的设计之后,我们还需要花大精力对流程的效率进行审视和优化。对于审批流程效率的提升,总结的经验点如下: 审批的操作尽可能精简,且操作含义明确 只要求输入必要的表单 待审批事项及时通知到审批人 审批进展及时通知发起人 发起人可选择主动催促审批人 做好下一步操作的引导 总结 审批流程是中后台工作流的基础应用,我们在设计的过程中,把握的核心要点是"提高效率,规范管理",在设计过程中要时时回头审视,以免脱离了这个最重要的目标。