设计原理
本文从一个合同审批流程角度对工作介绍的设计原理进行了流,可供大家一同参考和学习。
写这篇文章的意图并不是为成熟工作流引擎知识徒增一篇文章,也不是深入介绍JPBM、Aactivity等工作流引擎技术和涡轮数据库结构。而是因为当前转ToB的产品经理多了,但提及这块儿就很难深入。虽然有不少介绍工作流的学术论文,但大多是直接介绍BPM的体系,很少有从业务角度出发介绍为什么这样设计,下面我就一个从试着合同审批流程角度介绍工作流的设计原理,希望对大家有能够帮助。
工作流简介
工作流(Workflow),指“业务操作过程的部分或整体在计算机应用环境下的自动化”。是对教育工作流程及其各操作步骤之间抽象化业务规则的抽象、概括描述。在计算机中,工作流属于上涌计算机支持的协同工作(CSCW)的一部分。其主要解决的主要问题是:为了实现某个业务终极目标,利用计算机在多个参与者之间按某种预定外在标准自动传递文档、信息或者任务。说白了就是按照怎样顺序、做什么、由谁来做。
1993年工作流管理联盟(WorkflowManagementCoalition,WfMC)作为工作流管理的标准化组织而成立,标志着工作流技术逐步走向成型。WfMC对工作流给出定义为:工作流是指两大类能够完全自动执行的其他工作经营过程,根据一系列投资过程规则,将文档、信息或在不同的执行者之间进行传递与执行。此项工作流无论是流减少人为操作,提供工作效率,还是优化线下业务流程,大大提高管理水平均有很大的帮助。
第一个工作流经历了第一个阶段的“无纸化、重复工作、流程孤岛、系统孤岛、数据孤岛”过程,目前正在实现“智能化、效率质量提升、外部数据整合、消除信息孤岛、内部数据整合”的第二阶段。
1. 合同审批流程
所有的信息化都是为了解决业务上需求,首先我们了解企业合同管理制度中流程是如何完成的。下面是一个比较通用合同审批流程图。 这算是一个常规的大企业合同审批流程,如何利用信息化实现具体合同审批流程?简单,将每一步及其规则固化带代码中。如果换一份合同?如果换一种业务?如果规则变动?如果需要每个节点有所不同触发不同业务,显现不同信息?如果人员变动了?如何组织机构变动了?能够这个时候就需要我们抽取其中的共性,将其引擎化,能够通过配置想要达致系统的灵活性。
2. 工作流引擎设计
下面我们从业务出的角度逐步抽象出基层工作流引擎的设计。遇到复杂问题一方面我需要按照第一性原理寻找最本质的需求,另一个更常规的思路就是分解,对问题需要进行分类分级处理,各个击破。其实,还有一种完全交个用户自己最合适,如钉钉审批流程。但大型企业流程的作用操作方法除了提高效率,还需要减少人为操作、控制合规风险,完全交个用户选择的流程使用较少。
从上文的流程图中会,可以恰当抽取出流程、环节、连线、角色、组织等主要对象,还有一个就是与外部(业务)发生关系的接口。它们之间简单的关系相互之间就是流程由环节和联系组织,环节上为有角色和组织属性,接口可以在连线上才,也可以在环节上,下面一步步解释。
(1)流程分类(流程太多)
如果设计一个通用的工作流引擎,面对的各种业务流程、行政许可流程可以说成千上万,怎么办?首先想到的就是对流程进行类别,
对相同类型的流程进行统一处理,降低操作流程需求复杂度和维数耦合度。目前业务操作相关服务不同进行分类的,如请假流程、报销流程、服务合同审批流程等等。
(2)自定义具体流程(一种业务流程还是太复杂)
如何合同审批流程,不同企业、不同种类,审批流程还是不一样。继续细分类别可以解决之道解决问题,但分到最后流程就需要多少个环节以及之间拆成的关系是什么还是不确定,交个用户和用户运维医务人员搭建流程,由他们自己定义。定义流程的名称、流程的环节、环节顺序(连线)、环节参与人员等。
(3)自定义具体环节(环节定义最复杂)
环节需要一般性步骤到做什么工作、谁来做、怎么做等,但这三个主要因素都是变量,做什么工作(即查看什么表单,同意、退回、驳回等),谁来做(通过组织、角色、群组框定出可以参与的候选人),怎么做(并行、串行等),这些都需要通过配置实现。另外,可能需要配置出发的其他业务事件等,如何合同审批完毕后自动生成合同编号。
(4)环节间的连线
上文提到在实际业务审批中,涉及合同条款金额的服务合同必须经过财务审批,说明流程的走向与业务属性发生了关系。因此,我需要设计在节点间连线上为设置业务条件,或设计可以进行业务判断的信道,满足这种业务需求。
(5)流程实例(每个流程)
上面一个讲到的都是配置一种流程,即将审批制度步骤和规则放到系统中,但实际的一份合同审批流程信息即流程实例必须记录下来,一是为了留痕,再者就是流程审批中会发生退回和返回需要用到这些交还数据,每个操作流程审批的业务唯一唯一标识,每个环节天数实例可能需要记录谁在什么时间、什么意见等。
(6)流程版本(流程变更)
业务上才流程变更了怎么办?这就需要对流程进行管理体制版本管理,可以实现流程变更前已经提交的流程,按照之前的版本继续成功进行,而流程变更后提交的流程按照最新版本进行。
(7)流程关联
本单位的流程审批完毕后,符合上报条件需要启动上级工作流程;合同审批流程中,同一个会签部门内部的流程本身就比较负责,需要为会签部门搭建单独蓝斯的审批操作流程,嵌入到合同审核流程中。以上两种情况就涉及到流程关联和子流程的问题,需要进行设计。
(8)流程设计器
以上的以下操作如果没有图形化支持,根本无法完成,因此,一个图形化的流程设计器是必须的。
这里只是简单介绍了一下工作的流程设计原理,还有很多复杂深入的需求和没有提到,但是有了框架和整体认识后,完全可以根据市场需求消费市场进行改进和设计。
因篇幅问题不能全部显示,请点此查看更多更全内容