1886年,卡尔·本茨发明世界第一辆汽车,汽车为人力沟通、交通、物流做出巨大贡献。汽车驾驶员都知道要想驾车上路,第一步是先启动汽车,观察周围情况,再挂档开出,按规划路线出行,如果有问题则停车,直至熄火。
BPM流程活动和驾驶汽车上路活动是否很相近呢?汽车有发动机引擎,BPM有流程引擎。
超越信息化实施BPM的业务与技术路线,将是怎么样呢?
早期实施案例分析
首先,回顾早期实施BPM建模模型,如下图所示简易审批流程图。
Created with Rapha?l 2.1.2开始申请部门经理审批确认?领导审批同意?结束yesnoyesno
关于申请活动
在业务申请活动中,使用BPM引擎模型局部表示是:
Created with Rapha?l 2.1.2开始申请部门经理审批
用户体验流程局部模型表示是:
Created with Rapha?l 2.1.2申请(开始)部门经理审批
如上图所示模型中“申请活动”表达是启动流程并送到下一环节,越过启动及启动处理环节。这样申请人无法结束流程,就好像汽车驾驶员上车开车就出发,不能停车。
通过分析,得出如下结论:
- 流程申请人操作便捷,但是牺牲了流程处理的灵活性、合理性;
- 流程差错处理能力不足。
关于退回处理
按模型所示,领导可以直接把流程申请单退回给申请人,而国外的BPM流程引擎仅仅支持流程回退上一环节功能,这样是否可以把流程管理活动理解如下:
- 直接退回申请人的处理,就好像驾驶员按路线驾驶汽车开出100公里时,突然在某个关口下道,直接回到起点,而不是原路返回,那么,是有近路不走呢,还是原规划路线有问题呢?
- 直接退回申请人处理,从流程操作角度看,非常便捷——快!那么设置中间活动环节是做什么用的呢?问题出在申请人还是中间环节呢?
- 为什么不原路退回呢?是管理不了还是怕追责呢?
上述理解很不合适,流程设计者初衷也不是这样的,这样的问题如何解决呢?
优化BPM实施模型
首先,仍以上文简易审批流程为例,调整申请活动环节,以及退回申请人处理。
Created with Rapha?l 2.1.2开始申请继续?部门经理审批确认?领导审批同意?结束结束yesnoyesnoyesno
由于画图表示原因,注释说明如下:
(1)部门经理可以退回申请人
(2)领导可以退回到部门经理
退回申请人的操作,按原路退回方式完成。
关于优化申请活动
在业务申请活动中,使用BPM引擎模型局部表示是:
Created with Rapha?l 2.1.2开始申请继续?部门经理审批确认?结束yesnono
通过上述优化,申请活动环节具有结束流程能力。如下图所示,基于Cordys BOP 4平台建模样例,供参考。
优化申请活动环节操作顺序如下图所示。整体上为申请人增加了一次处理待办任务操作(图中第3步),此待办任务内含有顺序送给下一活动环节和结束流程两个分支。
Created with Rapha?l 2.1.2申请人申请人业务申请业务申请待办任务待办任务1.保存申请单()2.启动流程送出()3.选中所启动的流程()4.展示申请单()5.填写意见()6.送出流程()
注:此种建模方式,申请人也可以填写流程处理意见。
关于退回处理优化
按规范化流程管理,不存在退回处理业务,仅存在退回上一活动环节业务。合理流程建模方法如下:
- 按业务本质要求,合理安排跳转,通过画流程跳转线的方法,处理类似退回的业务;
- 通过管理手段解决,在任何时候都会有异常情况,例如系统故障所造成的问题,需要退回到申请人,对于类似这样的异常情况,可以通过运维手段,后台人工/自动处理。
流程优化方法总结
流程优化、流程再造是个系统化工程,在这里仅从常见问题进行技术优化总结。
首先,设计流程原则:
- 流程活动环节各负其责,工作路径清晰;
- 流程活动环节仅允许退回上一活动环节,不允许跨活动环节退回;
- 除了退回和分发活动环节,不允许有二次经过的活动环节
常见问题或需求及解决方案如下表所示:
问题或需求 | 解决方案 | 说明 |
---|---|---|
任意退回需求 | 通过后台运维按异常进行处理 | 属于不符合规范情况 |
申请人结束流程 | 增加申请活动环节 | 不建议使用启动来替代 |
无序多环节并发 | 使用活动环节或子流程并发处理 | 例如Cordys上For Each循环 |
顺序工位多活动环节退回 | 通过画关联线处理 | 业务需求,麻烦是必须 |
活动环节多有不用的情况 | 梳理拆分为多个工作流 | 一个业务分拆成多个流程 |