Digging deeper into the current school of BPMN modeling versus adaptive modeling style
Blog: Frank Michael Kraft's Blog
I want to go a little bit deeper into discussing problems with the current school of process modeling (focus on BPMN and BPMN styles) based on publications.
If we take for example (Allweyer, 2009) chapter 2 we find a first simple BPMN model in figure 1 (translated by me). There is a remarkable statement about this model.
In practice the process of creation and publication of a job post can be much more complex and considerably larger. This model is a strong simplification – as all models in this book are. The purpose is to have clearly arranged models in order to be able to well explain the BPMN modeling elements. (Allweyer, 2009) – Translation by me.
What can we conclude from this? Can we conclude that if BPMN models reflect the full lifecycle and variants of a real job post creation and publication the models are too big and complex to be arranged clearly?
Well – I know the difference between a real modeling project and a didactical book chapter or training. I am giving training myself and therefore simplification for didactical reasons has my full sympathy.
But still it is a remarkable statement, if we think about it for a moment.
Adaptive Process Modeling would state it differently. Adaptive Process modeling would say:
What are the real requirements of the full lifecycle of the creation and publication of a job post including all variants and complexities? How can this be modeled in a simple, concise way? How can the resulting model be free of unnecessary repetitions? How can the model be easy to maintain? Which of the BPMN modeling elements can or must we use for that purpose (and which do we not use)? How do we combine these elements, which rules (or style) govern the composition of these elements to models that fulfill these criteria?
It is a different question and a different approach. Just to make one example: An adaptive process model would always contain data objects (without or with state). Why is this so important? I leave the answer to this question to another post. An adaptive model tries to avoid all the problems that come with tokens and gateways. Tokens and gateways are extensively discussed in chapter 2 and 3 of (Allweyer, 2009). You can see there what happens if a two start tokens are created and run through the process, how tokens are duplicated by gateways, how they circle around in loops and make the whole model very difficult.
The basic flaw of most process models is this: There are two ways of capturing process state:
- Tokens running through a process.
- The state of data objects that are used in or are part of the process
Alternative 2) is by far the better way of capturing process state. It is more natural to say the job posting is approved, than to have an artificial invisible token in a sequence flow line after an activity “approve job posting”. It makes models much simpler, cleaner and concise. Why is this? Because the result of a task is much more important that the task itself. This gives much more flexibility to a process. Why? Because there can be many ways to achieve the same result, and many ways to use the result (the approved job posting for example). In token flow, all of these variants have to be combined into chains and this makes a model complex. Modeling the data object and it`s state is a natural way to decouple parts of a process and adding a point of flexibility.
Notwithstanding 95% of the models I see try to solve their problems with method 1). Why is this so? I do not know. Probably data objects and their state are not considered as part of the process. This is a great error. Actually we need to establish an understanding in which data objects and their states are completely part of the process just as activities are.
And this leads us into the direction of Adaptive Case Management as well. Because Adaptive Case Management is said to be a goal oriented way of modeling instead of a task oriented way of modeling. So the result counts more that the tasks, that lead to the result. The goal in ACM is to achieve a certain result. Just as with data objects and their state. We can say goal oriented modeling, result oriented modeling or data object state oriented modeling. In the end it is very similar.
I teach these principles in (Kraft, 2011).
Allweyer, T. (2009). BPMN 2.0 – Business Process Model and Notation: Einführung in den Standard für die Geschäftsprozessmodellierung. Books on Demand.
Kraft, F. M. (2011). Training: BPMN 2.0 smart anwenden. Retrieved from http://www.adapro.eu/site/seminar/sem-bpmn