BPMN 描述流程。仿真还需要另外四项信息
一个 BPMN 图说明有哪些步骤、谁来执行它们以及在哪里发生分支。但是不能用它直接计算:到达率、离散程度、产能和日历都不在该符号中。此页面说明哪些 BPMN 工具可以进行仿真、它们的仿真各自能做什么,以及什么时候其实根本不需要该符号即可得出数值。
BPMN 2.0 是一种用于描述流程的符号,而不是计算模型。要进行仿真,缺少四项在任何 BPMN 图中都看不到的说明:有多少个事务到达,处理时长的波动有多大,每个角色有多少容量,以及适用哪种日历。像 Bizagi Modeler、Signavio、ARIS、Trisotech 或 Cardanit 这样的工具在各自的对话框中补充这些说明,有的通过 WfMC 扩展 BPSim,有的采用专有方式,这取决于产品和版本。如果流程引擎或委托方要求 BPMN 2.0,就用 BPMN 建模。如果您需要的是数字和流程手册,不用记法会更快。
BPMN 中包含的与不包含的内容
这种区分并非吹毛求疵。它解释了为什么导入的图无论用哪种工具打开,都不能一键直接计算。
“BPMN 2.0 描述的内容:” 活动、事件、网关、顺序流、池与泳道、消息、子流程。即流程的结构。完整、标准化并可在工具间交换。
“BPMN 2.0 不描述的内容:” 在负载下的行为。具体缺少四项说明:
| 说明 | 示例 | 为什么具有决定性 |
|---|---|---|
| 到达过程 | 120 个事务/天,峰值日 180 | 没有数量就没有利用率,也就没有瓶颈 |
| 时长的波动 | 处理 5–15 分钟,而不是“10 分钟” | 等候队列由波动产生,而不是由平均值产生 |
| 每个角色的容量 | 3 人 × 7 小时产出工时 | 决定某一步骤是否运行在高于或低于 100% 的状态 |
| 日历与成本 | 周一至周五 8–17 点,完全成本 53 €/h | 将等待时间转换为以欧元计的值 |
WfMC 的扩展 BPSim(Business Process Simulation Interchange Standard)正是为此而设计:它将这些参数作为单独章节附加到 BPMN 文件中。实际上它的普及程度有限。大多数工具将仿真参数保存在各自的字段中,因此更换模型时通常无法避免重新输入这些数据。
“对您项目的影响:” 导入 BPMN 图为您节省的是结构,而不是数据。而数据才是主要工作。
哪些 BPMN 工具实际上能计算
在比较页面上标注“Simulation ✓”可能意味着从“给方框上色”到“离散事件模拟器”之间的任何情况。这里按计算深度排序,而不是按供应商规模排序。它是您检查的出发点,但不能取代您自己的审查。
| 工具 | 仿真类型 | 备注 |
|---|---|---|
| Bizagi Modeler | 分阶段:流程验证、时间、资源、日历分析 | 最知名的入门选择;建模可免费使用,仿真功能范围视版本而定 |
| SAP Signavio | 套件内的仿真模块 | 优势在于流程档案和治理;仿真只是其中的一个构件 |
| Software AG ARIS | 仿真模块,历史上功能深厚 | 如果已经在使用 ARIS,则很有意义 |
| Trisotech, Cardanit | 浏览器中的流程仿真,接近 BPMN | 规模较小的供应商,通常更易上手 |
| Camunda | 无仿真功能 | 执行引擎:运行真实流程,而不是模拟运行。此点经常被混淆 |
| BPMN.io / bpmn-js | 无仿真功能 | 用于绘图和嵌入的库,无计算内核 |
| 仿真实验室(Arena、Simul8、AnyLogic) | 非常强大,BPMN 通常仅作为导入 | 其运算深度超过任何 BPM 套件,但在那里的符号并非模型 |
在您决定使用某个工具前,向每个供应商问的三个问题:
- 该仿真是否包含在此版本中,还是需要更高版本?
- 它是否会在占用的步骤前对排队进行建模,还是仅沿路径相加处理时间?
- 我能得到的是一个区间结果(P10–P90),还是只有单一数值?
针对第 2 个问题,类别会分开:一个把路径时长相加的工具会把其结果称为“周转时间”,但其实指的是处理时间。在行政流程中,这两者的差异往往不会小于三倍。
在实践中可行的做法
不是非此即彼。BPMN 和计算模型服务于不同目的。
BPMN 图服务于要求 BPMN 的系统和委托: 在流程引擎中执行、以 BPMN 2.0 XML 交换、明确要求这一记法的标准。
FlowVisual 模型服务于决策和日常运营: 这项自动化是否值得,流程能否承受两倍工作量,我们在哪里增设半个岗位。同一个模型会生成包含 RACI、代理人、审批和控制的流程手册。流程每次变化,手册随之更新,因此始终保持最新。
常见步骤:
- 粗略记录流程:五到十个步骤,而不是三十个。瓶颈几乎从不会出现在细节中。现有的 Visio 流程直接导入,无需重画。
- 填入数量、区间、产能和费率。这是 BPMN 不会替您完成的工作。
- 计算,捕获前,改变一个杠杆,证明。
- 用结果支持决策,并从同一个模型输出流程手册。
- 如果流程引擎或委托方要求 BPMN 2.0,再在 BPMN 工具中保留该流程。
为什么要粗略:面向流程引擎的图通常有三十个活动,而一个可计算的模型只需要十个。每增加一个活动就要多填五个输入字段,却不会改变结果。
为什么 FlowVisual 使用六个构件
以六个构件代替一种记法,有意为之。
FlowVisual 有开始、步骤、决策、合并、中止和结束。没有池,没有泳道,没有消息事件,不做记法校验。
BPMN 仍然适用的场合: 如果流程引擎、交换格式或委托方明确要求 BPMN 2.0,请同时在 BPMN 工具中保留该流程。FlowVisual 不导出 BPMN XML。它自行生成包含流程、RACI、代理人、审批和控制的流程手册。
这带来什么: 在研讨会上,业务部门讨论的是流程,而不是记法。一个模型十分钟就能建好,而不是两小时。每一个输入字段都会改变结果:数量、区间、产能、角色、系统、费率。
经验法则:
- 您需要 BPMN 2.0 记法或 XML,用于流程引擎或委托要求 → BPMN 工具。
- 您需要一个决策者愿意签字的数字,以及一份始终保持最新的流程手册 → FlowVisual。
- 两者都需要 → 两者都用,各司其职。
这一比较的详细版本见文章 带仿真的 BPMN 工具。
- 符号
- 六个构件代替 BPMN 2.0;不导出 BPMN XML
- 导入
- 可免费导入 Visio(.vsdx)。不支持 BPMN XML:结构十分钟内即可重画,数据无论如何都要录入
- 计算核心
- 带有在被占用步骤前排队的离散事件仿真,并进行 Monte Carlo 重复
- 结果
- 吞吐量、流程周期、利用率和成本以 P10–P50–P90 形式给出
- 建议
- FlowVisual 用于决策和流程手册,需要 BPMN 2.0 时使用 BPMN 工具
常见问题
能否直接仿真一个 BPMN 图?
没有额外数据就不行。BPMN 描述的是流程结构,而不是负载下的行为。每次运行前都必须补充到达率、处理时长的离散程度、每个角色的产能和日历。带仿真模块的工具会在各自的对话框中询问这些数值;用于此的标准扩展叫做 BPSim,但并非在所有工具中都有实现。
什么是 BPSim?
这是 WfMC 的 Business Process Simulation Interchange Standard。它把仿真参数(到达、分布、资源、成本、场景)作为一个独立部分附加到 BPMN 文件上,以便在工具间交换。这个想法是正确的;但其普及有限,因此实际更换工具通常意味着要重新输入那些数字。
Camunda 是仿真工具吗?
不是,这也是最常见的混淆之一。Camunda 是一个执行引擎:它让真实的事务通过 BPMN 流程运行并测量发生了什么。仿真则是对一个尚不存在的流程进行计算,例如在计划中的自动化之后。两者都有用,但回答的是不同的问题。
一个仿真模型应包含多少个活动?
五到十个。用于文档的 BPMN 图通常有三十个或更多。对于计算这是有害的,因为每增加一个活动就需要填写输入字段,却不改变结果。瓶颈是利用率最高的步骤,而在粗略建模下它与精细建模下一样清晰可见。
FlowVisual 支持 BPMN 吗?
不支持。FlowVisual 使用六个构件,不做记法校验,也不导出 BPMN XML。流程图、流程手册和 RACI 由它自行生成。如果流程引擎或委托方要求 BPMN 2.0,需另外使用 BPMN 工具。六个构件的好处是速度:一个可计算的模型十分钟内建立完成,研讨会中讨论的是流程本身而不是符号。