Previous Post:
I gathered basic understanding of BPM, and BPMN in previous posts. This post is about actually running a BPMN Model in Camunda Engine.
What that means is, suppose you bought a washing machine from Washsuperwell Limited. Couple of years went by, and it started to make a lot of noise during the wash cycle, as well as eating your socks! So, you decided to log a complaint so that the service warranty can be used to fix the noisy machine. How can Washsuperwell Limited orchestrate such workflow to help manage repair requests like the one I just described.
This post does not include the details of what happens under the hood in Camunda Engine, but only demonstrates the life-cycle of a customer support interaction, and introduces you to the web interfaces Camunda offers, and how they can be used by its users.
Here is a BPMN 2.0 model.
I hope the model speaks for itself. The meaning of each “symbol” and the connecting “arrows” is important. Read more about it here.
The usual channels through which one can submit requests such as washing machine repair would be the company website, or a mobile app, or by directly calling them up, etc., and while doing so, the customer might provide info like Warranty Number or something similar, right?
Whichever maybe the channel, that “channel” can be hooked up to Camunda Engine. i.e You submit a request, and Camunda Engine takes over. That’s the Workflow Orchestration and Automation.
In our case, it starts with the “Start Event”(the first thin circle in the bottom lane), and the information you provided when you reached out for help, say warranty number, can be handed over to Camunda Engine.
The next step as per the model is to validate if warranty is valid. This is done by what’s called a “Service Task”(rounded rectangle with gears), as warranty validation can be done by an API call or a software application.
Suppose warranty is valid, then, someone like a customer support agent will assign a task to a service personnel, to visit the customer, and repair the machine. This assignment in our case is manually done, so it’s a “User Task”(rounded rectangle with a human).
Introducing Camunda Tasklist - To manage such “User Tasks”, Camunda provides a simple web interface.
Watch the video below. It’s without audio! I think it helps make things more concrete.
The window on the left - That would be like an administrator/customer support supervisor’s view. They can see how many repair requests have come in, at what step are they waiting, etc.,
The window on the right(Camunda TaskList) - This is for people that are expected to work on the User Tasks, say customer support staff or a repair personnel in our example. A Task would appear, and they can assign the task to themselves, work on it, and complete it. When it’s complete, the “Administrator/Supervisor view” shows the progress via the blue line.
Watch Camunda Process Instance and TaskList in action.
The “Timers” - the “Wait 3 days”, “Wait 5 days” symbols - help manage long running tasks. In our example, if warranty is void, then, Camunda Engine can orchestrate sending out an email, soliciting a paid service and if customer doesn’t reply in 3 days, the request can be closed. If the customer agrees for a paid service, then, the workflow takes the route in which a repair personnel is assigned to fix the washing machine.
Likewise, after the repair is recorded as complete, an email/notification can be sent to the customer, asking for feedback on the service.
The last step in every case is “End Event”(thick circle at the end).
Conclusion
I’m starting to see how powerful Camunda Engine is. I hope you’re able to imagine how a platform like this can bring value and efficiency and streamline the processes of your organization.
In the next post I will document what’s happening under the hood, and also how I implemented whatever the little “automation” used in the example above.
Until next post. :)
Friendly Advice: If your washing machine is eating socks, it’s possible the machine is haunted and I know a lady that knows a guy that knows Black Magic. So, I think I can help.