July 06, 2008   Sign In |  About ebizQ |  Contact Us |  Join ebizQ Gold Club
James Taylor
James Taylor's Decision Management
James is one the leading experts in enterprise decision management, a published author and a principal of Smart (enough) Systems LLC. His blog discusses the use of decision management technologies like predictive analytics and business rules to deliver agility, improve business processes and bring intelligent automation to SOA.

« Diamonds, decisions and processes | Main | Business users can (and should) maintain rules »

October 01, 2007
Why you SHOULD loosely couple processes and rules

I saw this post last week by Jesper Joergensen - Can business processes and business rules be too loosely coupled? - in which he discusses one of Sandy's posts from the Forrester conference - Forrester Day 2: The three B’s. Jesper takes issue with Sandy's comment about the value of loosely coupling processes and decisions. Now I agree with Sandy on this so I thought I would address Jesper's points one at a time:

  • How do you control where your changes to a business rule apply if it is only loosely coupled to your processes?
    Well you use decisions, and decision services, as I discussed last week. There is a difference between rules-driven decisions, which should be loosely coupled and rules used to control the process, which should not be. The difference is crucial as business decisions are, in fact, completely independent of the processes that use them and so must be loosely coupled while routing rules, for instance, are integral to the process and must not be.
  • How do you know after the fact, which rule version was applied during which process execution?
    The same way you know, after the fact, what process version was applied. The decision logs which rules executed just like the process logs what steps were executed. The process should care what version of the decision was executed - the specific rules are relevant to the decision, not to the process.
  • I am sure an insurance customer would prefer *not* to have the rules changed in mid-process, say affecting the price of the policy after you have agreed to purchase it.
    Well duh! The agreement to purchase it on the part of the customer would come after the underwriting decision was made. However, if the law changed while the process was waiting for a report, say, then the insurance company had better be sure that the underwriting decision was taken with the rules that were supposed to be in force then, not the ones in force when the process started! Again, the lack of a clear distinction between rules that are part of the process and those that drive business decisions accounts for the disagreement Jesper has.
  • And how do I find out during an audit, which version of the pricing rule was applied to which customer on-boarding process?
    See above - by logging it, of course.
  • There are two ways to solve this. You can provide an external governance mechanism that restricts certain changes to rules, or manages the correlations of different rule versions with process instances.
    Well you had better do this no matter what! Tightly coupled or not, the rules about how you treat customers, how you enforce regulations etc. had better be properly governed! As for coupling the process version and the decision version, why? The way I take a decision can change even if my process does not and the way I handle a process might change even though my core business decisions do not. I can change the pricing rules I use in my pricing decision without changing my order fulfillment process, for instance.
  • Or even better, the BPM and BRE are sufficiently well-integrated to manage this for you.
    Integration is not the answer here. None of his issues would be solved by integration. Proper rule design, a proper logging approach, good governance etc are what's needed and they are needed if you smush your decisions into your processes or manage them properly.

I have blogged on this topic a few times, notably:

Posted by jtaylor in Business Process Management • Business Rules • Decision Technologies |Digg This|Add to del.icio.us

Trackback Pings

TrackBack URL for this entry:
http://www.ebizq.net/mt/mt-tb.cgi/2366

Comments Post a comment




Remember Me?

(you may use HTML tags for style)

We ask that you type your code (displayed below) in the text box.This code is an image that cannot be read by a machine. It prevents automated programs from submitting comments.


Code:



Most Recent ebizQ Blog Entries
ADVERTISEMENT
This Work
Accountability:The opinions expressed in this blog are solely representative of the blog's author, and not of ebizQ

Subscribe to our Newsletters
ebizQ Weekly Gold Club Update
Live Webinar Updates
Updates from ebizQ Partners
ebizQ SOA Update
ebizQ BPM Update
ebizQ Security Update
ebizQ BI Update
ebizQ Open Source Software Update
Virtual Show Newsletter
ebizQ Web 2.0 and the Enterprise
Your E-mail Address:
Changing Tires on a Moving Car
Case studies and solutions for governing the continuous evolution of complex SOA systems

Date: Jul 15, 2008
Time: 12:00 PM ET
(16:00 GMT)

REGISTER TODAY!
Roundtable Discussion: MDM's Role as a Critical Enabler for SOA
Date: Jul 16, 2008
Time: 12:00 PM ET
(16:00 GMT)

REGISTER TODAY!
Archived Webinars | Upcoming Webinars

Marketing Solutions | Feedback | About ebizQ | Unsubscribe | Privacy Policy | Site Map

Live Chat