Part one of this article provides an introduction to applying the concept of sustainability to business rules. It specifies that “Sustainable Business Rules” are rules that:
- Can be managed, maintained, supported, and will hold up over time.
- Provide the necessities of the business and can be nurtured as business changes.
- Remain affirmed as valid and can be strengthened with new facts. Sustainable Business Rules should have at least the following characteristics:
Part two of this article examines how to achieve sustainable business rules. It looks at changes in roles, changes and improvements in processes, and improvements in tools. It also presents several challenges for Business Rules Vendors.
In part three, I examine the characteristics at the core of the sustainable business rules concept.
Originally when I outlined the complete article, I was going to dive into the characteristics one-by-one. After collaborating with my colleague Daniel Chaput, we concluded that there is much more behind these characteristics than just individually examining them. The characteristics are tightly inter-dependent and inter-related. They can be categorized in the following logical view. (And one could argue other logical views as well.)
Logical View of the Characteristics of Sustainable Business Rules
This logical view helps one to understand the change in roles (as described in part 2 of the article). As the role of IT shifts to an enabler, the involvement of the business community is directly with the manageability and maintainability of the rules. The business community will assure the rules are safe and compliant (securable) as well as valid from business and quality assurance perspectives. The traceability of the rules in all directions integrates them all together. Ongoing changes and enhancements to rules become extensions of development with significantly less IT involvement.
Manageable
Manageability of rules deals with the ability to apply various aspects of rules management to rules throughout the life cycle of the rule, creation thru its final deletion: mainly the processes set forth by rules governance, rules stewardship, and rules traceability thru the various levels of abstraction of business rules. For example, manageable rules have distinct owners defined and enforced as securable rules (traceability).
The understandability of the rules is important at all levels of abstraction. The defining of source rules uses well defined business terms and facts. The refining of the source rules uses rule grammar guidelines (such as BR Solutions RuleSpeak). Management of source rules applies to all rules, regardless of implementation targets and instances. It is also critical to synchronize and link the source rules to the implemented rules and vice versa (traceability).
The design of business rules needs to be both expandable and extensible. These characteristics are similar but there is a distinction between the two.
Expandable rules are rules whose attribute values add to one of its condition components without producing inconsistency. The design of expandable rules can be done thru rule templates. The design can also make use of reference data tables. So a rule expands easily by adding some attribute values due to a change to the reference data table. A rule also expands by the business user adding an attribute value thru a rules maintenance application which exposes a user interface that is built on the rule templates. For example, a particular rule checks a list of product codes which expands to cover new product codes in that rule.
“Extensibility is a system design principle where the current implementation takes into consideration future growth. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. An overriding theme is this is done without impacting (changing) the current system functions.” (From Wikipedia, the free encyclopedia)
Often, due to the nature of the rule change, one must extend the rule rather than just adding attribute values (expandable). An example of an extensible rule is an auto underwriting rule designed such that it extends easily to accommodate electric and hybrid cars in addition to gas-only cars. This extension may require some object models changes (new terms and facts), rule set changes, and rules template changes. One completes the change very easily (usually with minimal programming involved) due to how the rule was originally designed to allow for extensions.
Since business conditions and strategies can change very quickly, the rules must be adaptable to new situations. Reusable rules will allow for quick implementation in these situations, as the base of the rule is already defined. One reuses it by adapting it to the new scenario.
Maintainable
Maintainability of rules, while related to manageability, deals with the ability to add, change, obsolete, delete rules thru the rules management process, with understanding, ease, speed, accuracy, correctness, and completeness. Maintainable Rules are easily implemented and take hours or days, not weeks, to change and test with none or minimal programming involved. Impact analysis of rule changes is thorough and complete. The existing rules and rule execution results are queryable, providing in-depth analysis. One can easily detect rules that have never fired and may be obsolete or incorrect.
Securable
It is critical thru rules governance to define who are the owners and the stewards of all rules. Rules must be made securable to enforce these rules governance policies. It is also critical to track thru version control and archives, what rules were in-force at a particular time, who changed them, when they were changed, and for what reason they were changed. Rules must be auditable in order to ensure compliance with business policies and regulations
Testable
Rules must be testable as soon as they are defined. The unit testing of a rule to determine correctness of the rule from the beginning is powerful. The use of scenario testing provides a broad range of potential error detection. Rules must be tied closely to test cases all the way from unit testing thru regression testing (traceability).
Also, the determination of the completeness, consistency, non-redundancy, non-overlapping, and dependency of rules early in development process will reduce errors rather than uncovering the errors in later stages of testing or in production. This is accomplished through verification and validation. Rule pattern analysis and rule family analysis also aid in this effort.
“Verification of knowledge rules is to guarantee a consistent, complete and non-redundant knowledge. Validation of knowledge is to guarantee the correct behavior according to the business experts. So as you can see, there is a significant distinction between the two:
- Verifiable – is the rule “right” in its expression?
- Valid – does it act the way it is supposed to, thus “correct”?
(From Librt www.librt.com)
Consideration within a Project using a Business Rules Approach
All of the characteristics of sustainable business rules need to be considered and addressed in some way right from the beginning of a project developed with a business rules approach. They are not bound to a particular phase of a lifecycle. This is a radical change from traditional systems development.
Summary
Sustainable business rules are achievable. If one pays close attention to the characteristics and fully addresses them with due diligence, the result will certainly be a great saga of more flexible business systems, faster response to changing business conditions, lower costs of doing business, lower error rates, and a myriad of other benefits.
Please consider the following for your own particular situation or business rules project:
- What difference do these characteristics make?
- Why should one strive to develop sustainable business rules?
- Is it all just of bunch of fluff theory with no real world applicability?
- How can I apply this concept?
Sustainable Business Rules: The effort is worthwhile. The impact is immediate. The payoff is long term.