探讨BPM流程申请活动与退回操作的建模

来源:互联网 发布:网络音频编码器 编辑:程序博客网 时间:2024/04/30 02:06

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循环 顺序工位多活动环节退回 通过画关联线处理 业务需求,麻烦是必须 活动环节多有不用的情况 梳理拆分为多个工作流 一个业务分拆成多个流程
1 0
原创粉丝点击