Responsibilities for Task Assignment
Who is Responsible?
Following in the real world, BPMN uses another easy-to-remember concept for modeling purposes called Pool and Lane. This concept is used to model responsibilities in business processes. The lanes can be compared to a swimming pool as swim lanes - as they actually look like them.
The pool and lane concept allows assigning tasks to responsibilities instead of the other way around. This makes indeed more sense since every task is performed by someone and assigning the same person to multiple tasks again every time would be very cumbersome (which was the case in notations like EPC, https://en.wikipedia.org/wiki/Event-driven_process_chain).
A Pool is usually representing the whole organization, in which the process takes place.
Lanes represent the actual responsibility for executing tasks, which could be a role, department, position and (not recommended) even a named person.
Responsibilities in Process Models
In general each lane of a pool is responsible for executing all assigned tasks. Since the sequence flow connects the task, a crossing of lane can also be considered as a handover of information and responsibility of execution, so the involved process participants have to interact and communicate with each other.
The usage of pools and lanes is explained with the following story of Tim and Robert, two mates who share an accommodation.
A sad story of a dinner...
Tim has found a new recipe on the internet but unfortunately, he can't cook very well. Fortunately, his flat-mate Robert loves cooking and is happy to try out the new recipe. However, after cooking the delicious dinner, Robert was so hungry that he could not wait any longer for Tim (who was on a call with his mum). So, he started eating dinner alone.
- prepares dinner
- eats dinner (Tim is not involved)
...with a good ending!
While Robert was already eating, Tim has smelled the dinner during his phone call and went to the kitchen - just in time! Now they can both eat together.
- prepares dinner
- eats dinner
Tim (additional process participant)
is also involved into the task 'eat dinner'
Let's conclude what we have observed in the example above:
- Responsibilities (Lanes) belong to one organization (Pool), in our example: the shared accommodation
- Responsibilities for tasks can be visualized in process models
- via lanes
- via additional process participants
Although additional participants are assigned to tasks, there must be one major responsibility owning this task. You can think of a person, who makes sure all assigned additional participants get together.
Naming Conventions for Pools and Lanes
All the naming styles used in this picture are correct and can be used also in combination, even though the "Person" style should be avoided if possible.
Using named person for defining responsibilities is not recommended as names are subjected to change and increase the level of maintenance for all affected processes.
Best Practice: Use Roles instead.
Key Takeaways: Responsibilities
Exclusive Gateways (XOR)
Usually, in a business process, not all tasks are always executed. In most business scenarios, decisions are part of the process in order to control how to proceed in certain cases. These scenarios obviously affect the design and structure of your process model. First and foremost, this means that within the process model we have to split up the sequence flow into different paths.
Our First Process Model
In the previous lesson we learned how to use events and tasks in order to create our first own process model. We connected a start event that represented a need of being hungry with several activities of buying, preparing and eating a meal in order to reach the satisfying feeling of being not hungry anymore.
But wouldn't it be even more satisfying if we could prepare and eat a meal of our choice?
Exclusive Gateway (XOR)
Using the Exclusive Gateway for Splitting (XOR Split)
Based on our previous meal example, let's assume we have different groceries at home to cook something delicious. Driven by hunger, we must now decide about what we want to eat.
The exclusive gateway reads out the result of our decision (select meal) to guide us to the next task. The process flow is being split up into several ones but only one path can be chosen at a time.
In other word: this is an either/or decision.
Reaching the Process Goal
Add Missing Tasks
You might have noticed, there was an important factor missing in our previous example - we never ate, as the process has ended after our meal has been prepared. Our initial goal (being not hungry anymore) was not fulfilled. To be more precise: The process is not modeled completely!
So let's add the tasks to ensure we're not hungry anymore at the end of the process.
Merging Process Branches
Using the Exclusive Gateway for Merging (XOR Join)
Our previous solution at least ensures we reach our goal, but increases the complexity of our process as:
- the "Eat meal" task does not depend on the meals, but applies the same to all different meals
- we created the same process goal (end event) multiple times for each branch
To avoid the problems above we need to find a way of merging all split branches with the original process flow. Fortunately, we can use the exclusive gateway again.
When you split with it, merge with it!
- have a splitting behavior to route to the next required task, based on a certain condition.
- have a merging behavior, to join different branches in the process with the main flow.
- should be used pairwise. That means, if a process flow has been split into several branches with an XOR gateway, the joining gateway should also be an XOR gateway.
- have exceptions to this. A splitting gateway does not have to be merged if the sequence flows go to different end events. This means that the single paths are moved into different paths and do not have to be merged anymore.
Using Exclusive Gateways as Standalone Decisions
Exclusive gateways are not decisions. Why? Because they are not tasks but rather a control element to route the next task, based on the result of a decision which was made previously.
The exclusive gateway itself is not a decision!
Select meal is a task that must be completed before any of the outgoing paths can be selected at the XOR gateway.
Decision is Missing!
Gateways Don't Replace (Decisional) Tasks
Although it looks like there is a decision in the process example below, in fact there is none. A gateway alone is stateless as it's only an instrument to control the next step based on information. In contrast to tasks, a person cannot "own" (be responsible for) a gateway.
Referring to the process example below, it means:
- The actual decision (select meal) is missing and hence never made
- The information of a selected meal is "simply available" right from the beginning on but won't be determined as part of the process.
- Although the XOR gateway is in Tim's lane, he is not responsible for the "routing", as a gateway is just a stateless instrument. In fact, it doesn't matter in which lane a gateway is placed. Its only important to whom the next task is assigned.
Token Concept Applied on XOR Gateways
Referring to our token concept, let's have a look how the process would be executed using splitting and merging exclusive gateways.
Naming Convention for XOR Gateways
As we have seen with tasks and events, elements in BPMN do follow a certain naming convention, in order to understand them quickly and intuitively.
XOR gateways and in particular gateways which handle results / conditions in a process, do also have naming conventions.
Naming Convention for XOR Gateways Test
Key Takeaways - XOR Gateways
Parallel Gateways (AND)
Today, the majority of business processes include multiple tasks, which are executed independently of each other by different departments / people. The process can only continue past a certain point after certain tasks have been executed. To model such a behavior in processes, we can use the parallel gateway (also called "AND" gateway).
Using Parallel Gateways
Executing Tasks Independently of Each Other
In the previous example we didn't have a choice of selecting and eating multiple dishes at the same time. What do we actually do when we want a salad as a side dish?
Let's add a parallel gateway to our process to ensure we can eat a salad AND a steak.
With the usage of the AND gateway, there are some considerations:
- AND-Split: We always have to prepare and eat both - there is no choice anymore
- AND-Join: We can only start eating after both have been prepared
AND-Split and AND-Join
Summarizing the Process Behavior
The following animation explains more in detail what happens technically in the process - with a focus on the parallel gateways.
AND-Split and AND-Join
Applying the Token Concept
Duplicate and Merge Tokens
Referring to our token concept, let's have a look at the process execution, when the process flow get split and merged into parallel branches.
How Long Does the Process Take from Start to End?
The process example provided shows the BPMN element (text) annotation on task, which we have used to document the execution time. Text annotations can be used at any time on any BPMN element to provide helpful hints / information - but they should be used rather rarely to not overload the process model.
However, after considering the individual time for execution as well as the parallel tasks, what's the total cycle time of the process?
How Long Does the Process Take from Start to End - 45 Minutes?
Distributed Tasks by Multiple Resources
The number of resources conducting a process becomes crucial whenever tasks actually need to be executed in parallel. One person cannot perform multiple tasks at once, even if it has been modeled as such. The point is, when assigning parallel tasks to only one responsibility, the order of execution is not important. Let's use a more visual explanation:
Tim is acting alone:
- The cycle time cannot be reduced, as Tim has to do everything alone in a sequential order.
- Even if tasks are assigned in parallel, Tim cannot do both at the same time - but he can at least decide which task to start with.
Parallel Task Execution by Multiple Resources
Tim gets supported by Robert:
- While Tim takes care the steak does not get burned, Robert prepares the salad in the meantime.
- Both tasks need to be completed before they both can start eating together.
Key Takeaways - Parallel Gateways (AND)
Inclusive Gateways (OR)
Sometimes, business tasks require flexibility.
Imagine, you're working at a telecommunication provider, where the customer can add different products for an extra charge to the main contract for internet & phone. Those could be:
- An internet security package
- An additional router for a better Wi-Fi connection
- An additional mobile hotspot to connect from anywhere
The business process should be designed in a way, that all of these options can be chosen and the related business tasks get executed, based on the chosen set of options. They can't be mandatory, as not every customer want to add all three options every time to the contract. They also can't be exclusive as different products can always be combined.
The Inclusive Gateway (also called OR Gateway) allows modeling situations described above. Or in more specific words: To model business scenarios, where different options can be combined while ensuring that at least one option has been chosen.
How Does the OR Gateway Work in Detail?
This gateway is the most flexible one, as it behaves as a mix of exclusive and parallel gateway.
On the splitting side, it can either trigger only one outgoing sequence flow (like an XOR) or multiple ones at the same time (like an AND) plus bringing the capability to also combine only a few of all possible conditions - or even all of them. This aspect of flexibility might be difficult to understand just by looking at the OR gateway in a process model - but it can be very helpful in certain scenarios to replace a set of nested XOR and AND gateways.
On the merging side, the OR gateway can either synchronize different tokens (like an AND) or just passes a token forward, if there are no others (like an XOR). The specialty is, it doesn't wait for tokens on ALL incoming sequence flows (as the AND does) but only for the ones which are actually on their way.
Due to its capability of handling different options, the number of actual combinations is not visible in the process. Here is an example.
Shared Tasks - Depending on the Case
While for some processes, we know all the responsible roles and personas ahead of time, for other processes the responsible parties may vary depending on the situation.
Looking at the process below, we can say:
- All members choose a meal together (although Tim makes sure they all come together as a main driver of this task).
- Example Case A: They all agree on having pasta and salad. That needs to be prepared by Tim and Robert.
- Example Case B: They all agree on having steak and salad. That needs to be prepared by Sarah and Robert.
- Example Case C: They all agree on just having pasta. As a pasta expert, Tim takes care of cooking a delicious pasta meal for the group.
- In the end, Tim makes sure that they all eat together.
The following video shows, how the tokens are created, based on a certain case (steak and salad).
Inclusive Gateway - Key Takeaways
Well done! Now it's time to have a closer look at common mistakes in practice, which might occur when the wrong combination of Gateways have been used!
Avoiding Unintended Process Flows
Unintended process flows? How can this happen? As we've learned until this point how to control them via gateways? Well, if you always consider the rules for splitting paths, merging flows correctly, using gateways always pairwise and following the naming convention, then this shouldn't happen at all. But we are humans and learning by making mistakes is in our nature - especially when complex business processes need to be modeled. Fortunately, we can show you the most common pitfalls and how to avoid them.
The token concept helps us in analyzing incorrect process behavior and to correct process flows, so the tokens don't get stuck in the process.
Incorrect Process Flows
Stuck in the process.
Deadlocks can occur when a parallel merging gateway waits for multiple tokens to synchronize but at least one token doesn't exist. Sounds weird? Check the process example below to figure out how this can happen (by accident).
- The parallel splitting gateway creates 2 tokens (green flow)
- Token 1 traverses "prepare shipment" and arrives at the parallel merging gateway (to get synchronized)Token 2 traverses "check customer status", "offer premium membership" and arrives at the parallel merging gateway (to get synchronized)
Problem: The parallel merging gateway expects a third token (red flow) as it always awaits a token on every incoming sequence flow. Unfortunately, this token doesn't exist - so the process gets stuck at this point (Deadlock).
Fixing the Deadlock
Add the missing XOR Join.
To fix the problem, we just need to add the missing exclusive gateway to join the 2 sequence flows into one.
Multiple Task Execution
Multi merges are not necessarily an error in terms of BPMN - but in most cases they create an unintended process behavior. They can occur when multiple tokens are not synchronized (to one) - or in other words: If a parallel merging gateway is missing.
- The parallel splitting gateway creates 2 tokens (green flow)
- Token 1 traverses "prepare shipment" and arrives at the exclusive merging gateway - and gets forwarded to "send order"Token 2 traverses "check customer status", "offer premium membership" and arrives at the exclusive merging gateway - and gets forwarded to "send order"
Problem: Without synchronizing the tokens created by the parallel split, the task "send order" is executed twice, and they also reach the end event twice.
Fixing the Multi Merge
Add the missing AND Join
To fix the problem, we just need to add the missing parallel gateway to synchronize the 2 tokens in the process into one, which gets forwarded to finally send the order.
Modeling Exercise - Order Processing (Part 1)
This is an active process modeling exercise, to be done in Signavio Process Manager. You may own already a license and can start immediately. If not, you can also register for a 30-day trial version for free and start in 3 minutes.
However, all three modeling exercises in the course are completely optional but give you the chance to apply your knowledge and also get familiar with Signavio Process Manager!
Get your 30-day trial version (in 3 minutes)!
Feel free to register for a 30-day trial version and explore the Signavio Process Manager (and other products of Signavio Business Transformation Suite). No credit card / payment required. Link: https://editor.signavio.com/p/register
MyStore Inc. is a medium-sized mail order company. Due to the growing number of orders, the management has decided to document the business process of stock-to-delivery. Among other reasons, they also expect an improvement of onboarding new employees by providing transparent knowledge about internal processes.
If MyStore Inc. receives an order, an employee from the order acceptance team first enters the order data. The customer receives an order confirmation afterwards. An employee from the warehouse team then checks the delivery priority for the order.
If the customer has a premium status, the goods will be prepared for express shipment, otherwise for regular standard shipment.
While all preparations for the shipment are being made, the invoice will be created and send to the customer by the order acceptance team. Finally, the order gets shipped by the warehouse team.
Assignment Process Description
- Transform the "order processing" description into a compliant BPMN 2.0 model.
- Please only use the elements you have already learned and model the perspective of the MyStore Inc. There is no need to include external process participants yet.
- Estimated time effort: ~ 45 min
Modeling Tip 1 - [SMALL SPOILER]
At least one XOR and one AND gateway is required to model the process.
Modeling Tip 2 - [BIG SPOILER]
Consider this blank shape model as a design orientation.
Double-check Your Answer
If you think you are done, check your solution again for syntax, semantics and naming convention issues. Also think about a user-friendly / readable look and feel for your diagram.
When you are ready, view the sample solution and compare it with your own.
Signavio Solution to the Order Processing Assignment
Congratulations! You've completed the section on Control the Process Flow!