Don’t Program a System, Educate It!

Modern decision management techniques enable business decisions by supporting a path from data to decisions and actions. Wherever people use stand-alone Business Rules, Complex Event Processing, Predictive Analytics, Optimization systems or their combinations, they prefer to put in charge subject matter experts and not software developers.  Actually, all these systems tend to be declarative and allow customers to feed their systems with externally maintained business knowledge, e.g. historical data and/or already known business rules. Nowadays people in a way want to educate a general purpose system with their domain-specific knowledge avoiding traditional programming.

Below is a quote from Jean-Francois Puget who wrote the following about systems like IBM Watson:

You don’t program a system, you educate it. Rather than coding into the system, you merely provide a large set of training examples.  For instance, Jeopardy Watson has been trained with a large number of Jeopardy questions and their corresponding answers.”

He depicts different decision-oriented techniques along “The Analytics Continuum” on the picture below and notes that different techniques can already be successfully used in each of the existing analytics levels:

AnalyticsContinuumI will try to apply this “educational” perspective to the most popular decision management technique known as “BRMS” (Business Rules Management Systems). How usually our customers “educate” a general purpose BRMS when they are creating custom decisioning system in their own “context specific” domain?

In most cases customers do not start from scratch and usually select an existing general purpose tool, for example from this Catalog of BRMS tools. Then they actually educate the selected BRMS about their particular decision environment.  If customers follows the DMN (Decision Model and Notation standard) approach, they usually utilize this “educational” plan:

  1. Defining Decision. Start with defining a decision as a hierarchy of sub-decisions and/or associated business knowledge models using a high-level Decision Requirement Diagrams (DRDs) or a tabular format
  2. Defining Business Glossary. Business glossary is a placeholder for all business concepts and related decision variables used inside DRDs and business knowledge models
  3. Defining Business Knowledge Models. The business knowledge models describe the business logic as relationships between decision variables. They may be presented in a form of decision tables or other DMN constructs.
  4. Defining and Running Test Cases.
  5. Integrate with IT. IT people do not have to even look at the decision logic and the glossary usually serves as an integration point.
  6. Go to 1 – for enhancements and modifications.

As an example of an implementation of the above plan, you may look at the OpenRules-based decision model described in the DMN Section 11 and presented here.  This example uses only Excel to provide all necessary “educational” materials:

  1. Defining Decision: Process.xls
  2. Defining Business Glossary: Glossary.xls
  3. Defining Business Knowledge Models:
  4. Defining and Running Test Cases: Data.xls Results.txt

Different DMN supporting systems provide their own “educational” tools but it does not change the fact that a business user concentrates on business concepts and their logical relationships including various calculation formulas. In most cases it is not necessary to do programming.

Usually a user is trying to quickly build a working decision model (a pilot) that covers a minimal number of business concepts with mainly major input and output decision variables plus simplified rules that specify how to define the decision’s output from its input. However, the system foundation is already in place! Of course, the tested decision model will need to be integrated with the existing IT infrastructure with the help from developers. But then business people will continue to enhance and to manage their decision model by doing the following:

  • Adding more business concepts and decision variables
  • Covering more complex relationships between decision variables inside business rules
  • Defining and executing more complex tests cases.

This way decision management becomes continuing education of already working decisioning system !

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.