| |||
|
作者:Jürgen Kress、Berthold Maier、Hajo Normann、Danilo Schmeidel、Guido Schmutz、Bernd Trops、Clemens Utschig-Utschig、Torsten Winterberg
行业 SOA 文章系列的一部分
2014 年 2 月
业务流程管理是一种管理准则,其蓬勃发展有助于改进流程性能。如果执行得当,BPM 有助于产生引人注目、用户友好的流程,提供有关生产效率的信息、衡量绩效、展示改进的潜力,同时指示整个流程中可能受益于各种流程优化策略之一的确切位置。
为了应对企业业务流程建模的复杂性,业务分析师按层次结构推进,首先是通过多级流程描述价值链(流程级别 0),直到详细描述流程参与者活动的级别。图 1 是 BPM 概览,每种建模技术一个图形,还包括与 SOA 服务的交互。
我们可以看到,业务流程管理与 SOA 很协调:SOA 为 BPM 提供支持。
在流程层次结构的最高级别,采用非常抽象和粗线条的高级语言(如 IDS Scheer 价值链)来描述可能会跨越整个组织中各部门的端到端流程的功能流程块。没有分支,但的确包括最重要的业务目标,理想情况下用 KPI 及其他组织方面(如将步骤分解到部门)来表示。
在下一级别,按层次结构方式描述流程步骤,越往下越详细。目前这通过业务流程模型的通用语言 — 业务流程管理和标注 (BPMN) 来完成。在此,流程中的流程参与者用“泳道”来表示,包含分配给此参与者的流程步骤。
在层次结构的中级层次(级别 1-3),仍然通过组织单位(如“采购”部门)相对粗略地包括流程参与者。
如果再深入查看流程细节,可到达细粒度级别(级别 4),在此级别,通过由服务实现的自动系统交互和人员交互来表示流程的活动。由个人执行的这些步骤称为“人员任务”。流程参与者在其任务列表中指定任务。可以对任务中的序列建模,并将其作为“页面流”详细列在企业门户中。人员任务的例子有:
设计人员任务时,最好区分每个流程参与者的专业级别,并相应地调整屏幕布局。
一旦实现人员任务的目标,即可调用 SOA 服务(通常是任务服务),将工作步骤中收集的数据按事务方式写到永久存储。
现在,我们已经描述了 SOA 与 BPM 之间的交互。细心的读者可能会注意到图中画了一个 BPMN 的替代品。新术语 ACM(自适应案例管理)背后有何隐含意义?它与“传统”BPM 有什么关系?
我们开始意识到无法再通过提高日常任务的自动化程度(这已经反映到当今的标准 ERP 软件中)来进一步提高效率。它更像是一个如何确定某些将受益于创造力和决策能力(这正是人与算法的区别)的任务的问题。这些活动,如决定客户信用可靠性或优先执行解决重要情况的操作,分配给知识工作者。我们来研究何时可以应用这种新型流程改进策略及相应的角色,以及其在补充日常工作中的最佳应用场合。
香槟酒打开了 — 业务部门员工一片欢欣。他们之所以庆祝,是因为在新的 BPM 项目中欣喜地看到实际上让外部员工参与的流程完全按其在顺序流程模型中指定的方式运行。具体来说,此流程包括在不同管理级别的各种评估和审批。确切的序列可以用业务流程模型和批注 (BPMN) 2.0 建模语言很好地表达。团队中人人都理解这些模型,并且可以轻松更改。同时,这些模型是符合可执行 IT 流程的基础。
现在在大多数企业中都可以找到这种成功使用部门工作流提高生产效率的成功案例,意味着 BPM 总体上取得了成功。它们培育了通过 BPM 实现业务 IT 融合的信心。但为什么 BPM 没有受到更热烈的欢迎呢?为什么自动化流程最终未能摆脱在微观级别或部门内部有限的改进空间,推进到企业领域呢?部分原因是人们不愿改变孤立做法,即通过职能而不是在端到端流程中的位置来定义部门,转而采用企业级流程驱动的方法。然而,近年来情况日益明朗,大多数最新的 BPM 解决方案所倡导的基于流程图的方法不足以涵盖所有流程类型。有时,不可能在运行业务流程之前预先定义每个步骤。有时,您不知道接下来会发生什么。有时,最好依赖现场人员找到实现业务目标的正确路径。
通过自动化流程提高效率 — 人类历史无需等待计算机来物化此概念。Henry Ford 和 Frederick W. Taylor 成功定义了一种管理方法,将工作分解成简单任务,让整个复杂作业变得可以管理。这样,制造汽车的艰巨任务分解成了许多单个的子任务,每个子任务只需要几个动作。每个生产工人必须执行精确定义的步骤。没有独立操作的空间 — 也没有必要。
自 1980 年以来,有些 BPM 管理准则领域的作者在 Taylor 方案的基础上不断提升流程图,以此优化业务流程。理想情况下,这些类型的“标准”BPM 项目让业务部门能够分析和记录业务流程,如果需要还可以轻松更改业务流程。但这只对在执行之前就可以精确描述流程的“标准流程”起作用。
在知识密集的环境中,这种流程显得过于刻板,不能反映复杂现实。要想预先对流程周期所有可以想像得到的变体(包括所有可能的错误和事件条件 — 如果真的可以穷尽一切可能性)建模,代价实在是太大了,最终也就是不可维持的。
对于成功的标准流程还有一个要求,即参与流程的人可以在严密、苛刻的管理条件下高效地工作。如今,拥有这种类型的生产工人的工厂就不再是一个体力工厂了,而是一个脑力工厂:他们坐在计算机屏幕前,因为预定义流程的流程“紧身衣”而被迫重复相同的、旧的任务列表和屏幕序列。这样很难甚至不可能以创新、适合实际情况的方式工作。
按照模型,引领流程参与者完成给定的流程。就像 Taylor 装配线上的工人一样,他们没有什么决策的空间。
不过,如今我们已经转型为知识社会。客户投诉管理、处理损害赔偿、帮助求职者、评估法律问题或研发等任务都需要高度动态的反应,因为它们情况复杂,可能会出现意外不到的新事件。管理领域的大人物,如 Peter F. Drucker 和 Thomas H. Davenport,描述了知识工人的兴起,且已证明其远比生产工人更难控制。
生产工人和知识工人的不同方法对 BPM 计划的设计有何影响?严格的(或者可以说采用标准设计的)流程在流程执行之前精确定义其运行方式,适合目标为以 Taylor 式对工作标准化的场合。传统流程自动化有助于应始终按固定方式完成以使质量标准化的任务,如准备建议书、申请休假、请求法律审批、维护 IT 系统、执行集成等,通常风险不高。
在许多其他情况下,当事情变得更重要一些,涉及人工决策时,可能在压力下,标准流程就显得过于死板了。并不总是很清楚需要多少步骤,以及确切地来说应采取哪些途径才能实现目标。对于知识密集型流程以及公司中引入专家的核心流程,情况的确如此。典型示例包括咨询或销售会议、事故评估、鉴定和调查。在此,重点是专业知识和用户具体的子任务选择,以便能够以最佳方式达成业务交易。
试图继续用标准流程支持此类知识工作,实际上会导致流程官僚作风(如果符合流程,则一切顺利,即便公司有些损失),最终导致无效的流程实例,因为它不可能根据经验做出调整。在此不需要 Taylor 的方法。采用支持目标、自适应性的 BPM 明显效率更高。我们引入术语“自适应流程”。
在 BPM 圈子里,这种期望的行为被称作“自适应案例管理”(图 2)。您不要看流程本身,而要关注要达到目标的案例,关注根据情况可以执行多个可能流程或流程步骤的案例。这种情况无所不包:保险案例、病人、项目、资产(如建筑)、客户咨询,甚至整个客户。考虑到术语“案例”过于狭隘,因此将其扩展到包括要求知识工人灵活操作的任何活动。
在图书和博客圈中,经常会看到有关 BPM 与 ACM 的争论。我们则认为 BPM 是一种交叉管理准则,其目标是优化流程。“标准 BPM”(nBPM) 和“自适应 BPM”(aBPM) 代表 BPM 旗下的两种等同方法,因此是业务和 IT 架构师工具箱中的有用工具,根据不同的环境和力度选用。流程可以包含结构化流程“岛”以及由结构较松散的活动组合而成的其他岛。即便如此,ACM 岛也可以包含流程图岛。
ACM 是 IT 演化到为知识工人提供最佳工作区,让他们能够为公司做出尽可能最佳决策的识别标志。这意味着人们必须再次成为业务流程管理计划的焦点 — 作为流程中不由流程模型完全控制的参与者,但积极、直接地对改进做出贡献。当然,我们承认这种新的变化并不适用于所有工作场合。通常,它最适用于未充分标准化且风险程度较高的业务流程方面。例如,银行的信贷决策流程。根据具体的信贷类型,这可以是高度标准化的流程,也可以是相当自适应的类型,为决策者提供高度自主决策权,令高度结构化的简单信贷产品望而却步。
在传统 BPM 过程(在此称为标准流程)背后的基本理念中,流程是先前定义的活动序列。活动之间的所有转换也是预定义的。流程网关基于可自动执行的业务规则。人员交互通过工作列表中的条目进行,从而为流程参与者分配任务。所有可以想像得到的流程变体均通过网关(BPMN 网关)定义。不可能偏离整体流程模型。图 3 对此进行了说明。
但自适应流程是怎么回事?世界一片混乱了?业务部门如何确保知识工人能够自由发挥后还会执行基本的任务?自适应流程根本不意味着一切应留给用户 — 只是拥有更大的自由度。在此也定义了活动,但可以选择允许工人自适应地整合其他人员任务。活动之间的转换也不是按固定方式建模,而是在运行时由参与流程的个人确定。如果需要,它们也可以获得可以声明为先决条件的规则的支持。这些规则向用户推荐可想像的适合当前上下文的活动和工具的列表。
自适应流程永久处于学习和发展的状态。这使得它们超越临时或动态流程,赋予用户极大自由度,可以任意执行步骤或预定义序列,但没有任何内置机制用于在流程中通过经验来优化。自适应流程让知识工人能够定义由情况驱动的其他流程步骤。这有助于他们扩展知识库,并据此生成可持续的增值。结果产生对现实的永久性自适应。尽管有所有这些自由,还是会记录流程参与者采用的路径,作为业务部门和 IT 进行永久流程优化的基础。特别是,会记录流程参与者的改进建议并定期评估。这称为后期建模或执行即设计 (model afterwards or design by doing)。最终流程事后产生于已运行的特定实例的多样性。
一个重要特性是,根据 BPMN 语言指令中包含的规则系统,只能在一个非常有限的范围内定义流程步骤之间的语义关系。这些规则也只适用于彼此相邻的步骤,换句话说,不可能表达相隔较远的步骤的关系(“仅当第 4 步未运行时才会执行第 19 步”)。
在此,ACM 可能提供基本上效率更高的描述流程技术细节的机会。ACM 模型描述活动彼此之间的语义关系。这些关系类型表达是否必须或可能预先完成某项活动。这些活动并不是按基于流程模型的流程模式中先前定义的时间和位置自动处理。而是将所有活动以建议的形式提供给用户,随后用户可以决定是否使用它他们以及何时使用。此模型还可用于指定在某项活动后始终必须执行某一后续活动。这意味着可以反映企业的监管政策,同时为用户提供尽可能最大的自由。这种 ACM 建模涌现了多种方法,前景有希望的有 OMG 的 CMMN — 案例管理建模和标注。
BPM 环境中的典型用户界面包括工作列表,用户可在其中找到流程为他们分配的任务。在此,通常提供小屏幕用于各任务中的数据输入,显示在通用 UI 区域中。
自适应流程的用户界面还为知识工人提供更灵活的 IT 支持。当然还有任务列表,但重点不是在执行大流程序列中的一个小的微步骤,而是整个活动。这意味着我们倾向于发现更像门户的界面,呈现案例的聚合整体视图。例如,所有分配的主数据、历史记录和先前的业务案例均可在此找到。如果是病人系统,您作为病人就是“案例”,包括您的整个病历、所有检查文件、检查报告、X 光片等等。这很清楚地表明,访问非结构化数据(如在文档管理系统上)是此界面的一个重要特征。但还应始终提供社交和协作特性,通常还包括在上下文中可能有意义的所有活动。然后,有些情况下,流程参与者需要创建非预期且根本没有软件的新活动。这是临时活动,因而需要允许自适应地向案例添加先前未考虑到的新活动的 ACM 工具。
自适应案例管理仍在演化。我们只是开始了解工作的未来前景。这种未来前景下,我们决定算法是否接管信用可靠性检查等重要决策,或者是否回收灰色区域,只要算法说“可能”,就将最终决定权交给人类专家。