Business Process Trends had an article posted by Steve Minsky who gave the example:

  • If a customer has good credit then assign a credit rate of 6
  • If a customer has good credit then assign a credit rate of 8

These rules, however syntactically correct, contradict each other; they would cause the arbitrary assignment of a credit rating of “6” to some customers and “8” to others. This intermittent kind of business logic error is extremely difficult to diagnose with even state of the art testing tools. After the system goeslive, it may be months with unknown losses of customers or unprofitable accounts until the error is detected and corrected.

Extremely difficult yes, but Acumen Business has put this functionality inside their Rule Manager. Discover your anomalies in Biztalk policies with the brand new Rule Manager here.

Note: that rules that use facts from assemblies in the GAC are causing problems on the rule anomaly algorithms. This hopefully will be addressed soon.