基于WF设计业务流程平台_流程的层次
我在[同一流程多种状态]中谈了同一流程,由于观察者的不同,会出现不同的状态.
本文我还是从流程的视角上淡一下流程的层次这个问题.
注意,在这里,我说的[流程的层次]与我常说的功能封装不是一个概念,下图是一个功能封装的例子
在这个例子中,[通知]与[发电了邮件],[发短信] 不是同一范围的概念,
[通知]是一业务行为,
对做出人来讲是一种义务,告知义务
对接收人来讲是一种权利.知情权
而[发电了邮件],[发短信] 只是一种手段,是实现[通知]这种业务行为的一种具体实现手段
而我要说的流程的层次是指业务范畴上的层次
先看一个例子:
这是一个没的层次的流程,虽然,事情就是按照上面的流程办理的.但由于设计时没有考虑流程的层次,将带来很大的弊端(弊端我以后再谈),
下面看一下我的改进
这是一个有层次的流程的流程,从流程的上层管理者看,流程只的三个阶段[方案制定阶段],[方案审批阶段],[方案实施阶段]
下面是展开效果:
展开后,在[方案制定阶段],[方案审批阶段],[方案实施阶段],各自有各自独立的空间.
在这里,
[A部门]知道制定方案的过程 : [业务员提交方案 -> 主管理审核方案]
[B部门]知道审批方案的过程 : [主管理分配分析方案的任务 -> 业务员分析方案 -> 主管理审批方案]
在这里,[A部门]内部永远不知道[B部门]是如何工作的,甚至可以不知道[B部门]的存在
而[A部门]内部办事方式的变化,出不用告知[B部门],[B部门]只关心[A部门]何时将什么交给他们
这时,其实我们有了四个流程:
-
[方案制定 -> 方案审批 -> 方案实施] 流程
-
[A部门方案制定] 子流程
-
[B部门方案审批] 子流程
-
[C部门方案实施] 子流程
当然,[方案制定 -> 方案审批 -> 方案实施] 这个流程也可能是其它流程的一部分
[B部门方案审批] 中的[审批方案] 也可能有下一级的子流程,比如会签
这种设计的最大好处是每个层面可以独立设计,内部的修改不会影响其它环节
下面看一个例子:
其中
[准备材料],[会签],[实施方案],都是调用对应的子流程
再看一个例子:
上面是一个流程分层的例子
小学的校长只关心如何收钱,收了多少就行了.
小学生只要把钱交到学校就行了
在每个层面上,每个人都完成自已的工作.不需要去过问别人的工作.而事实上某个小学生的捐款有可能推动了*初级阶段向共产主义过渡的大流程
流程的分层可以让处于不同层次的人各司其责,互不干扰.
但由于层的不透明,让事项在办现过种程中出现了很多的黑盒,由于黑盒的存在,就出现了很多的弊端.
比如那个捐款的小学生永远不知道他交的10元钱最终花到那里了
所以我们在设计流程的层次时,同时还要考虑一个问题,流程的透明度
我在下一篇文章中会谈流程透明度这个问题