Excerpted with permission from Building Business Solutions: Business Analysis with Business Rules (2nd Ed.), by Ronald G. Ross with Gladys S.W. Lam, Business Rule Solutions, LLC, 2015, 308 pp, http://www.brsolutions.com/bbs
Think of a business process model as a recipe. I'm no cook, so if I want to bake a cake, I'd better follow the recipe. The great chefs of Paris don't need to though. As long as they produce outstanding results and follow all the rules about health and sanitation, so what?!
A model of a business process, like a recipe, is a task-by-task blueprint for performing repetitive work. A recipe doesn't imply any particular rules, and a rule doesn't imply any particular recipe. (A rule might effectively disallow some recipes, but that's a different matter.) A recipe and a rule are simply different.
What do business rules do for business processes? Collectively, business rules provide guidance and know-how. They shape judgments and operational business decisions in day-to-day business activity. With business rules you can create smart business processes.
Basic business rules1 can be captured from business process models using the pattern questions presented below. Use of these pattern questions represents an important step in externalizing semantics from business process models.
What Are Pattern Questions?
Over the past decade we have developed a series of well-structured pattern questions. These pattern questions represent thinking tools to help practitioners harvest business rules from different kinds of models (e.g., business process models, concept models, etc.). Each pattern question:
The pattern questions are designed to assist practitioners in asking the right kinds of questions in the right ways. Answers typically lead to more questions — and to more business rules. The answers also frequently prove useful in validating and refining the underlying models.
- focuses on a particular topical concern and some particular construct (pattern) found frequently in models of a given kind.
- typically leads to many business rules for the same model.
Pattern Question for Conditional Flows
Comment: This first pattern question is fundamental in externalizing business rules from business process models in an organized and intelligible way. As the example illustrates, the conditional flow is named, but the criteria for deciding whether any given case follows the conditional are not embedded within the business process model itself. Instead, some separate business rule(s) express the criteria. This approach simplifies the business process model dramatically and permits the business rule(s) to be revised independently.
Production and Use of Outputs
Pattern Question for Existence of Prior Output
Comment: Presumably, reason(s) for denial is an output of the business task Adjudicate Claim. The business rule indicates the business task Notify Claimant may be performed for a case (i.e., some claim) only if Adjudicate Claim has produced some reason(s) for denial for that case. Additional points:
- Business rules about outputs are not limited only to those business tasks leading directly into the targeted business task.
- Production of some output does not necessarily mean the business task that produced it is complete. A business task is over only when its whole transform finishes and results in some recognizable state. If a business rule actually requires a state to have been achieved, rather than simply some output produced, we use a different set of pattern questions aimed at business milestone or state analysis.
Pattern Question for Specific Use of Prior Output
- As before, reason(s) for denial is presumably an output of the business task Adjudicate Claim. The business rule indicates that the follow-on business task Notify Claimant must use those reason(s) in a specific way (present them to the claimant) in each case of notification about a claim being denied.
- To use or apply an output in a specific way, that output obviously must have been produced. So this pattern question is actually a stronger version of the previous one.
Pattern Question for Immediate Inter-Task Timing
- An arrow represents a hand-off of work between business tasks. This pattern question asks whether the follow-on business task is to be initiated for a case immediately upon hand-off from the previous business task.
- Often immediate initiation isn't necessary or even desirable, so no business rule like the one above would be needed. More likely one of the next two pattern questions would apply.
Pattern Question for Maximum Inter-Task Timing
- Maximums and minimums represent distinct business rules, so we separate the related pattern questions and address them in pairs as above and below.
- A maximum timing criterion is not limited only to business tasks that lead directly into the targeted business task.
- If an external actor is involved (as in this example) you can think of the maximum timing criterion as defining a service commitment.
Pattern Question for Minimum Inter-Task Timing
- As for a maximum timing criterion, a minimum timing criterion is not limited only to business tasks that lead directly into the targeted business task.
- You can think of a minimum timing criterion as allowing the business some 'float' time, especially if money or other valuable resource will be handed off.
Timing and Iteration for Loops
Comment: The business process model snippet involves a loop (a 'pig's ear') on the business task Request Additional Information. Such loops enable iteration for any given case, which could potentially go on endlessly. The business rule provides a way 'out' of the loop.
Pattern Question for Maximum Timing between Iterations
Comment: We use the keyword phrase if more attempts disallowed for a conditional flow as a standard device to exit a loop. As always, business rules provide the criteria for determining when the condition more attempts disallowed becomes true for a given case.
Pattern Question for Minimum Timing between Iterations
Comment: RuleSpeak prescribes that whenever a business rule counts or measures something in order to constrain it, that something should be indicated as the subject of the sentence. In the example above, the amount of time between successive requests for additional information is being measured and constrained. Following this guideline as a best practice is highly recommended.
Pattern Question for Maximum Iterations
Comment: This pattern question, like all others, is really about working with business people to establish an optimal business policy on the matter.
Pattern Question for Maximum Time for Completion
Comment: Think about the clock ticking while we might try and try again. The business can wait only so long for something to happen.
Events Initiating a Process
Pattern Question for an Actor Event Initiating a Process
Comment: If an actor is permitted to present a new case (e.g., a claim) at any time, no business rule like this one is needed. A case can be made (or received) at any time.
Pattern Question for a Temporal Event Initiating a Process
Comment: In a temporal event, no actor has to do anything to kick-start the business process. So business rule(s) are needed to express relevant timing criteria. The same is true about spontaneous events, as illustrated below, except that the criteria need not pertain to timing.
Pattern Question for a Spontaneous Event Initiating a Process
Comment: Whether a claimant has a history of fraudulent claims probably requires additional rule analysis.
My next Column focuses on pattern questions specifically for state transitions, and are especially relevant for case management.
1All business rule statements in this discussion are expressed using RuleSpeak®. The RuleSpeak guidelines for expressing business rules in structured natural language are free on www.RuleSpeak.com.