Introduction
BPMN, or Business Process Model and Notation, is a notation for business process models representation. To learn more about this notation, check out our article What is BPMN?
Next, we will go deeper into BPMN and how to create these models: how to generate different flows in the process, organize them, build the sequences, and how much the notation allows you to do.
How to generate different flows in the process?
Different flows in the process are created by using BPMN’s defined gateways. For example, exclusive gateways allow us to set which path to be followed based on a condition. Just one path can be chosen.
A gateway do not represent an activity but a decision point. For example, if we have a purchasing process for evaluation and then approval to confirm the purchase, it is not enough to have this portion of the flow:
We must have an approval activity to indicate whether the purchase evaluation is satisfactory. This way, we have the following flow section:
In addition, since we will continue along a single path, the logical conditions must be mutually exclusive. For example, following the purchasing process example, when loading the Purchase Order (PO), its value will determine who should authorize it: the Chief, the Manager, or the Director:
It is advisable to determine a default path to ensure that there is always a way to follow. For example, as seen below, when a condition for communicating acceptance isn’t fulfilled, it will default to “Communicate rejection”:
A gateway cannot merge paths and create paths at the same time. For instance, the following process section is not correct:
Instead, we should have one gateway to merge paths and another one to split them, as shown below:
Inclusive and parallel gateways allow the division into several parallel flows. For each gateway that divides flows, it is advisable to have another one that merges them. Below, we can see an example:
Let’s organize the process by roles
Using pools is recommended when making process diagrams, as it helps to clearly identify the roles that participate in it. Below, you can find an example of a pools’ based two-step approval:
Although using pools is recommended, it is not mandatory. Besides, pools can be confusing and take up more space in the case of complex sequences.
How do we use sequences?
A sequence defines the flow between two process elements. However, there are some restrictions:
- An activity must have a single outgoing sequence unless it includes boundary events or conditional sequences.
- There cannot be any activities that are not connected to a sequence.
- After using a gateway, it is recommendable to label the different paths.
The example below shows an activity with two outgoing sequences, but one of them is triggered in case of expiration by a boundary event:
How do we identify the endpoints of the process?
It is recommendable when we create models in bpmn to define unique and different endpoints for each possible result that can be obtained by applying the process. For example, if we have a process that can end in approval or rejection, it is advisable to have an end event for each of them:
Activity considerations
- Activities must represent an activity within the process, having a beginning and an end.
- An activity cannot group the work of several processes.
- An activity cannot represent continuous monitoring.
Limitations of BPMN notation
BPMN describes processes’ logic and activities flow. However, to implement the BPMN design in our organizations, we must address several points that the notation does not cover:
- Tasks Logic: we must define how to carry out each model activity.
- Process Data: what data to use, configuring with what type of control will be diplayed, and what information or domain they store. In addition, it is necessary to indicate how they interact throughout the process.
- Users for each role: it is desirable to structure an organizational chart of the organization by configuring the different teams and defining responsibilities.
- Business rules that shape the process: providing the basis for decision making and possible flows.
- SLAs and KPIs: determining the expected and maximum timeframe, and with which KPIs we will measure this process.
These elements can be defined and implemented in a BPM system, such as Qflow.
Conclusions
BPMN defines a standard notation for business process design. In addition, we provide a set of best practices for the definition of these processes that will allow us to implement them in our BPM system. To learn more about implementing BPMN in Qflow, do not hesitate to contact us or start testing it yourself.