How do you want that Standard?
Blog: Collaborative Planning & Social Business
You know the old adage: If want something real bad, you get it real bad. If you want something worse, you get it worse. This comes to mind when I think about the DMN proposed standard. Why? There is something about the process that all technical standards go through…
I am writing again about the Decision Model and Notation (DMN) specification which is a promising approach to modeling decision logic. It is designed by a committee.
A group of people come together to accomplish a goal. We call it a committee. It most certainly is not a machine for high quality designs. It seem more like a troupe of slapstick clowns than a machine. I have participated in that, I know. There are many different agendas:
The True Believer: This is someone who really really want to make an excellent contribution to the industry. They work very very hard. Unfortunately they follow a course set by myths and legends of the last system they designed. They fear going down the wrong blind alley. They tend to zealously follow a new, innovative, and possibly untested, direction. The true believers spends a lot of time on Reddit.
The Gold Digger: This is a consultant who knows that complicated complex documentation of any kind needs a host of experts who can help explain it to people. Like everyone, they fear ambiguity in the spec, but also they fear incompleteness and simplicity. Justified by an attempt to be complete, they tend to drive the spec to be endlessly long and complex and to include as many side topics as possible. The gold digger sticks to Linked In.
The Vendor Defender: The defender knows that the principle risk is that someone else will implement this before they do. Therefor they contribute copiously when the spec appears to be going in a way contrary to their existing technology investments, but sit back and relax when it appears that the committee is going nowhere. Their fear is that the spec will be finished before they have resources to implement it. They tend to quickly bring up all the (obscure) problems with the spec (particularly ones that conflict with their existing approach) but are slothful when it comes to finding solutions that they don’t already have. The defender watches MSNBC and CNN.
The Parade Master: This is a person who is primarily interested in the marketing value of having a well branded name, a logo, and the ability to claim support by many different products. Their fear is that nobody will pay attention to the effort. They tend to push the spec to be very easy to implement in superficial ways in order to claim support and to include all the proper buzz terms in all the right places. You can find them on Twitter.
The Professor: This is a person from academia who is probably quite knowledgeable about all the existing approaches, even some from ancient history more than 5 years ago. The professor typically proposes well thought out, consistent approaches without regard to pragmatic aspects of whether the average user can understand it or not. Their fear is that this effort will needlessly duplicate an earlier one, or fail to leverage an earlier good work. The professor, beyond blogging, has hacked Siri and Google Analytics together to bring feeds from The Onion.
Levels Of Conformance
Different people with different agendas work together to make a document that leads the industry in a new direction. Some want a super complete super detailed, some want everything that works and only things that work, and other want a minimal set just barely enough to glorify the claim to have implemented it. The solution is to allow for levels of compliance, and DMN is no exception. There are three levels of conformance:
- Level 3 – implementations must conform to the visual notation guidelines of the spec, both for the overall picture (DRG) as well as for the parts that compose the overall graph (DRD). There are requirements on the metadata of these parts. And the decision models must have conditional expressions in the FEEL expression language.
- Level 2 – like above, but expressions can be in a simplified language
- Level 1 – like above except that there is no requirement on how the conditions are expressed. The conditional expressions do not need to be executable, and could in fact be arbitrary pseudo code that looks like a conditional expression but that “are not meant to be interpreted automatically.” Basically, all bets are off as to the conditions that the decision is based on.
Level 1 compliance is essentially useless for designing a decision model that actually makes decisions for you. Since the expressions can be literally anything, there is no possibility to design a model once and use it for anything other than printing out and looking at. You can’t show it to others who know the standard and have any confidence that they can understand it. Clearly, vendors are making decision tables that work, but they each work differently, with completely different kinds of expressions, and different interpretations.
Even within the areas that are supposedly enforced, there are many optional aspects of the model. Several diagrams are listed with the caveat that they are only examples and many other examples would be possible — without stating how those might be constrained. The spec states in places that the design can be implementation dependent.
Level 1 conformance is quite convenient for vendors. They can claim that any implementation of decision tables as conformant as long as the graphics conform to some fairly basic layout requirements.
What Does the Customer Want?
The purpose of the standard in the stated goals. DMN lists these two goals:
- The primary goal of DMN is to provide a common notation that is readily understandable by all business users, …. DMN creates a standardized bridge for the gap between the business decision design and decision implementation. DMN notation is designed to be usable alongside the standard BPMN business process notation.
- Another goal is to ensure that decision models are interchangeable across organizations via an XML representation.
You want decision models created by one person, and understood by another. It is that simple. The decision logic written by one person must be unambiguous, it must be clear, and it must not be mistaken for meaning something else. Level 1 conformance simply does not meet either goal to any degree. At level 1, the decision expressions can use any syntax, any vocabulary, and any semantics. By way of analogy, it is a little bit like saying that a standard message can use any language (French, German, or Creole) just as long as they use the roman alphabet it can still be considered understandable. The condition expression is the heart and soul of any decision model.
Clearly, allowing any expression language — even un-formalized ones — helps the vendors avoid doing work. Today vendors have their own proprietary expression languages. Level 1 conformance does not require that they change that.
It is similarly clear that if you take a model from a level 1 tool, and bring it to another tool, there is no guarantee that it can read it and display it. Most products require that the expressions be in their particular expression language, and so it will most likely fail to read and display the file. You are locked out of any other Level 1 conforming tool.
What Do You Need?
If you are considering modeling decisions as a user, you are going to invest time and effort into learning a lot of details. Do you want to learn something that might not in the future be part of the standard?
I am not saying the proprietary solutions are bad. A completely proprietary solution might be good for you. Something stable and proven might be more suitable than a half-baked solution that claims to be standard. But if you want a standard. If you want your learning to be good for many years. If you want your investment to pay off. Then you must insist on level 3 conformance or nothing.
Level 1 conformance is no more standard than a proprietary solution. If you are a member of an organization and design decisions for others to use, you might be better off with a proprietary non-standard solution than a Level 1 conformance solution. With level 1 you have no guarantee that anyone else will be able to read and understand the decisions you are writing down. The only point of writing down a decision is to allow people to clearly understand all the conditions. The very heart of the decision model is the conditional expression, and without conformance level 3 you have no assurance of that.
What about level 2? It is a half way measure. It could be OK but I don’t know anyone who is serious about it. The only reason that vendors fail to have level 3, is because they have some other fully functional proprietary language. When the vendor is ready to have something other than their proprietary language, they will go most likely go all the way to level 3. Level 2 is not going to be an issue in the future.
Level 3 or Bust
Level 3 is the only level of DMN conformance you should consider. In fact, level 1 is a kind of dishonest deception. Level 1 does not deliver on the promised goals of the standard. Level 1 is just a marketing ploy to allow the committee to claim more support than they really have. But the last thing we need is a bunch of partial, incompatible implementations. If DMN is to become a success, all vendors need to implement the full compatibility, and they need to hear this loud and clear from the customers.
I have no love for the expression language (FEEL). I will talk about the problems in my next post. However there is a benefit in having a single consistent expression language across vendors. I can support it, if everyone implements it.
Do not be sucked into claims for Level 1conformance by the parade master. Support the true believer. Insist on full implementation, and don’t be fooled into something that fails to deliver on the goals!