Post Menu and Details.
Reading time: ~4 minutes
A decision tree, part of Decision Model and Notation, is a way to standardize the language of business decisions based on rules that are defined, most often as simply as in a table. With a decision tree, decisions can be modeled and executed using the same language, and the decisions and rules alike are modeled within easy-to-read tables, which make them easily executable by your favorite decision engine. The streamlined simplicity of decision trees makes for easy edits and quick fixes, as well as an elimination of the need for translation between business analysts and developers.
So we know that decision trees use rules. But, what defines a rule? Well, in a decision tree, you define a specific input — and based on that input, you will receive a specific output (the “decision”) in return.
That input has to meet certain criteria to qualify for certain outputs, and though you might get similar inputs from one instance to the next, the final decision is actually based on the criteria that are set. These criteria are qualifiers, conditions, that decide what outcome is “true”.r This interplay of criteria and the input/output relationship is what makes up rules: a rule is simply a condition that states an output should be one way when the input is proven to meet certain criteria.
Anything else, any other ways to define a “rule”, would be far too complicated — because the rule is how a decision tree works. Input goes in, and according to the table of referable outcomes, only a specific output is possible based on its criteria.
A rules engine is a software program that stores and executes specific rules — like the decision tree rules — to a business process environment. In many cases, these rules are core to the business process, able to define its overreaching operations with “business logic”, or the business rules of the programming, to ensure a specific outcome doesn’t occur within the production.
Rules engines are as complex as they need to be, given that they don’t come up with the rules themselves. In most cases, you’ve provided the rules for them to use, and the engine enforces them in the process you’ve defined for the engine. Whatever outputs you desire can easily be prioritized with this kind of tool, and the software is clearly meant to be a powerful boon to anyone who understands business decision-making.
Regardless of how useful a rules engine can be, though, it needs rules in order to make those decisions. That’s where the power lies, and that’s what makes sure you get what you want out of any given interaction, be it within your process or outside of it. Rules are what keeps things sane. So when you’re looking to implement a rules engine in your business process, you’ll need to define the decisions it’s able to make.
Any decision tree is useful enough to aid in the construction of a rules engine. Not every rules engine requires complex, multi-tiered rules to allow for proper process management. However, a complex decision tree rules engine does account for more possibilities.
One of the reasons that are true is because a complex decision tree can take into account various different factors, especially ones that prove to be mutually exclusive, mutually inclusive, or based on ranges rather than “true or false” Boolean validations. As a result, when numerous conditions are occurring within a process, your rules engine can remain informed by a decision tree to take on those various conditions, factors, and qualifiers, to pinpoint the exact right outcome for such a set of criteria.
Decision trees are the backbone upon which a rules engine works, and without the simplification of the logic that comes in a decision tree, a rules engine would need a manual update to its interior logic to match what’s on the table. Decision trees are designed the way we understand them today because it’s easier for implementation, not just by developers, but by computers themselves, including the software that governs your business process and the rules it’s meant to follow.
Meanwhile, rules engines are the execution of a decision tree. With a decision tree, a person or a computer can execute, and when a person has to, there’s often a margin of error, and the implementation can take time.
When software takes on the executive role, though, it’s much simpler: there’s less room for error, and a machine like a rules engine can execute the specifics of a decision much more quickly than a human ever would. Without rules engines, without a method of execution, each business process would be monitored, controlled, and mandated by manual decisions, rather than automatic ones.
The decision tree is what informs a rules engine — and the rules engine is what executes a decision tree. Without one another, it falls to an intermediary, a person in the middle, to accomplish what could otherwise be done between these two tools.
Thankfully, automation of rules engine use and of decision tree creation means that the system that governs business processes is growing less and less dependent on that person all the time. Soon enough, you won’t even need to be the one to create a decision tree for your business — it’ll just learn what you want through execution alone. But until then, these two separate tools have proven to have a relationship worth utilizing at every possible chance.
Thank you for reading!