Pattern Questions for Harvesting Business Rules from Business Process Models
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. URL:. 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 rules[1] 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 in our methodology for business analysis, BABusinessSpeak™. These pattern questions represent thinking tools to help business analysts 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. |
Conditional Flows
Pattern Question for Conditional Flows
Pattern Question BP1: Conditional Flows |
|||
What are the criteria for deciding whether a case follows a conditional flow? | |||
Ask specifically: | |||
What is required for a claim to be considered valid? | |||
Sample business rule specifying a conditional flow: | |||
A claim may be considered valid only if all the following are true: |
|||
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
Pattern Question BP2a: Existence of Prior Output |
|||
Before a business task is undertaken, what should have already been produced? Does performance of a business task require some prior business task(s) to have produced some specific output(s)? | |||
Ask specifically: | |||
What should already have been produced before a claimant is notified that a claim has been denied? | |||
Sample business rule specifying existence of a prior output: | |||
A claimant may be notified that a claim has been denied only if the specific reason(s) for denial have been determined. | |||
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
Pattern Question BP2b: Use of Prior Output |
|||
Is a business task required to use or to apply the results of some previous business task in a given way? Can a business task be performed correctly only if the output(s) of some previous business task(s) are involved in a specific way? | |||
Ask specifically: | |||
Is the business task Notify Claimant required to use or to apply the results of some previous business task in a given way? | |||
Sample business rule specifying a specific use of a prior output: | |||
The reason(s) for denial of a claim must be provided to the claimant when the claimant is notified that the claim has been denied. | |||
Comments:
- 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.
Inter-Task Timing
Pattern Question for Immediate Inter-Task Timing
Pattern Question BP3a: Immediate Inter-Task Timing |
|||
Should performance of a subsequent business task begin immediately upon completion of a prior business task? | |||
Ask specifically: | |||
Should performance of the business task Notify Claimant begin immediately upon completion of the prior business task Verify Basic Claim Information? | |||
Sample business rule specifying immediate inter-task timing: | |||
A claimant must be notified as soon as their claim is determined invalid. | |||
Comments:
- 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
Pattern Question BP3b: Maximum Inter-Task Timing |
|||
Should performance of a subsequent business task begin within a certain maximum amount of time after completion of a prior business task? | |||
Ask specifically: | |||
Should performance of the business task Notify Claimant begin within a certain maximum amount of time after completion of the prior business task Verify Basic Claim Information? | |||
Sample business rule specifying maximum inter-task timing: | |||
A claimant must be notified within 5 days after his/her claim is denied. | |||
Comments:
- 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
Pattern Question BP3c: Minimum Inter-Task Timing |
|||
Should performance of a subsequent business task begin only after a certain minimum amount of time following completion of a prior business task? | |||
Ask specifically: | |||
Should performance of the business task Make Payment begin only after a certain minimum amount of time following completion of the prior business task Adjudicate Claim? | |||
Sample business rule specifying minimum inter-task timing: | |||
A claimant must not be paid sooner than 15 days after his/her claim is approved. | |||
Comments:
- 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
Pattern Question BP4a: Maximum Timing between Iterations |
|||
What is the maximum amount of time allowed between iterations? | |||
Ask specifically: | |||
What is the maximum amount of time allowed between successive requests for additional information from a claimant for a claim if no response is received from them? | |||
Sample business rule specifying maximum timing between iterations: | |||
The amount of time between successive requests for additional information must not exceed 5 days if no response is received from the claimant. | |||
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
Pattern Question BP4b: Minimum Timing between Iterations |
|||
What is the minimum amount of time allowed between iterations? | |||
Ask specifically: | |||
What is the minimum amount of time allowed between successive requests for additional information from a claimant for a claim if no response is received from them? | |||
Sample business rule specifying minimum timing between iterations: | |||
The amount of time between successive requests for additional information must not be less than 24 hours if a response is not received from the claimant. | |||
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
Pattern Question BP4c: Maximum Iterations |
|||
What is the maximum number of iterations permitted overall? | |||
Ask specifically: | |||
What is the maximum number of requests for additional information from a claimant for a claim allowed overall if no response is received from them? | |||
Sample business rule specifying maximum iterations: | |||
The total number of requests made for additional information for a claim must not exceed 10. | |||
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
Pattern Question BP4d: Maximum Time for Completion |
|||
What is the maximum amount of time permitted overall for successful completion of a loop? | |||
Ask specifically: | |||
What is the maximum amount of time allowed overall for a claimant to respond to requests for additional information for a claim? | |||
Sample business rule specifying maximum time for completion: | |||
The total amount of time for a claimant to respond to requests for additional information for a claim must not exceed 10 days. | |||
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
Pattern Question BP5a: Actor Event Initiating a Process |
|||
Are there circumstances under which an actor initiating a business process is prohibited? Are there times when an actor presenting a brand new case is inappropriate? | |||
Ask specifically: | |||
Are there circumstances under which an actor must not make a claim? Are there times when an actor presenting a brand new claim is inappropriate? | |||
Sample business rule specifying an actor event initiating a process: | |||
A claim must not be made on a legal holiday. | |||
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
Pattern Question BP5b: Temporal Event Initiating a Process |
|||
What are the appropriate timing criteria for a temporal event to initiate a business process? | |||
Ask specifically: | |||
What are the appropriate timing criteria for determining when it is time to make payments? | |||
Sample business rule specifying a temporal event initiating a process: |
|||
The time to make payments must be every two weeks, on Friday at noon, EST. | |||
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
Pattern Question BP5c: Spontaneous Event Initiating a Process |
|||
What specific conditions produce a spontaneous event that initiates a business process? | |||
Ask specifically: | |||
What specific conditions produce suspicion of fraud? | |||
Sample business rule specifying a spontaneous event initiating a process: | |||
A claim must be suspected of fraud when any of the following are true for the claimant: |
|||
Comment: Whether a claimant has a history of fraudulent claims probably requires additional rule analysis.
Next month's discussion focuses on pattern questions specifically for concept models.
For further information, please visit BRSolutions.com
References
[1] All 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.
# # #
About our Contributor(s):
Online Interactive Training Series
In response to a great many requests, Business Rule Solutions now offers at-a-distance learning options. No travel, no backlogs, no hassles. Same great instructors, but with schedules, content and pricing designed to meet the special needs of busy professionals.