一个完整工作流管理系统的组成部分

一个完整工作流管理系统的组成部分

一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。

一、工作流组成

1. 工作流引擎

工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。

2. 工作流设计器

工作流设计器为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于环节的配置来实现环节操作、环节表单、环节参与者的配置。
工作流设计器为用户以及开发商提供了快速绘制、修改流程的方式,工作流设计器的好坏决定到工作流管理系统的易用性。

3.流程操作

流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流程操作都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅、传阅办理等,而这些流程操作对于工作流引擎来说是不合理的,因此必须单独的去实现。
流程操作支持的好坏直接决定到一个工作流管理系统的实用性。

4. 工作流客户端程序

工作流客户端程序为工作流系统的表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作、查看流程历史信息等来展现工作流系统的功能。

5. 流程监控

流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的优化,以提高工作效率。

6. 表单设计器

表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制业务所需的表单,并可相应的进行表单数据的绑定。 表单设计器为客户以及开发商提供了快速修改表单的方法,表单设计器的易用与否以及功能的完善与否影响到工作流管理系统的易用性。

7. 与表单的集成

通常业务流转需要表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。
与表单的集成的好坏影响到工作流管理系统是否能提高开发效率。

8. 与应用程序的集成

通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。

二、工作流组成 作流比工具更重要

工作流往往依赖于一些效率工具加以搭建。然而,工具并不是工作流程的全部。

1、 为什么需要工作流?

一个优秀的工作流对于提高效率至关重要。

对于团队而言,工作流能有效提升团队工作效率。具体而言,工作流具有以下优点:

  • 推进任务进度,强化团队协作。团队的每个成员都按照既定的工作流推进项目任务,并且可以与其他成员进行有效的任务交接,最终增强了团队的生产效率。
  • 明晰了任务范围,提升了沟通效率。工作流明确了团队成员的每个人的责任,预定了特定的规则,较少了无意义的猜测和空耗,降低了沟通成本。
  • 对于个人而言,工作流也不是可有可无的。在个人的知识管理过程中,良好的工作流帮助个体完成更为复杂的工作任务。更重要的是,工作流的背后,本质上是关于工具使用的方法论。如果我们构建合适自己的工作流,那么,尽管使用新的工具,也会很快能上手进入心流状态。

2、 建立工作流的原则

既然工作流如此重要,那么,我们如何建立合适的工作流呢?

  • 一个优秀的工作流应该是一种平衡行为,既强大又简约,并且需要足够的灵活性。
  • 从工作流的字面来看,工作流的目的是建立某种流程,并且以提升效率作为目的。 因此,为了高效的流程化,其基础应当是标准化。
  • 自动化和可视化有助于强化工作流。此外,这种流程化不应该是僵化的,而应该是弹性化的、可迭代的,从而实现工作流的不断优化和提升。

一个完整工作流管理系统的组成部分_第1张图片
关于建立工作流的原则,具体如下:

标准化

近代以来,以 福特制 为代表的工业生产系统深刻影响了人类经济和社会体系。福特制的核心包括:产品标准化、采用生产流水线、工薪激励。关于工作流的设计,可以从福特制获取启发。对于工作流而言,标准化也应该是工作流的基础,自动化则相当于福特制中的流水线,各种内部报酬和外部报酬则是激励。

其中,如何在工作流中进行标准化呢?

这需要根据我们的日常使用场景,自下而上总结我们的各种重复事项以及对应的需求和操作,然后将这些操作加以标准化,最终创建工作流模版。

以个人知识管理为例,可以根据自己的需求、使用习惯,设置特定的文件命名系统、标签系统、文件管理系统、Zettel 知识卡片模版。这些标准化的工作流模版应该简洁、易用,并且需要长期维护。

自动化

工作流标准化的主要目的之一便是为了实现自动化。

自动化体现了源于软件编程领域的 DRY 原则(Don’t Repeat Yourself——不要重复你自己) 工具的自动化包括两种:内部自动化和外部自动化。

  • 为了降低用户的使用负担,不少工具都在提高内部自动化。

比如,快速插入模板、自动保存数据、个性化窗口布局自动启动、自动定位至上次光标位置、使用定制化的快捷键快速使用某个功能。对于内部自动化而言,善用快捷键和触控板进行自动化能有效提升单个工具的使用体验。

  • 另一方面,自动化对于多个工具之间进行协同的外部自动化更为重要。

大多数工作流很少只在一个工具内部加以完成,而是需要同时使用多个工具。而在多个工具的使用以及切换过程中会产生认知摩擦以及阻断 心流 状态。因此,最好使用自动化工具加速不同工具之间的工作流。

选择效率工具,最好选择那些支持 URI schemes 的工具。在此基础上,选择适合自己需求的自动化工具。常见的自动化服务工具如图所示,具体可以查看在线链接。

弹性化 & 可迭代性

正如没有完美的工具一样,也不存在完美的系统。

请放弃对于工作流的完美系统期待。

  • 一个优秀的工作流,必然应该是一种具有灵活性、适应性的弹性系统。
  • 工作流的基础是标准化。然而,一个过于标准化的刚性工作流系统,无法兼顾不同使用者的差异性,也无法无法及时适应各种随着内外部环境变化而出现的新老问题。
  • 人比工具灵活。在实践标准化的工作流的时候,不能生搬硬套,而是应该根据使用情景进行权变,以求获得某种的动态平衡。
  • 另一方面,从时间维度来看,工作流应该具有可迭代性。没有适应所有场景、所有需求的工作流。
  • 每一个工作流都是在某个时空情景中暂时获得了动态平衡。我们需要循序渐进地对工作流进行迭代。通过持续改进,你的工作流便会不断发展,也会日益具有适应性。
可视化

一个可视化的工作流具有更加高效地传递和挖掘信息、追踪目标执行状态、及时发现问题和反思已有操作等多种优势,能有效提升工作流的效率。在日常生活中,项目管理和任务管理是常见的可视化应用场景。比如,看板、日历、甘特图、时间轴。

三、关于工作流的注意事项

实践比工作流和工具更重要

前面我相信介绍了如何选择工具和建立工作流。

然而,从优先级的角度出发,在工作流中,实践 > 工作流 > 工具。真正有用、高效的工作流,并不是预先通过精心选择工具和工作流程加以设计出来的,而是通过实践加以驱动而不断升级和优化的。

具体而言,在工作流中应该先拿起工具立即行动起来。
当使用已有的工具和方法论不能有效处理自己的工作、学习、生活等需求时,再去考虑新的工具和方法论。
在这种实践的持续驱动循环中,你的工作流也会不断迭代进化。
此时,你可能需要对你的工具进行自由组合,也需要对你使用工具的理念进行反思与重塑

如前所述,应当建立弹性化和可迭代性的工作流。随着时间推移和使用场景的千变万化,我们使用的工具可能在变化,但是根据我们的工作流,应该可以从一个工具迁移到另外一个工具。先从你正在做的事情开始,然后调整工作流。对于工作流中工具的使用,需要注意消除 All In One 所带来的两个执念:放弃尝试使用熟练某个应用所有的功能、放弃在某个应用内实现所有的功能的幻想。

你可能感兴趣的:(行业软件解析,智能客户端平台,工作流)