Cool things you can do with BPMN diagrams (part 1)

One of my favorite parts of process modeling trainings is discussing with participants how do they plan to use those skills. It is a matter of process maturity in an organization (since some of the scenarios require some BPM know-how), specific goals and planned initiatives of the organizations (if you have a budget for process improvement probably you should try to make this project a success instead of adding several other elements to the scope), but also being aware of what is possible.

The goal of this post series is to give you some ideas of how process models (especially BPMN Business Process Diagrams) can be used.
Keep reading →

Inclusive gateways (OR) and tokens

This post is a part four of the series about token and process flows in BPMN.
So far, we covered the simple flow (part 1), situations where only one of the alternative paths could be selected (part 2), as well as cases when all paths outgoing from a parallel gateway need to complete before the process can continue after the merge (part 3). Now, it’s time to tackle more sophisticated situations.

Inclusive gateways

Inclusive gateways (commonly called OR) can be used to show that certain paths will always happen and others only sometimes – depending on certain conditions. You could say that OR gateway behaves like a (compact) mix of XOR and AND gateways.

It’s easy to recognize the OR gateways since they are diamonds with a circle inside (you can think that this marker is a slightly distorted “O”).

Let’s start by comparing OR gateway with XOR.

For XOR gateway you could have many paths outgoing from the gateway. The same applies to OR gateway – there can be 2, 3, or more paths.

Now, let’s take a look at the conditions on the outgoing paths.

For XOR gateway token would take a first path with a condition which is true. So while in practice we would expect the conditions to be mutually exclusive, in theory it could happen that two of them are true at the same time. However, XOR sends a token to a first path which has a true condition, so only one of the paths can be selected.

For OR gateway situation is different. Conditions of all paths are checked and each path which has a true condition gets a token. That’s why we will normally use a pair of OR gateways – for splitting and merging – just like for AND gateways.

Please take a look at the image below and compare differences between XOR and OR gateways.


How would your process log look like if we would have a hot (but not sunny) weather? For both types of gateways the result would be the same: ABEF.

To make it easier to remember let’s assume that it is a process of preparations for a walk and that task B is “Take a bottle of water”.

What about sunny, but not hot weather? Again, both are identical and we get ACEF. Task C could be “Take a sunscreen”.

And weather neither hot nor sunny will give us ADEF in both options. Task D could be “Take a hoodie”.

All those examples have only one token in a process instance, so we do not need any synchronization.

But if our weather is hot and sunny at the same time we will have a different situation.

Our XOR gateway cannot handle it well and (assuming the top path is checked first) we will have ABEF, so the same option as for the hot, but not sunny days. In other words, we will take a bottle of water, but not a sunscreen. Ouch! We might get a sunburn.

Luckily OR gateway comes to the rescue, and we will have ABCEF, which means we will not leave home without a bottle of water and sunscreen. Therefore we will be safe both from sunburn and dehydration 😉

Now, let’s see how do AND and OR gateways compare. As we already discussed, OR gateways allow you to duplicate tokens, just like AND gateways. However, they allow you to send tokens only to selected paths and have a smarter synchronization.

Why smarter? Merging AND gateway waits for tokens from all incoming flows, while merging OR knows which paths were active. So we can easily leave home without hoodie if it is hot 🙂

Last interesting feature of OR gateways which is similar to AND gateways is that you can have paths without a condition. Since they are always valid, they will also always get a token.

Please take a look at the animation below (taken from my course):

If you are worried that readers of your diagrams may not know it, you can always call those paths “always” 🙂

On the other hand – if you are feeling geeky and names of paths like “Neither hot nor sunny” don’t sound technical enough for something which basically reminds you ELSE clause from programming you can mark such path as a “Default Sequence Flow”. It will get a nice slash at the beginning.

Please note that “default” does not mean it is most probable, expected, most profitable etc. path. It only means that token will take this path if no other path has a valid condition.

I hope you enjoyed this quick overview of most common gateways in BPMN. Stay tuned for a new post – this time about Tasks.

PS. If you are curious – there are more gateways in BPMN, but the ones we covered so far should be sufficient for the most of you.

Parallel gateways (AND) and tokens

This is a third part of the series about tokens in BPMN. The first part was about basics and simple flow, the second one was about exclusive gateways (XOR). This time we will cover cases when our process has parallel paths.

Parallel gateways

Parallel gateways (commonly named AND) allow you to show that there are certain things in your process that need to happen, but they do not need to be performed sequentially. Like every gateway, it has a diamond shape, but with a + marker inside.

They can be performed at the same time e.g. by different people or some skilled multitasker 😉 but this is not required.

Important thing is that Parallel gateway will “copy” an incoming token, so that every outgoing Sequence Flow gets one. Those tokens flow independently through your process, so usually we need a second Parallel gateway to combine them again into a single token. This is called synchronization.

Why do we need synchronizations? There are several reasons. Technical reason: if you do not synchronize tokens, they will continue flowing and activating subsequent Activities. Business reason: usually we need AND gateways to show that some things need to be done before something else can happen.

Let’s imagine a simple process of preparing a report. After an initial analysis of a request we need some input from 3 teams: finance, marketing, and sales. It does not matter who sends us input first: finance, marketing, or sales. We need them all. After we have those 3 elements we can prepare a final report and send it.

Does it make sense to make a report on a basis of data from sales only? Probably not. Would the recipients be happy if we would be sending them 3 separate reports instead of one consolidated document? Unlikely. That’s why in 99% of cases AND gateways are used in pairs: one for splitting and one for synchronizing paths.

In case you are wondering what happens in this 1% when there is no synchronizing AND gateway: tokens flow independently, possibly causing some tasks to happen few times (so in an example above we could have a log ABEFCEFDEF). Only after the last token reaches end event process instance ends (unless you use terminate end event of course).

Since every path will get a token (we do not check conditions as we did in XOR) usually it does not make sense to add names to AND gateways.

Now, you may be wondering – would it be possible to have some paths which always happen and others which happen when certain conditions are true? Spoiler alert: you can do it with Inclusive gateways (OR), which we will cover in part 4.

BPMN MIWG capability demonstration 2020

As you may recall from the earlier posts about BPMN Model Interchange Working Group live interoperability demonstrations we usually had part of modelling and exchanging BPMN diagrams among participating tools and at the end session where automation was shown. In 2018 and 2019 we did not have time to show the automation.

In 2020 edition of our demo automation is back 🙂 As previously this presentation will be part of Object Management Group technical meeting (during BPMN in action slot).

As you may guess this event does not take place in Orlando as it was planned, but is virtual so you can easily join us live by registering on OMG website for the event (or using direct link to GoToWebinar registration page). It takes place on Monday June 22nd 11.00 am – 12.30 pm ET.

For the first time we will be streaming the event using GoToWebinar and not Hangouts/YouTube, so keep your fingers crossed!

This year we will have 11 participating vendors: BOC Group, Camunda, Cardanit, Case Agile, Itesoft, KnowProcess, OMNITRACKER, Signavio, Software AG, Trisotech, and Viadee. 6 vendors (BOC Group, Camunda, KnowProcess, OMNITRACKER, Signavio, Trisotech) will be showing automation.

Our demo scenario will be based on a (fictive) EU Bank which documents the current state (AS-IS) processes and develops future state (TO-BE) for the recruitment. If you are using ADONIS probably you will recall those processes since they are (again 🙂 ) based on ADOmoney Bank example.

Here is the overview process architecture which was not part of the interchange demo as it is not BPMN 😉

This demo covers three processes:
a) Advertising job vacancy

b) Current (AS-IS) application process

c) Improved (TO-BE) online application process.

UPDATE:
The recording is now available on YouTube, so you can watch all the session plus Q&A.

You can also download our diagrams from Github:
https://github.com/bpmn-miwg/bpmn-miwg-demos/tree/master/2020-06-omg-technical-meeting-orlando

Below you can find few screenshots where Denis presents models used in the demo.

As you can see first model was extended a bit with Data Objects and object names were shortened (since during our demos it turned out that we don’t have time to type everything 😉

PS. To learn more about BPMN MIWG and watch recordings of past demonstrations visit our site: http://www.omgwiki.org/bpmn-miwg/doku.php
You will also find there test cases and list of tools participating in MIWG tests.

PPS. Below you can see major points of the webinar
Meg Duncan from OMG starts the session and tells few words about Object Management Group.
Denis Gagné starts presentation at 2:56. Denis mentions 11 participating vendors and BPMN 2.0 10th anniversary.
He continues by presenting idea of model interchange (also including hidden attributes).
Afterwards our scenario is presented: EU Bank 🙂 and you can see how it is split between various tools.
Please note that many things will be done in parallel since we had limited time for the demo.
Niall from Camunda starts modelling at 8:51 by creating diagram in Cawemo.
In parallel Gabriele from Cardanit starts modelling another process at 9:54.
At 10:55 Denis introduces Frank from Software AG (ARIS tool) who will start modelling third process.
At 12:05 we move to Simon from Trisotech who will be completing diagram from Niall
As Denis mentions BPMN provides a modelling standard, but each tool has own “tool smarts”.
Tim (KnowProcess) starts extending diagram from Gabriele at 13:55.
Since ARIS part is ready, now (14:54) Chris from viadee can continue.
At 16:05 you can see Benjamin from Itesoft who will extend Simon’s model.
Now at 17:20 Philipp from Signavio continues Tim’s work.
Marion from Omnitracker joins at 18:36. You can also hear Denis explaining that BPMN does not specify colors, but some tools support “BPMN in color” extension.
At 20:20 Benjamin is done and shows the first process: Recruitment (AS-IS).
At 21:20 Boris (CaseAgile with Enterprise Composer) joins the group to extend model from Cardanit in his Visio add-on.
Zbigniew from BOC Group (yes, it’s me) with ADONIS joins at 22:15 to continue Marion’s model. Denis tells more about why BPMN MIWG is needed to make sure tool vendors reach a common understanding of the specification and how do we work together. He also provides a small teaser of the upcoming automation part.
You can see overview of the Online recruitment process at 25:10.
Denis invites viewers to ask question at the end of the session.
Boris shows his full model at 27:05.
And now we are ready for the automation part (27:43)!

Start 2020 strong with knowledge about Fundamentals of BPM

Every year is a chance to learn (and use in practice) something new. I believe in learning from the best – this is why on this blog you can find world-class BPM experts sharing their knowledge with you 🙂

I think that one of the best sources of knowledge about Business Process Management is the “Fundamentals of BPM” book along with the MOOC courses based on it.

You may recall from my post “Back to school 2019: free online courses for BPM professionals” that while awesome MOOC course “Fundamentals of BPM” (run till 2017 by QUT) is not available anymore in an interactive form, video recordings are available.

Professor Marcello La Rosa kindly allowed me to present them in a form more convenient than the original PDF (available on http://fundamentals-of-bpm.org/mooc/).

Below you can find links to pages with videos.

Keep reading →

Token in BPMN

Token in BPMN

Recently I had a chance to discuss concept of token in BPMN with my students and thought you may also find this topic interesting.

So, first of all – what is a token? As opposed to other elements of BPMN like Tasks, Events or Gateways, tokens do not have visualizations.

Specification defines Token as: “a theoretical concept that is used as an aid to define the behavior of a Process that is being performed”.

Keep reading →