*Camunda Platform 8, our cloud-native solution for process orchestration, launched in April 2022. Images and supporting documentation in this post may reflect an earlier version of our cloud and software solutions.
I’m sure we all can agree that a model requiring additional information at every task can be cumbersome.
Please know that in this situation, it’s better to model everything and leave nothing out. It may seem like your model is overly complicated and confusing, but by documenting every step in the process, you end up making the model more complete, more readable and easier to understand.
How can I make the task I modeled more clear for less experienced users?
This is a great question that inevitably leads us back to some of our best practices for modeling. Let’s say this is your original model:
Yep, that’s hard to follow, alright. As you can see, there are multiple places where more information is required, but the overall flow looks complicated. There are areas where you can’t really see which way the flow is moving, and places where decisions are made, but it’s not clear how.
If we clean up that model using some of the best practices, we can see a new model:
Yes, this model is substantially larger overall, but it’s much easier to read and see what is actually happening at each step. For instance, the use of exclusive gateways between each step clarifies that decisions are being made at each one of those points. We’ve also labeled the output of all the exclusive gateways so that the reader can immediately see what decision was actually made at each point. The first model had many decisions without gateways, so it was unclear as to what decision was being made.
We are now using message events to convey where messages are being used to start, or restart a part of the process.
As you can see, all pathways within the process are clear and easy to follow. We can now also see what kind of messages are being sent.
While the intent of the original process diagram may have been readily apparent to the original designer, it was not necessarily clear to someone coming along later to adjust or modify the process. Being as explicit as possible gives the next person a clear understanding of what is happening, as well as the intent of the process, from the start.
Another key benefit of this approach is that, once the process is deployed and running, it is easier to trace the flow of messages and tasks throughout the entire lifecycle of the process. While today-you may want to cut corners in order to just get the thing done, tomorrow- or next-year-you will thank today-you for being so clear and explicit.
More to Come
Give it a try and let us know if you need any additional help. Stay tuned for another popular question to be answered in this Questions that Need Answers series.
This post is one of many, that you can start looking forward to as part of our new Questions that Need Answers blog series. Recently, we were asked what our most popular user questions are regarding Camunda Platform 7 and Camunda Platform 8. We decided to look through our forum and Question Corner inquiries to find out, and share the collection of answers with you.
Each month, we will work down the list and post a scenario along with the solution to help support you with engineering excellence. Check out out previous post, The One with the Failing Delegate Class.