
Consider the following example.
Behavioral Rule: A student with a failing grade must not be an active member of a sports team.
This business rule:
- Is not about selecting the most appropriate sports team for a student – i.e., not about the decision, Which sport team is best for a student?.
- Does not apply only at a single point of determination – e.g., when a student joins a team.
Instead, the business rule is meant to be enforced continuously – for example, if a student who is already active on some sports team should let his or her grades fall. What’s the business decision for when a student’s grades fall and they should be taken off a team? Be real, there’s no good answer to that question.
This example is no outlier. Businesses have 1,000s of behavioral rules like this.
Let’s be clear – I believe a business-decision-based approach is very powerful for
decision rules. I have written much about that. And I don’t disagree that many business-rule projects have floundered due to lack of pragmatic organizing principles (e.g., “decisions”).
But if you take a decision approach to behavioral business rules, either it will prove woefully incomplete with respect to integrity, or you’ll quickly start to drown in (system-level) decisions.
In my opinion, an application that has to be designed and to operate to treat violations of behavioral rules as just more decisions is
not a smart enough system.
The detection of violation events for behavioral rules can be, and should be, completely under the covers (identified, detected and supported by a platform). Otherwise the solution won’t scale. And there will be so many decision dependencies it will steal from the very real value of a business-decision-based approach.
This frankly is a sign of immaturity … or lack of imaginative leadership … or IT bias … or whatever … in some parts of the decision-model community. The detection of a violation of a behavioral rule is an event, not a decision. A business decision is a business decision; a system decision is … well …
why even go there?!
P.S. There are 3 specific examples and more complete discussion about this topic on http://goo.gl/NCnLi.