Listening several recent presentations of Pragmatic Dave Thomas (see this and this), I cannot help getting back to the fundamental decision modeling problem: Rules vs. Tacit Knowledge (or Intuition). Dave’s explanations of the human learning process can be presented at this picture:
So, Novice humans first learn some rules to become Competent and then Proficient, but to become Experts and even Masters humans are “forgetting” the rules transforming them to Intuition or Tacit Knowledge. These hidden rules become assumed and instead of being explicitly formulated are hidden in an “implicit rules repository” somewhere in human brains.
Doing business decision modeling, we actually moving in the opposite direction trying to extract Business Rules that control decision logic from Experts/Masters who somehow make real-life business decisions:
This commonly accepted approach was formulated as a commandment 3.3 in the Business Rules Manifesto:
Rules must be explicit. No rule is ever assumed about any concept or fact.
Among other reasons, Ron Ross justifies this requirement by business knowledge retention:
The classic test of whether knowledge is tacit or explicit is this: If you lose the person, do you lose the knowledge? Clearly, you want basic business know-how to be explicit.
At the same time, all practitioners who ever did rules harvesting are well aware of the fact that the most critical business rules are frequently assumed and not explicitly expressed. More than that, in many cases subject matter experts know how to handle every particular business situation but cannot explain why or how they do it. As Dave Thomas put it:
Experts know things without knowing exactly how or why they know them.
Just one example from my past experience. That time we implemented a system that was able to find optimal diameters for gas pipelines based on streams, required pressures, corrosion levels, etc. Over the years our program became highly efficient saving a lot of metal and unnecessary investments. At the same time we had old subject matter experts who always were able to improve the results produced by our program. They were able to manually assign some diameters and after automatic recalculation, we usually saw an additional saving. We knew that these experts used to do all calculations manually and we wanted to automate their unique knowledge. However, while they were able to explain why they made their decisions for every particular case, it was impossible for them to generalize the rules they used of doing that.
Why do we face similar situations again and again even these days? Let’s listen again what Dave Thomas says:
No Rules are Universal. All Rules need Context.
For a particular decision model, the context can be described as all feasible combinations of values for all considered decision variables. While the DMN standard and other decision modeling approaches recommend the decision model to cover all possible combinations, it is not practical to come up with business rules that can do it even for relatively small decision models with 20 variables and tens to hundreds values. So, what can be done?
One approach, called Predictive Analytics, is an automatic generation of business rules based on historical data with known results. It is especially promising when you put your rules generation and execution engines in the ever-learning loop as was defined by Tom Mitchel a while ago. Another approach, called now-days Prescriptive Analytics, utilizes Constraint and Linear Programming: see for example my recent Linkedin’s post that offers an interactive what-if analysis of decision models letting a human modeler to define only major business rules without covering all possible variable combinations, and forcing a decision engine to find an optimal solution by minimizing or maximizing a certain business objective.
While these approaches could be helpful in many practical cases, still they don’t address the fundamental problem with decision modeling in general:
Building decision models and trying to explicitly define ALL business rules, we are moving from Tacit Knowledge to Rules, that at the best may put our target decision model at the Proficient level.
At the same time, when a human initially learns how to do things by rules and achieves the Proficient level, s/he is trying to move from Rules to Tacit Knowledge to reach Expert/Master levels.
This difference points us to a not very optimistic conclusion: in spite of a good progress at the Proficient level, the modern decision modeling approaches do not even try to reach an Expert (not mentioning Master) level that will probably require completely different knowledge representation techniques.