如何用BPMN和DMN煮咖啡

如何用BPMN和DMN煮咖啡

真正的想法是,我真的想向您展示创建工作流图是一件非常有用的事情,并且可以帮助您从根本上监督所有事情。[…]在过去的15年中,每一次遇到工作中的任何问题,对我的绘画工作都有很大帮助。

当我看到此图时,我立即开始对它进行后处理:

 

每日例行工作流程来自medium.com/@zsofideaz/draw-your-daily-routine-如果您想学习有关工作流程的图表7827077b768c

这是我在流程自动化/工作流引擎项目中养成的习惯。该图是您在流程自动化项目中获得的典型需求的出色原型。

为了使该工作流程可执行,基本上,您需要:

  1. 明确自动化范围。
  2. 将决策规则与控制流分开。
  3. 用可执行的符号为工作流程建模。

让我们在本文中快速进行此练习(如果没有别的,您可以了解我的大脑如何工作😉)。

自动化范围

假设您需要构建一个支持日常例行程序的应用程序(好的,甚至我也不会自动化我的日常例行程序,但是为了论证,我们假设它是自动执行的)。

这很可能与任务本身的自动化无关,因此,没有dog狗机器人和没有WIFI功能的自动咖啡机。控制流程的自动化更多,因此工作流引擎可以控制工作流,让参与者知道接下来会发生什么。在这种情况下,唯一的参与者是您(可能还有您的配偶)。

这意味着工作流引擎可能会在正确的时间自动设置您的警报,并使用Slack机器人与您交谈下一步该怎么做:

RoutineBot:“嘿,今天早上。站起来,把狗带出去走几步。”

您:“完成”

RoutineBot:“太好了。谢谢!狗似乎很高兴。现在请喂狗。”

你明白了。如今,工作流引擎实际上经常隐藏在用户界面的后面,这不是人们在听到“工作流引擎”时会想到的经典任务列表。我知道现实生活中的项目实际上使用的是Slack机器人。因此,自动化的范围是控制流程,任务序列,而不是任务本身。

将决策逻辑与过程逻辑分开

现在,一个更有趣的方面。读完该图,我立即发现很难理解,因为它将决策逻辑(哪几天构成一个工作日?)与流程逻辑(工作日发生了什么?)混合在一起。

您可以使用DMN标准在决策表中表达规则。我迅速起草了这张桌子:

该表的优点在于它可以直接执行。您甚至可以使用在线模拟器输入所需的输入并返回结果。

设计该表有不同的方法。您甚至可以将其拆分为多个表。您可以决定它应包含更多信息(例如您想要的饮料)或更少。表结构通常在经过一轮讨论并实现第一个可运行的原型后确定下来。

无论哪种方式,现在都将规则与流程分开。它们清楚地表达在一个地方。如果它们有误,您可以轻松调整它们。例如,如果您只想在星期二更改饮料,这很容易做到。并且,一旦您在决策表中捕获了该新规则,您就可以简单地部署它。规则可以扩展。在这种情况下,他们也可能会推出给您的配偶,您甚至不必与他们交谈!(好的,我夸张了)。

正如我们将很快看到的,这也简化了工作流程图。

以可执行的符号为工作流程建模

现在,我不同意Zsofia:

形状就是形状。

不要过分强调使用UML为我们规定的正确形状。您可以使用任何可以最好地表达自己想法的东西。而且,更简单,更通用的形状随处可见,因此您不需要特定的流程图产品。

我非常赞成使用标准化的表示法,即流程和工作流的通用语言,即ISO标准BPMN。BPMN图仍然易于阅读,因为它们仅包含方框和箭头。但是语义已明确定义,并且可以在工作流引擎上直接执行该符号。

但是我同意Zsofia的观点,即这不应妨碍入门,因此它可以是在进行初步业务分析之后的第二步。尽管如此,业务分析师仍应了解这些工具,以便能够为自动化准备流程图。

结果过程可能如下所示:

我可以或多或少直接在工作流引擎上执行此操作,我只需要对Slack-bot集成进行编程。不幸的是,我今天必须继续写书,并用尽拖延的时间。

结论

希望您能看到:

  1. 提取规则作为决策表可以使规则更加明确并简化流程。
  2. 使用BPMN可以帮助创建一个更具可读性的图表,例如,因为围绕活动和事件存在清晰的语义,典型的visio图表中混杂了一些概念,使人们思考过多。
  3. 一切都可以轻松自动化 😊
  4. BPMN和DMN是促进业务IT协作的可执行模型。

但是现在我真的需要回去工作。

Bernd的书–《实用过程自动化》 –将于9月左右开始提供。同时,我们的一些Camundos分享了他们最喜欢的“日常自动化”图:

这是开发商倡导者Niall Deehan的上午例行程序:

 

 

顾问内尔·乌勒曼(Nele Uhlemann)的奶酪火锅:

 

有一个有趣的“日常自动化”图吗?您可以联系我们分享它 -我们很高兴看到BPMN使您自动化。

相关教程