We use cookies and other similar technologies (Cookies) to enhance your experience and to provide you with relevant content and ads. By using our website, you are agreeing to the use of Cookies. You can change your settings at any time. Cookie Policy.

James Taylor's Decision Management

James Taylor

Decision Management Concept #4 - Business Rules

user-pic
Vote 0 Votes

There are a number of advantages gained by expressing business logic in business rules and using the processing and management facilities included with a Business Rules Management System to work with them. In brief summary:

  • The separation of decision logic from mechanical implementation gives you more flexibility to make changes with minimal or zero impact on basic systems operation.
  • Business rules are more understandable to business-level people, leading to better business/technical cooperation, reduced implementation times, and fewer opportunities for interpretation errors.
  • Business rules are easily segmented into groups for control over functional interaction and management.
  • Business rules management systems have interactive testing, execution flow, cross-reference tools, and reporting features to aid in development, testing, and documentation.
  • Business rules management systems have predefined rule replacement features to handle system updates without interrupting service to application users.
  • Business rules can have explicit times and dates when they should go into and out of effect.
  • Rule management templates can be created to let users update, view, or create rules in a controlled manner without knowing anything about syntax or code.
  • The rule engine can quickly look through large sets of rules, finding the proper ones to apply based on case-specific conditions. No code is required to specify which logic subroutines should be fired in which order.

Business rules syntax allows for a great deal of flexibility that you cannot replicate in traditional programming languages. Rules may be written with English phrases such as "If customer's age exceeds 65 then set customer's discount to .05". This type of familiarity lets business policymakers work side by side with the implementation team. Indeed, several of our customers have put business analysts through the rule writing course and had them writing rules, with no previous programming experience.

Another key difference is that this approach "describes" each unit of logic independently in a business rule. Rules are precompiled into a decision structure that organizes condition combinations for very fast determination of all rules affected by a given set of condition values. A particular condition state is calculated only once, rather than in each separate "line of code" where it might appear in a traditional coding block. The sequencing work that would need to be planned by a coder in writing multiple possible execution threads is automated by the rule engine. As a result, the rule developer can focus on the "correctness" of each atomic piece of logic instead of the sequencing and nesting of if-then-else constructs.

Business rules also allow business users to maintain rules provided some basic criteria are met:

  • Present rule maintenance as a business function
    It cannot look like they are being made to maintain code - it must look like they are doing what they want to do - changing the way their business runs
  • Make the environment familiar
  • Integrate the process of rule maintenance
    It should let them do rule editing when it makes sense for the user, for instance when they see a report telling them something should be changed
  • Make it secure & controlled

Using business rules in this way helps address some of the major problems found when rules are managed as though they are requirements. My friend Scott Sehlhorst has a great post on why you should keep rules and requirements separate.

James Taylor blogs about decision-management technologies such as predictive analytics and business rules, discussing how they deliver agility, improve business processes and bring intelligent automation to SOA.

James Taylor

James Taylor blogs on decision management for ebizQ, and is an independent consultant on decision management, predictive analytics, business rules, and related topics.

Sponsored Links

Fico

Subscribe

 Subscribe to this blog by RSS
Subscribe by email:

Recently Commented On

Recent Webinars

    Monthly Archives

    Blogs

    ADVERTISEMENT