下载本文的PDF版本 PDF

BPM:承诺与挑战
LAURY VERNER,先动优势公司

一切都围绕着从构思到执行再到反馈的闭环。

在过去的十年中,企业和政府越来越关注业务流程——对其描述、自动化和管理。 这种兴趣源于精简业务运营、整合组织和节省成本的需求,反映了一个事实,即流程是组织内业务价值的基本单元。

业务流程的设计和自动化甚至催生了自己的研究领域,即 BPM(业务流程管理)。 IBM Systems Journal 的一句引言很好地概括了这一点:“BPM 技术不仅提供定义、模拟和分析业务流程模型的工具和基础设施,还提供以业务流程视角管理最终软件工件执行的业务流程实施工具。”1

围绕 BPM 的兴趣程度和随之而来的营销夸大宣传已达到顶峰。 例如,Gartner 宣布 BPM“赢得了节省资金、节省时间和增加价值的‘三冠王’”。 这一承诺正在兑现吗? BPM 确实有潜力交付显著价值,但仍存在限制其有效性的缺失要素。 尽管 BPM 技术正变得越来越成熟,但许多软件开发人员和业务分析师仍然在问一些基本问题:它是什么? 我为什么要关心?

本文概述了 BPM 及其现状,并触及了一些核心技术和标准。 重点是 BPM 面临的四个具体挑战,这些挑战与应用程序开发生命周期的四个阶段相一致:2

在每个阶段,我们都会解释问题并探讨其业务和技术后果。

我们是如何走到这一步的?

业务流程管理是一门古老的学科,它允许您对组织结构进行建模,定义业务流程,并展示它们之间的交互。 它传统上在商学院教授,并在实践中取得不同程度的成功。 在 20 世纪 90 年代,迈克尔·哈默和詹姆斯·钱皮的著作,3 《再造企业》的作者,引起了人们对业务流程的关注,既将其视为效率低下的根本原因,又将其视为潜在竞争优势的来源。 他们建议对企业进行深刻而彻底的重新设计,以消除浪费并增加对客户的关注。 那是 10 年前的事了。 今天不同的是,计算技术的新颖用途推动了业务流程的分析和自动化。

在《超越再造工程》中,《再造企业》的后续作品中,哈默将业务流程定义为“一系列完整的端到端活动,这些活动共同为客户创造价值。”4 在这种背景下,“客户”的概念指的是所提供价值的接受者,不一定是商业交易中的付费客户。

XML、Web 服务、基于组件的开发和面向消息的中间件等技术创新推动了当前对 BPM 的兴趣。 供应商开发了 BPMS,提供了自动化业务流程所需的系统和数据的细粒度集成。 BPMS 连接人员和系统,管理信息访问和转换,处理异常,并协调流程的流程。

组织正在寻求 BPM 来帮助解决以下类型的问题:

挑战 1:发现

为了改进业务流程,您必须从头开始。 通常,业务分析师需要发现事物的当前状态,尝试以可视方式表示业务的各种流程。 许多 BPM 产品采用的方法未能充分应对这一挑战。 他们采用绘图隐喻,分析师或开发人员使用标准图标调色板草绘流程。 这假设现有流程是预先已知的。 然而,大多数大型组织根本不准确或详细地了解其端到端流程。 他们的流程知识是隐性的和分散的——而不是显性的和集中的。

您如何发现企业是如何运作的? 经典的制造流程已经从定量和定性方面进行了广泛的分析。 发现一般业务流程相对来说不太直接。 您可以采用自上而下或自下而上的方法。 自上而下的发现方法通常从组织结构图开始。 它列出了组织中每个部门的职责,并确定了支持这些职责的高级流程。 然后将这些流程分解为低级流程,进一步分解,直到达到最低级别。 这种方法的优点是它提供了广泛的组织视角。 其缺点是缺乏细节和可疑的准确性。

自下而上的方法从采访员工关于他们执行的日常活动开始,并尝试将这些本地信息整合到连贯的端到端流程中。 这种方法可能非常准确,但您很容易迷失在细节中,只见树木不见森林。 一些混合的自上而下/自下而上的方法试图兼顾两种方法的优点。

由于没有两个组织在运营方式上完全相同,因此不同的发现方法可能适用于不同的业务。 此外,对业务流程的单次捕获可能远远不够。 正如经常发生的情况一样,后来的发现会告知早期的发现,而不断增强和更新流程的迭代发现方法可能会产生更好的结果。 无论采用何种方法,当然,关键要求是高级管理层支持和推动业务流程的发现。 没有这种支持,成功的机会微乎其微。

业务后果。 随着对业务流程重要性的认识不断提高,许多公司正在尝试捕获其当前状态的业务流程。 他们组建业务用户研讨会,草绘流程,并尝试在团队内达成共识。 不幸的是,他们无法确保结果图表的准确性或完整性。 通常,此类研讨会过度简化了现有业务流程的潜在复杂性。 许多关于流程的重要元数据,例如成本、周期时间和信息流,无法轻松地融入 Visio 图表中。 此外,无法在这些图表中有效地分析流程中包含的信息。

技术后果。 准确捕获当前流程是定义期望的未来流程的结构和规则的先决条件。 如果没有这种程度的理解,开发人员可能会使用 BPMS 工具生成次优解决方案,或者更糟糕的是,生成错误问题的解决方案。 BPMS 工具旨在自动化流程,而不是分析业务。 因此,使用 BPMS 实现的流程自动化可能达不到业务的真正目标。 为什么不要求业务分析师使用 BPMS 产品来发现和分析业务流程? 这似乎可以解决这个问题。 不幸的是,大多数 BPMS 产品都是为开发人员而不是业务分析师设计的。 它们几乎没有提供流程发现、定义元数据、模拟或分析流程成本或周期时间的功能。

挑战 2:设计

BPM 的最终目的是改进和优化组织的运营。 因此,它的范围必然包括跨组织的所有流程,而不是单个流程。 不幸的是,BPMS 产品通常设计为一次处理一个流程。 开发人员绘制流程,添加实现构造,然后执行流程。 这些工具无法跨多个流程查看、检查流程互连、进行比较或执行分析。

如果有一个“流程实验室”之类的东西会很有帮助,业务分析师可以在其中协作,探索流程空间,测试想法,测量、分析和比较流程,并普遍执行业务思想实验。 该实验室将为分析师提供设计新流程、从多个角度查看流程、提取跨流程的分析报告、生成系统需求以及执行模拟和“假设”实验的工具。 它将允许他们创建集中的可重用流程,这些流程可以被不同运营部门的流程调用。

显然,这样一个实验室的关键要素是表达想法的语言。 这种“流程语言”将用于定义业务流程的基本实体(流程、参与者、活动、链接等)及其操作和交互的规则。 标准流程语言将允许客户使用来自不同供应商的产品来定义和实施业务流程。 在一种产品中定义的流程可以在另一种产品上执行。

在过去的三年中,各个团体为定义 Web 服务和业务流程的标准做出了许多尝试。 相关组织是工作流管理联盟 (WfMC)、业务流程管理倡议组织 (BPMI)、万维网联盟 (W3C) 和 OASIS。5

WfMC 通过帮助建立术语、互操作性和工作流产品之间连接的标准来促进工作流的使用。 它创建了 xpdl,一种基于 XML 的业务流程定义。

BPMI 的使命是通过建立流程设计、部署、执行、控制和优化的标准来促进和发展业务流程管理。 BPMI 开发了三项标准:业务流程建模语言、业务流程建模符号和业务流程查询语言。

W3C 由蒂姆·伯纳斯-李创立,发布了 XML、HTTP、HTML、SOAP(简单对象访问协议)和 Web 服务的关键标准。 所有 W3C 标准都必须是免版税的。

OASIS(结构化信息标准促进组织)是一个非营利性的全球联盟,致力于推动电子业务标准的开发、融合和采用。 OASIS 定义了电子业务应用程序 (ebXML) 的标准,并且正在制定其他高级 Web 服务标准。 与 W3C 相比,OASIS 发布的标准可能附带版税。

一种重要的基于 XML 的业务流程定义语言是 Web 服务业务流程执行语言(BPEL4WS 或简称 BPEL6),这是一种由 Microsoft、IBM 和 BEA Systems 创建的语言。 它源于 Microsoft (XLANG) 和 IBM (Web Services Flow Language) 所做的工作。 Microsoft 的方法受结构化编程的启发,而 IBM 的方法将流程视为有向图。 BPEL 试图整合这两种观点。 OASIS Web 服务业务流程执行语言技术委员会的任务是继续研究最初于 2002 年 8 月发布的业务流程语言。

BPEL 规范背后的基本假设是业务流程将由一系列交互式 Web 服务组成。 由于 WSDL(Web 服务描述语言)是描述 Web 服务的自然语言,BPEL 设计人员选择使 BPEL 成为 WSDL 的扩展。 BPEL 流程中的每个活动都由 Web 服务实现,Web 服务由其端口类型、操作和消息定义。

在 BPEL 的概念方案中,业务流程由与一组业务合作伙伴交互的中央流程引擎(见图 1)组成。 每个 Web 服务操作都由合作伙伴之一或中央流程引擎本身执行。 流程引擎通过交换消息与其合作伙伴进行通信。流程引擎和合作伙伴通过称为“服务链接”(见图 2)的通信通道发送消息。 为了更具体地说明这一点,让我们考虑一家旅行社与一家航空公司进行交互。 服务链接是旅行社流程和航空公司之间的双边合同,定义了彼此提供的服务。

流程和合作伙伴在服务链接中扮演不同的角色。 流程在其角色中公开了一个 WSDL 端口类型——即它同意提供的一组操作。 同样,合作伙伴在其角色中公开了另一组操作。 在我们的示例中,当旅行社流程调用航空公司的机票订购操作时,它实际上使用的是服务链接,我们称之为“buyerLink”。 旅行社流程在 buyerLink 中的角色是机票请求者,其端口类型是行程。 航空公司合作伙伴的角色是机票服务,其端口类型是机票订单。

在定义了合作伙伴交互的概念框架之后,BPEL 继续指定流程的常用构建块:活动、流、链接、数据容器和赋值操作。 这些是根据其 XML 结构定义的,但没有用于表示它们的图形模型。 Microsoft 和 IBM 的影响在这些定义中显而易见。 例如,如果您想指定活动 1 必须先于活动 2,您有两种方法可以做到这一点。 一种方法是使用名为“sequence”的结构化活动。 另一种方法是在流中通过链接连接这些活动。 第一种方法继承自 Microsoft 的 XLANG,第二种方法继承自 IBM 的 WSDL。 BPEL 规范没有提示何时使用一种技术或另一种技术。

BPEL 还解决了业务流程正确执行所需的技术构造。 这些包括关联、故障处理和补偿。 关联是用于通过使用数据字段作为标识符在流程实例之间创建关联的技术。 例如,“订单号”字段可用于关联采购订单和采购订单确认。 故障处理和补偿指定在流程中发生错误时应遵循的程序。 对于长时间运行的流程,其思想是用一系列补偿活动“撤消”一系列复杂的活动。

在 BPEL 中,每个流程都是 Web 服务的集合,但流程本身也是一个大规模的 Web 服务。 这种类似分形的方法能够实现 Web 服务的无限组合和分解。

BPEL 是一项重大成就,但存在一些限制其广泛采用的弱点:

作为基于 Web 服务的流程语言,BPEL 的主要竞争对手是 BPML(业务流程管理语言)。 BPEL 和 BPML 最终都基于 π 演算,但业务流程管理倡议组织比 BPEL 早两年引入了 BPML。 BPEL 实际上已经纳入了许多 BPML 概念,并且在 Microsoft 和 IBM 的支持下,它具有行业势头的优势。 Microsoft、IBM 和 BEA Systems 可能会在明年在其产品中引入 BPEL,可能带有一些专有语言扩展和一些辅助流程设计的工具。

业务后果。 目标是将发现中收集的流程信息转换为标准流程语言,例如 BPEL。 但业务分析师无法使用 BPEL,至少在其当前形式下无法使用。 给定 BPEL 流程定义,您会发现几乎不可能将业务逻辑与实现的细节区分开来。 业务语义被执行所需的技术细节所掩盖。 缺少的是一种对 BPEL 进行分层,过滤掉诸如故障处理、关联和事务管理等技术构造的方法。 业务分析师应该可以使用流程语言来设计业务逻辑。 一旦业务逻辑被映射出来,开发人员就可以插入技术构造。

业务分析师通常更喜欢可视化方式来设计流程。 他们会被代码吓倒,代码往往会掩盖业务问题。 此外,非开发人员需要从多个角度查看流程,以确定流程间的依赖关系,并从流程中提取系统需求。 业务分析师也可能会受益于从上而下设计流程的方式,从高级流程开始,然后将其细化为低级流程。 这超出了 BPEL 的范围。 由于 BPEL 没有图形渲染,业务分析师将不得不编写 XML 代码。 这不太可能发生。

技术后果。 在许多情况下,业务分析师将使用分析工具设计业务流程。 完成此操作后,如何自动化该流程? 理想的情况是将流程导出到 BPMS 以供执行,可能使用 BPEL 作为通用语言。 如果 BPEL 未被业务流程分析工具和 BPMS 使用,则需要自定义映射以在两种产品的 XML 方言之间进行转换。

BPEL 以其当前形式用途有限,因为它专为使用 Web 服务实现的流程而设计。 它不适用于包含软件包应用程序、自定义应用程序或手动活动的“遗留流程”。7 这排除了 95% 的所有现有业务流程。

业务流程设计的关键目标是定义和沟通需求。 例如,假设一个新系统将在多个流程中使用,支持执行不同功能的不同用户和系统。 理想情况下,业务流程的定义方式应使功能需求可以简单地从流程定义中提取出来。 如果我们的新系统在 17 个流程中执行 25 个活动,那么这些活动可以通过适当的查询进行总结。 此过程与从关系数据库中提取数据完全类似。 不幸的是,目前没有可搜索的 BPEL 流程知识库。 此外,由于 BPEL 没有“参与者”或“行动者”的概念来识别拟议的系统,因此它将无法支持流程实验室的这一重要目标。

挑战 3:开发

一个成功的开发项目是许多有利条件的结果,其中最重要的是业务分析师(他们定义业务需求)和开发人员(他们实施满足这些需求的系统)之间的密切协作。 然而,业务分析师和技术开发人员受到不同目标的驱动,使用不同的语言,并且倾向于在不同的精度级别上工作。 在 BPM 领域,这种差距表现为自动化业务流程的执行与原始业务需求不匹配。

业务分析师通常以需求文档的形式向开发人员传达业务需求,开发人员可能会以不同的方式理解这些需求。 开发人员使用 BPMS 工具,按照他们的理解实现自动化解决方案。 为什么不让业务分析师使用 BPMS 工具定义业务流程? 这是不现实的,因为 BPMS 产品通常供开发人员而不是业务分析师使用。 它们使开发人员能够创建技术构造,而不是业务需求。 有时建议使用基于 UML(统一建模语言)的工具作为替代方案。 UML 非常适合需要设计类图和布局方法调用之间交互的开发人员。 然而,UML 图表套件不太适合使用业务流程的业务分析师。

业务后果。 业务分析师和开发人员之间差距的业务后果是失败风险增加和开发周期延长。 Standish Group 在其对应用程序开发项目成功率的研究中发现,大多数软件开发项目在完成之前就被取消了。8 它还发现,按时且在预算内完成的项目不到 20%。 在那些按时且在预算内交付的项目中,有一半未能交付预计的功能。 Standish Group 指出,此类失败的一个关键原因是捕获和沟通用户需求时缺乏清晰度。

技术后果。 经典的需求文档为解释留下了相当大的空间。 它很少提供开发人员所需的 IT 级别的精度,开发人员需要知道系统必须执行的每个活动、包络业务流程的逐步控制逻辑、流程的每个步骤所需的特定数据以及管理数据更改的业务规则。 这种缺乏精度可能会导致分析师和开发团队之间的误解。 软件偏离目标,使得报废和返工不可避免。 在中期重新定义需求、重新设计和重新编码既昂贵又耗时。

缺少的是一种将设计和开发无缝集成的方式。 业务分析师应在其流程实验室中的业务级别创建流程设计,然后以 XML 形式将这些设计导出到 BPMS。 然后,开发人员将完善设计,添加实现所需的技术构造。 这消除了对需求和业务需求的任何歧义。

挑战 4:部署

自动化业务流程的全部意义在于提高运营效率——在成本、时间或质量方面。 一旦流程被开发和部署,我们如何知道它是否正在实现预期目标? 我们知道如何对 IT 系统进行工具化并以高度的精度对其进行监控。 然而,这些统计数据通常不提供围绕此信息的业务流程上下文。 挑战在于在业务流程级别聚合和呈现执行数据。 Gartner 创造了业务活动监控 (BAM) 术语来表示此功能。 它将 BAM 定义为提供“实时访问关键业务绩效指标,以提高业务运营的速度和效率。”9

业务后果。 如果没有 BAM,运营经理将无法确定他们负责的流程是否正在实现其目标。 例如,他们不会意识到辛辛那提地区的订单履行流程成本增加了 20% 以上,或者处理新的福利索赔所需的时间在第二季度下降了 10%,或者蒸汽轮机发电机的停机优化流程遇到了麻烦。 由于缺乏这些信息,高管们无法确定采取什么行动。 在流程上下文中聚合执行统计数据的方式将帮助业务经理更好地管理这些类型的异常。

在过去一年中,一些公司开发了 BAM 产品,但在许多情况下,它们是缺乏整体流程上下文的离散事件监视器。 为了实现真正的流程上下文,您必须将单个活动链接到流程中,以提供有关在该流程中完成的工作以及由谁完成的信息。 例如,有必要评估每个流程实例的成本。 此外,有必要根据各种标准聚合流程实例信息。 例如,您可以按地理位置、客户或组织对流程实例进行分组。 最后,您需要“链接”逻辑上属于一起的流程,例如订单流程和发票流程。 所有这些信息都应在企业门户的执行仪表板上进行汇总和呈现。

技术后果。 在某种程度上,大多数公司都认识到 BAM 的重要性,但没有有效的方法来收集、聚合和分析执行统计数据。 通常以临时方式完成,其中来自遗留系统的报告被组合到数据仓库中,从中可以生成摘要报告。 可以非常精确地确定 IT 环境中每个磁盘驱动器、服务器和网络组件的利用率。 然而,从这些统计数据中,您不会知道需要扩展、整合或升级哪些资源来支持业务目标。 例如,您可能根本不知道增加特定磁盘的容量是否会影响订单履行周期时间。

借助 BAM,我们实现了完整的循环。 流程监控的结果将能够重新发现和重新设计业务流程。 高管们将了解需要立即关注的热点。 从长远来看,执行将与业务需求和流程设计保持同步。 图 3 总结了这个生命周期概念。

结论

任何企业——公司、政府或非营利组织——都可以被视为其业务流程的总和。 每个流程都为客户、供应商、员工或其他利益相关者交付价值。 BPM,一种用于启用和自动化业务流程的学科,正处于快速增长期,并将从根本上改变计算能力在组织中的应用方式。 尽管 BPM 已经在许多公司交付了可观的价值,但完整 BPM 解决方案的组件仍在不断发展,并且是正在进行的研发的主题。 一个值得注意的进步是 BPEL,一种用于描述由 Web 服务组成的业务流程的基于 XML 的语言。

本文重点介绍了四个直接挑战:

  1. 流程发现是任何 BPM 解决方案的开始,并且对于确保解决方案与实际业务需求相匹配是必要的。
  2. 业务分析师缺乏一个流程实验室,在其中设计、分析和模拟业务流程。 流程语言(如 BPEL)虽然是流程实验室中的关键要素,但需要通过图形功能进行增强,以将其与流程发现联系起来。
  3. 业务流程设计工具与执行工具之间缺少集成。 BPEL 可能在此集成中发挥关键作用。
  4. BPM 从执行业务流程中生成有价值的绩效统计数据。 企业需要监控这些执行统计数据,将其组织到其流程上下文中,并以警报、报告和执行仪表板的形式呈现它们。

在过去的三年中,我们在 BPM 方面取得了重大进展。 我们预计这些挑战中的许多挑战将在未来三年内得到解决。 其他挑战可能被证明不太容易解决,并且需要更长的时间才能解决。 一旦这种情况发生,我们将首次拥有一个完整、闭环的业务流程方法:从构思到执行再到反馈。 这将使高管能够设计其业务流程、自动化它们,并定量地确定它们在计划方面的表现。 有了这些信息,他们就可以重新设计或优化流程。

渐渐地,这里描述的技术和方法将改变企业和政府机构应用技术的方式。 用霍华德·史密斯的话说,“第三波业务流程管理方法和系统将彻底改变公司构思、构建和运营自动化系统的方式。”10

参考文献

1. Leyman, F., Roller, D., and Schmidt, M.-T. Web services and business process management. IBM Systems Journal 41, 2 (2002) 198.

2. CSC 的 Catalyst 4D 开发方法论。

3. Hammer, M., and Champy, J. Reengineering the Corporation. New York: HarperCollins, 1993.

4. Hammer, M. Beyond Reengineering. New York: HarperBusiness, 1996.

5. Workflow Management Coalition: see http://www.wfmc.org; Business Process Management Initiative: see http://www.bpmi.org; World Wide Web Consortium: see http://www.w3.org; OASIS: see http://www.oasis-open.org.

6. Business Process Execution Language for Web Services, Version 1.0. IBM: see http://www.ibm.com/developerworks/library/ws-bpel/.

7. 除非它们之前已包装为 Web 服务。

8. The Standish Group. The Chaos Report (1994), http://www.standishgroup.com/sample_research/chaos_1994_1.php.

9. McCoy, D. Business activity monitoring (BAM)—deeper meanings, Business Integration Journal (Aug. 2003), http://www.bijonline.com/Article.asp?ArticleID=755.

10. Smith, H., and Fingar, P. Business Process Management: The Third Wave. Tampa: Meghan-Kiffer Press, 2002.

LAURY VERNER ([email protected]) 是先动优势公司 (ProActivity) 的首席技术官,该公司是一家总部位于波士顿的公司,致力于开发业务流程分析和设计软件。 在此之前,Verner 曾是计算机科学公司咨询部门的合伙人,专门从事应用程序架构。 Verner 拥有约翰·霍普金斯大学的博士学位和宾夕法尼亚大学的文学学士学位。

acmqueue

最初发表于 Queue 第 2 卷,第 1 期
数字图书馆 中评论本文





更多相关文章

Mark A. Overton - IDAR 图
UML 是表示面向对象设计的实际标准。 它在记录设计方面做得很好,但它有一个严重的问题:它的图表不能传达人类需要知道的内容,这使得它们难以理解。 这就是为什么大多数软件开发人员仅在被迫时才使用 UML。 人们根据控制层次结构来理解组织,例如公司。 当面对人员或对象的组织时,通常首先要问的问题是:“谁在控制这一切?” 令人惊讶的是,UML 没有一个对象控制另一个对象的概念。 因此,在每种类型的 UML 图中,似乎没有任何对象比其邻居具有更大或更小的控制权。


Eric Bouwers, Joost Visser, Arie Van Deursen - 获得你所衡量的
软件度量——有用的工具还是浪费时间? 对于每一位珍视这些软件系统数学抽象的开发人员来说,都有一位开发人员认为软件度量只是为了让项目经理忙碌而发明的。 软件度量可以是帮助您实现目标的非常强大的工具,但正确使用它们非常重要,因为它们也可能使项目团队士气低落,并将开发引导到错误的方向。


Duncan Johnston-Watt - 在新管理下
在一个竞争日益激烈的全球环境中,企业面临着降低运营成本的巨大压力。 同时,他们必须具备应对动荡市场提供的商业机会的敏捷性。


Derek Miers - 最佳实践 (BPM)
正如 BPM(业务流程管理)技术与传统的应用程序支持方法显着不同一样,BPM 开发的方法论也与传统的软件实施技术显着不同。 以 CPI(持续流程改进)作为 BPM 的核心学科,驱动公司工作的模型不断发展。 事实上,最近的研究表明,公司至少每季度微调一次基于 BPM 的应用程序(有时甚至每年八次)。 关键是没有“完成”的流程; 需要多次迭代才能产生高效的解决方案。 每个基于 BPM 的工作流程都只是未来起步的起点。





© 保留所有权利。

© . All rights reserved.