第五章:流程设计方法论——成为机器的奴隶,或是制造腐败

Auteur:neo yang Tijd:2022/06/07 Lezen: 4702
文档大纲 一、流程的本质二、流程的要素1、驱动力模式2、任务和状态3、节点(1)验证机制(2)驳回机制4、监管 […]

文档大纲

一、流程的本质
二、流程的要素
1、驱动力模式
2、任务和状态
3、节点
(1)验证机制
(2)驳回机制
4、监管机制
三、流程的设计模式
1、面向状态(谁做都行,以事为中心)
H2、面向节点(不是谁都能做的,以人为中心)
3、面向状态还是面向节点,这是个问题。
四、流程模型
1、箭头模型
2、层叠模型
(1)层叠模型有两种:
(2)反馈机制
3、水池模型
4、模型的混合使用
五、多层流程的设计
1、单一任务,多层状态
2、单一主任务,多重子任务
3、两种多层流程设计的方式各有优缺点

零几年的时候,我曾经在国内的一家头部互联网企业工作。当时,公司内部使用一套工单系统来实现工作协同。那个时候,不像现在,有很多的协同工具可以选择。所以,那套工单系统曾被我仔细研究。

也就是那个时候,我开始关注流程的设计和管理。

在后来的很多年里,我曾经做过很多流程类的产品,甚至也做过流程引擎。

前几年曾经专门复盘过这些流程类的产品,最后,搞出来自己的一套流程设计方法论。

可能不像很多方法论那样高度抽象,但胜在简单实用。至少对于大多数流程的设计来说,基本上可以拿来就用。

一、流程的本质

流程的本质就是事物状态的有序化。

任何事物,按照一定的标准,都可以用一系列的状态来标注。而这些状态的有序化便形成了流程。

二、流程的要素

1、驱动力模式

被动模式和主动模式。

任何一个流程的运转都是有自己的驱动力的。

被动模式的驱动力来源于上一个流程节点,也即是上一个节点驱动下一个节点。(简单理解:任务从上一个执行人转给下一个执行人,下一个执行人被动执行。)

主动模式的驱动力来源于流程节点本身,或者叫自驱动。

不同的驱动力模式,决定了流程设计的时候如何选择流程模型。

流程设计是必须要考虑整个流程的驱动力模式的。否则,很可能会造成,你设计的流程,“不好用”、“不合理”、“太麻烦”。。。。。。

在同一个流程中,主动模式和被动模式可以混合使用。主要看具体的事务和场景。

2、任务和状态

一个流程的流转,是需要一个状态化的东西来统筹整个流程的,这就是任务。任务的状态的有序变化形成了流程。

一个任务,可以是一个文档、一个票据、一个订单、一个工单、一个卡券等等。

一个流程只能有一个任务。或者只能有一个主任务,在流程中可以被拆分成多个子任务分别执行。

3、节点

节点就是执行人。

也就是,每一个任务的状态的具体执行者。可以是人,可以是程序,也可以是机器设备等等。

一个节点可以只执行一个状态,也可以执行多个状态。这主要取决于流程的设计模式(详见后边的“三、流程设计模式”)。

对于每一个节点来说,状态的切换,并不一定会伴随节点的切换,但节点的切换一定会伴随状态的切换。这算是一个流程设计的原则。

而对于每一次节点的切换,都会需要相应的验证机制,以及有可能会用到的驳回机制。

(1)验证机制

每一次节点的改变,都会执行验证。

  • 前置验证:

有的是在节点切换之前验证当前节点的执行结果,通过验证,则切换下一个节点。

  • 后置验证:

在节点切换之后验证上一个节点的执行结果,如果不能通过验证,则执行驳回机制。

(2)驳回机制

如果流程的验证机制是后置验证,那么就必须要有驳回机制。驳回机制就是验证上一个节点提交的任务不合格,而退回给上一个节点的机制。具体的验证标准、规范、退回方式、驳回后要如何处理等,都是需要在设计流程的时候考虑的。

4、监管机制

每一个流程都应该有监管机制。监管机制主要有两种。

  • 记录型监管

最简单,也是最基本的监管机制,就是将记录任务的执行过程,即任务状态的变化和每个状态的属性和执行结果等。出了问题,便可以追溯原因。

  • 实时监管

实时监管流程的每一个状态的执行情况,发现不合规之处,可立即介入。

三、流程的设计模式

1、面向状态(谁做都行,以事为中心)

这个比较常见。重状态,轻节点。我们大多数见到的和做的流程都是这样的设计模式。

先做什么事情,然后得到一个什么状态,然后再做什么事情,再得到一个什么状态,然后再通过图像识别,得到一个什么状态,然后再做什么事情,得到一个什么状态。。。。。。

流程中的所有节点(人、程序、机器等)围绕着一件事、一个机械化的步骤,按照固定的规则在做各自负责的事情。

你可以把它理解成“流水线”。

2、面向节点(不是谁都能做的,以人为中心)

这种比较少见。轻状态,重节点。

任务先交给谁,能得到一个什么结果,然后再交给谁,能得到一个什么结果,然后再交给哪个机器,能得到一个什么结果,然后再交给谁,能得到一个什么结果。。。。。。。

一般来说,在一些非标准化、节点产出的结果差异较大的情况下,或是在一些松散的组织和流程中,才会考虑使用。

在互联网产品中,不多见。目前,主要是在一些协同办公产品中会用到。

3、面向状态还是面向节点,这是个问题。

或许,上帝之所以会存在,是因为这个世界不完美的原因吧。

一个流程的设计,无论面向状态还是面向节点,都不可能设计出一个绝对完美的流程。

面向状态的终极,人类终将成为程序和机器的奴隶。

面向节点,很容易会造成权利的集中和腐败的产生。

所以,最后,流程要使用什么样的设计模式,还要看具体的业务场景。适合的才是最好的。

四、流程模型

以下内容只有VIP用户可以看。

订阅VIP

订阅我的VIP会员,可以阅读所有付费VIP内容。

如果您已是VIP会员,请登录.


copyright © www.lyustu.com alle rechten voorbehouden.
Thema: TheMoon V3.0. Auteur: neo yang