一、浅谈什么是BPM?为什么要搭建BPM?
-
企业的制度有问题,这一点可以参考麦当劳兄弟设计出餐流程,这时候是需要优化流程;
-
没有理解该制度和流程的精髓,因为有时千里之堤毁于蚁穴;
二、设计概要
-
指挥棒:站在管理者角度,依托标准化流程可以指挥企业各项工作的顺利推进;
-
指路牌:在工作/项目角度,在每一个阶段和过程中,告诉执行者应该做什么,应该怎么做;
-
打钉枪:站在员工角度,需要把工作当做钉子,钉在该有的位置;
-
审批流程:比如请假流程、报销流程;
-
工作流程:比如项目交付、合同签订,都是有明确的步骤和业务动作(跟大象装冰箱分3步一样);
-
自动流程:无需人工,满足条件即执行;
-
比如每创建一个客户后,自动给客户发送产品宣传邮件;

-
实例数据:业务对象具体的数据,比如请假单,员工张三请假3天、开始结束时间等,这就是实例数据;
-
业务系统:执行具体业务的系统,考勤系统、CRM系统、费用管理系统等;
-
业务对象:也就是我们常说的表单(实际是有区别,以下皆称为表单,方便理解),比如请假单、订单都属于业务对象;
-
事件:满足一定条件后,执行的工作内容,如发送短信、发送通知等;
三、BPM设计

1. 表单管理:先把工作明确下来
-
表单分类:方便业务处理,比如可以分为财务、销售、考勤,为了适应复杂的业务逻辑,表单分类可放宽到多级分类,建议用4~5级;
-
自定义表单设计:不涉及复杂业务场景的,需要进行流程处理的工作,可以利用表单设计器拖拽设计表单;(可根据业务实际场景,增加字段类型:输入型、选择型、功能型,也可以把常用场景封装为组件)
-
三方表单接入:一般业务都会有自己的业务表单且有复杂的业务交互逻辑,通过表单设计器是无法完成设计的,流程中心也需要对接三方系统的表单;
-
字段管理:表单的字段,需要进行统一的管理;作为中台,需要开发接口,支持三方字段更新,并且中台要能够有一套独立的字段ID映射管理体系,避免多系统、多业务字段冲突。
2. 流程应用:把工作进行拆分
-
查询&赋值:面向对象进行数据查询存储在指定变量中,可在流程中执行变量赋值;
-
审批:由执行人进行审批操作。(通过、驳回)
-
办理:由执行人进行业务办理。(办理、结束办理)
-
确认:执行人仅需对业务数据进行等待并确认。(确认)
-
分派:执行人可以自定义下一个节点的执行人及对应动作。(分派)
-
自动任务:对应的执行人仅接收数据无需进行任何操作,流程自动向下流转。可用于业务数据同步和自动事件执行,如合同签订后,自动生成开票申请并发邮件通知财务。
3. 流程引擎:设计工作流水线
-
人:什么人可以触发流程?发起的数据能够满足触发条件?什么人处理事务?
-
节点:工作流程怎么配置?节点有哪些规则?处理的约束条件有哪些?
-
事:要处理的工作内容?
-
流程名称:名称是为了更好的对流程进行区分,产品设计时,如果相同人群面向同一业务有多种流程时,名称支持流程标签的插入;
-
流程分类:支持从分类中直接创建;
-
流程编号配置:主要用于多业务时,通用的流程编码规则无法快速判断业务,可通过流程编码规则快速区分业务;
-
流程触发器:是指面向单一对象时,判断哪些动作/条件满足时,触发流程;主要包括:按钮触发、页面事件触发、实例数据属性值触发、人员触发;



-
是否支持推进到任意阶段还是必须按阶段进行推进;
-
是否支持流程结束后,重新激活;(比如工单发起人对处理结果不满意,可以申请重新激活)
-
是否支持去重:比如一个人在流程中需要处理多次,是否可以自动跳过;
开始:只有一个,比较明确;

-
条件分支:只能进入其中1个分支,需要添加条件规则,产品设计时条件规则必须配置优先级,不然会出现条件规则交叉情况,导致系统错误,条件分支也可以控制分支流向;
-
并行分支:同时进入多个分支,无需添加条件规则,并行分支要特别注意分支合并的问题,尤其是与条件分支同时使用时;
-
用户:支持多态用户(部门、指定用户、用户组、角色、职能、角色组);
-
流程用户:指定节点的办理人、办理的上级、同步指定节点规则;
-
数据用户:表单内字段对应人/角色/部门、数据相关人(创建人、归属人、修改人、提交人)、数据相关规则(创建人/归属人/修改人/提交人–连续多级/上级/部门负责人);
-
会签:多人时,所有人都需要进行执行办理;
-
或签:多人时,仅需1人进行执行办理;
-
为空:压根没有人时,可以进行指定人、指定管理员、或者支持一些规则,比如连续多级、追踪角色等;
-
离职会影响正常审批,也会造成为空;
-
去重会影响会签/或签;
-
为空追踪会持续为空,应设置管理员托底;



-
加办:分为前置、后置,也会有单人/多人之分;所以,在执行加办时,要能够支持前后的选择,同时也可配置或签/会签;
-
转交:节点当前执行人,因临时情况/不在工作范畴内时,可将任务进行转交,转交是将执行人进行替换,同时继承当前节点执行人的所有数据及规则;
-
抄送:主要用于节点特别需要对部分用户进行数据查阅控制;
-
流程版本:流程在应用过程中,会不断的调整和优化,每次调整都应创建新版本;以避免在运行的流程数据出现问题,也就是说在运行中的流程仍然用旧版本,新发起的/驳回重新提交的,才会使用新的版本。
-
实例编号:对实例数据要进行编码管理,根据业务表单情况,进行编码规则管理;实例数据出现多次触发单一流程或者触发不同流程时,可根据实例编号进行流程数据整合。
4. 事件管理:干完活后是发奖金,还是抽鞭子
-
事件捕获:根据流程中配置的事件触发机制进行定时捕获、消息捕获、操作捕获;为了确保系统的可靠、准确,在产品设计时要有补偿机制;
-
事件触发:当流程执行到事件,会触发一个事件,在流程中,常见的事件类型有通知消息、短信、邮件、业务流程触发、新建/更新表单数据;
5. 流程管理:时刻关注工作的进度
-
流程监控:对流程数据进行实时监控,可查看数据详情和流程实时进度,监控流程的持续时间、完成情况等;
-
流程异常:对流程数据中,如果出现异常情况,进行监控,比如节点为空、审批人离职、流程超时等情况,以方便对应管理员对相关流程进行优化调整;
-
流程强制介入:对流程数据进行强制性处理,常见的有:转交、强行中止;
-
流程时效分析:耗时分析、使用分析、时效分析、超时统计等;

