Rule Reduction ~ The Route to Atomic Business Rules
When rules are first captured, they often embed multiple criteria that need to be broken out as separate rules. Breaking them out is called rule reduction. The goal is highly granular or atomic expressions of business guidance that can be independently re-used and modified.
Rule reduction should not be a first-pass activity. During rule capture, the most important goal is simply to capture as full an understanding of the rule as possible. Reduction can be done later.
A best practice in rule reduction is never mix criteria for how a computation should be performed in the same rule as do's and don'ts about applying the result. In other words, avoid intermingling structural and operative criteria in the same rule. Following this guideline not only enhances clarity with respect to both kinds of criteria, but also improves granularity.
To briefly illustrate both rule reduction and the application of this principle, consider the following computation rule: The total price of an order item is always computed as the product unit price times its quantity minus 10% if the order is the first order ever placed by the customer. Rule analysis could should result in the following more granular rules, as explained step-by-step.
Step 1. To reduce the complexity of rules, always break out computations as separate rules as soon as possible. For the rule above, this results in the following computation (structural) rule:
The first-time discount is always computed as 10% times the total price of an order item.
Step 2. Be alert to any more general concept(s) not originally expressed that might also apply. For example, the first-time discount mentioned in the original rule is perhaps just one of many discounts that sometimes might be applicable to order items. Express a new (structural) to establish the more general criteria:
The first-time discount is always considered an applicable discount for each order item of the first order that a customer places.
Step 3. Append the now generalized notion about subtracting applicable discounts into the original (structural) computation rule:
The total price of an order item is always computed as the product unit price times its quantity, minus applicable discounts.
Step 4. Express any relevant operative rule(s) about how the results of the computation (structural) rule must or must not be used. This is a rule about the conduct of people, as opposed to the creation of knowledge. It's the one that can be violated.
The amount charged to customer for an order item must be equal to the total price of that order item.
# # #