Why DMN might beat COBOL as a business-oriented language

Mork Calling Orson – IT Talking to the Business by Stefaan Lambrecht

10/02/2016

The Elevator Pitch

One morning a few years ago -at that time I was the COO of an insurance company- I had a meeting with our IT department about the implementation of a brand new policy management application.
So, a few minutes before the meeting I stepped into the elevator that would bring me to the 17th floor. Just before the elevator doors closed Charles Nutmate, one of our IT analysts heading for the same meeting, joined me in the elevator.

“Nanoo Nanoo”, he said, as he shook my hand.

And while the elevator rode up to the 17 th floor he treated me to an inspiring elevator pitch about some ideas he had for our new application. This was what he literally told me: “EVALUATE TRUE ALSO desired-speed ALSO current-speed WHEN lid-closed ALSO min-speed THRU max-speed ALSO LESS THAN desired-speed PERFORM slow-down- machine WHEN lid-closed ALSO min-speed THRU max-speed ALSO GREATER THAN desired-speed PERFORM speed-up- machine WHEN lid-open ALSO ANY ALSO NOT ZERO PERFORM emergency-stop WHEN OTHER CONTINUE END-EVALUATE”.

I must say that I really was flabbergasted by what he just stated. Although his story was expressed in a clear and structured way using a very common and moreover business-oriented language I didn’t have a clue what he was talking about.

When I told him so, he was both shocked and insulted. He couldn’t understand how I as a representative of the business didn’t even make the effort to understand and speak a language that IT developed specifically to bridge the gap between business and IT: COBOL, in full “Common Business-Oriented Language”.

He couldn’t imagine that even a few decades after its introduction there were still business people being so rude and stupid as not to fluently master this extremely practical language.

Business and IT on Speaking Terms

Obviously, unless you are a real nerd, you already understood that the story above is pure fiction. Nevertheless, it tells us a lot about the frustrating journey of the past few decades to figure out how language could help us solve the gap between business and IT.

COBOL was one of the numerous attempts, but as you can see above, not really a usable one. More recent attempts are SBVR (OMG’s Semantics for Business Vocabulary and Business Rules) or FEEL (Friendly Enough Expression Language), which is a constituent part of the Decision Model and Notation, OMG’s standard for documenting and modelling business rules and logic.

One thing I learned from these initiatives is that, whenever the committees behind these languages find it necessary to give it a name containing “business-oriented”, “friendly enough”, “natural” or “common”, you should be warned: it is just expressing the goal they had in mind, but were unable to reach.

The bottom question remains whether language turns out to be the most efficient and effective means to solve the communication challenge on business logic between business and IT.

What about MasterMind?

The question then obviously is: what are the alternatives?

Well, let’s have a look at MasterMind. If you would have to explain in whatever language that the patterns of the four code pegs in the hidden row and the last visible row on the board are equal and why, you would have a hell of a job.

Now, by just having a look of a few seconds at the playboard, even a small child will immediately see that the patterns are equal, and that the code has been broken.

In the case of MasterMind, linguistic logic doesn’t have any added value and just makes everything overcomplicated.

The same goes for decision tables. When confronted with the DMN (Decision Model and Notation) table above, every business user will immediately understand the underlying logic for determining the ideal dish for a dinner party.

If one would translate this decision table in natural language, the average reader or user would need much more time to get the same depth of understanding of the logic than using the decision table.

As a linguist I would never state that language is a poor means of communication, but the same way we don’t use language to express mathematical operations, we should consider other methods to describe business logic than just by using (un)natural languages, as they either lack structure or intuitivity.