Why DMN is the next big thing and you will be excited
Every 6 months we publish a so-called “minor release” of the Camunda BPM platform. The upcoming release 7.4 is scheduled for 30 November, and it will support the new OMG-standard for decision management, DMN.
DMN is currently our priority 1 topic, for a simple reason: We believe, that DMN will become as important for automating decisions, as BPMN has become for automating processes.
I will briefly explain why we think that and then describe how Camunda will embrace DMN, which will make you very excited
Why DMN is the next big thing – Part 1: The problem
I have been in the BPM space for more than 10 years now, and ever since I have seen business processes closely related with business rules. I would even argue that they are two pieces of the same puzzle: the ambition to improve your organization’s scalability. It is therefore not surprising that many companies that introduced a BPMN process engine, also used too look at traditional business rule engines. In fact, there are many examples of companies that integrated Camunda with JBoss Drools, Visual Rules and similar products.
However, traditional rule engines come with a number of disadvantages. I am not talking about particular products, but the market in general. The main pain points I have personally heard from our customers are:
- Developers find rule engines often very complex and hard to use.
- Analysts complain about the lack of a lean, user-friendly interface to define and maintain business rules.
- There is no (successful) standard for describing simple and complex business rule sets for modeling and execution. This leads to a lack of business-IT-alignment and very vendor specific skills that people need to build up and maintain in order to handle those products.
A senior manager from a German insurance company (that is already using a “traditional” rule engine) recently put the situation in a nutshell. He said:
In the last 2.5 years, our company introduced BPMN and reached a new level of process management. However, in terms of rule management, we are not there yet. We need something similar for business rules, as we already have for business processes.
That is just anecdotal evidence, which is why we conducted a survey in the beginning of 2015. More than 450 individuals from all over the world participated, providing helpful data for investigating the problem in detail.
Here are some essentials:
- Most participants (81%) consider business rule automation important or very important. That’s no surprise.
- Most participants (58%) describe their business rules in decision tables, followed by decision trees or other techniques (30% each, the answer options were not exclusive).
- Most participants (55%) automate their business rules in plain programming, only 35% use a business rule engine. In our follow-up interviews, we figured out that this was often due to the reasons I have described above.
- Most participants (60%) are more or less unhappy with their current approach.
There is much more I could bring up to provide evidence, but long story short: It is quite obvious, that the matter of business rules is staying behind its potentials.
Why DMN is the next big thing – Part 2: The solution
I won’t claim that the DMN-standard is the silver bullet, but there are some aspects that I consider very promising:
- The way the formal metamodel is defined is similar to BPMN and CMMN.
- You can therefore get the same killer feature: Model decisions in a business-friendly way, and directly execute them in a developer-friendly engine.
- It is not an over-engineered, academic behemoth, but rather lean and pragmatic.
- It comes with some nice innovations, like FEEL, an expression language that is more business-friendly.
- Our developers like it, and that’s always a good sign
- It’s a standard. Period.
This is not the place to explain DMN in detail, but you can find a very simple tutorial here. If you are wondering why I am talking about the problem of “business rules”, and then calling something like a “decision management” – standard the solution, here is my brief answer: In terms of the problem domain (or “use case”), I do not see a difference between “business rule management” and “business decision management”. There are differences in the concrete way to solve the underlying problems, on all levels (notation, execution etcetera). But I basically think that the new term especially allows us to get rid of some legacy that comes with the old world of “business rule management”.
The last aspect is very important: It allows companies like Camunda to implement a “decision engine” in a lean way, without the need to consider any aspect that the old guys from the academic ivory tower of “business rules” would call mandatory.
And here comes the killing blow: If you had to choose between two super-powers to assist your work, would you rather pick a “rule engine”, or a “decision engine”? I mean, come on, you probably like making decisions better than obeying rules
How Camunda is embracing DMN
We are currently implementing the DMN standard in two ways:
- We are implementing a browser-based decision table editor that allows you to create and edit standard-compliant DMN-Files. You can try out a first draft right now.
- We are implementing the execution of DMN files in the Camunda BPM platform. You can try out the first alpha-release right now.
As always, all this is published under an open source license, and as I said above, you can expect a first stable release by end of November 2015.
But this will not be the end of it.
Generally speaking, Camunda is becoming a BPM platform that lets you apply all three relevant OMG-standards for BPM: BPMN for structured workflows, CMMN for unstructured case management, and DMN for decisions. The three building blocks are seamlessly integrated, allowing you to start CMMN cases from a BPMN workflow or vice versa, or execute decisions as part of your BPMN workflow or CMMN case. Of course, each of these building blocks can also be used stand alone, which can make a lot of sense, given the fact that one of Camunda’s core values is embeddability.
This brings us to the next aspect: Camunda BPM will certainly not become the next heavy-weight BPM-Suite. Camunda has always been and will always stay an embeddable, lightweight and open framework. It is possible to incorporate BPMN, CMMN and DMN in one execution engine and keep that engine very lean. That’s what our developers are currently doing, and since it is all open source, everyone can check it out for themselves.
Based on our project experience and what we have learned from the survey we conducted as well as follow-up interviews, we will implement some things for DMN that you will probably appreciate. Here are just a few examples:
- Super easy, browser-based DMN editor, seamlessly integrated with the most awesome BPMN editor in the known universe, bpmn.io.
- Tracking of decisions that have been made, i.e. you have a “history view” of what has been decided, and why.
- Live changes for decision models, i.e. you can change your decision logic at runtime, without a redeployment.
- Embeddable, testable and scalable decision execution that developers will love.
You will be excited
Hopefully you are excited now already – I certainly am
I encourage you to stay tuned. You can do this by:
- Following us on Twitter – Any news will be published there first.
- Visiting BPMCon, where a big German insurance company will provide a first war story about DMN. Heads-up: The event is mostly in German.
- Visiting our Community Day. That event is already booked out, but you can shoot us an email to get on the waiting list.
- Attending our DMN Training – To be held in beautiful Berlin in November.
- Just watching Camunda.org, where you will find the newest release as soon as it’s available.
Alternatively, you can ignore the whole thing and do business rules the old way. It’s your decision.