Camunda workflow and decision engine is winning the market in recent years. There are several reasons behind this success. One of the key feature of Camunda is, that the model designed in the modeler is precisely understood and executed by the engine.
The business – IT collaboration plays a vital role in every project, where both sides meet. The way people talk about their requirements and how this is understood by each other, causes sometimes a lot of confusion. Work has to be redone, people are getting frustrated, blaming each other and what is the worst case scenario – you notice, that the delivered solutions is not what you expected only at the phase of user acceptance tests.
You can see the difference in the way the team cooperates. I had a talk with Jakub Szeszko, the delivery manager in one of our project, and I’d like to share the most interesting outcomes.
We’ve organized a typical scrum team with product owner, scrum master and the development team. Within the development team we invited the employees of the client like analyst, developers and end users.
We did work a lot on the model and the business logic defined in the decision tables. Instead of documenting the business requirements in long text elaborations, we worked on its visualisation. The decision tables remind me of the specification by example approach, but the greatest difference is that the logic (as example) is ready to be executed by the engine. Developers could focus on the integration and user interfaces.
We also noticed, that even complex BPMN design were perfectly understood by all involved stakeholders also outside the project team. When we presented the results on demo, stakeholders were really pleased to see and understand not only the working solution, but also the logic that is behind the scenes.
Changes are the integral part of each project. Even if your requirements are specific and clear, there are moments when you realize it is not so “easy”. I noticed, that people get to that conclusion faster, when they see their requirements in working model, instead of written text. Seeing the big picture opens the eyes.
Using workflow designs makes it much easier and faster to adapt it. It happened also during the demo, that we adapted the model in the modeller and within next sprint we only tested that change.
When the change concerned only the model, we were able to implement it immediately into production as hot deploy. This gave our client the feeling of flexibility and full control over the process.
From the very beginning of the project we designed the building blocks as universal as needed. For example generate the document out of the template, send the email or sms. Working on next processes we used those blocks with none or very little development. We use that approach in all of our projects, but with Camunda you connect the blocks in the visual model – it is visible to everybody, so everybody feels that synergy.
We usually start projects or presales with event-storming sessions, where domain language and high level process is presented and agreed. Every company, even in the same business uses specific terms to name things. Once the whole team speaks the same language, it is much faster to design the detailed process and the risk of misunderstanding is much lower. Seeing these terms in the designs makes the business cooperate more willingly – they get very attached.
Authors: Jakub Szeszko & Piotr Mazur