Keep in mind...
Business rules enable the business to make better, more consistent decisions in day-to-day business activity
Learning by Doing: Techniques
Policy vs. Rule
Business Policy: No new home-owner insurance during storm threats.
Business Rule: A home-owner policy must not be issued for a home within the 4-day cone of uncertainty for a storm.
Requirement vs. Business Rule
Requirement: Provide a feature to handle electronic funds transfer.
Business Rule: An employee expense reimbursement must be processed through electronic funds transfer.
How to find business rules?
- Repetitive behavior in tasks
- Operational decision points
- Non-trivial areas of work
- Business rules embedded in code
Conflict - rules contradict each other
Subsumption - the rule is already covered by another
Redundancy - rules state the same thing essentially
Similarity - rules that are potentially identical but have inconsistent specific qualitifications
Computation Rules: "The net profit must be computed as the gross sales amount minus the overhead amount"
Derivation Rules: "A customer must be considered inactive if the customer has not placed an order in the past 3 years"
Decision Rules: Knowing how to decide something - Decision Table
Behavioral Rules: Rules that people can violate; "A customer must have an assigned agent if the customer:
has placed an order, and
is not inactive."
Identifying Major Decisions
i.e. "Is the applicant eligible for auto-insurance?". For each major decision:
Define business rules that apply to all sub-decisions of the major decision
Estimate 5-10% of overall business rules within the major decision
Estimate one-week effort per major decision (subject to scope)
Identifying Sub Decisions
i.e. "Has the applicant given acceptable evidence of insurance?" For each sub-decision:
Define business rules that apply to all cases for a sub-decision first
Systematically develop the business logic for each case within each sub-decision
Estimate an average of 2 weeks per sub-decision (subject to scope)
If steps 1-3 are done correctly, project team members can work on cases or sub-decisions in parallel
Addressing Breaches to Rules
1. Determine enforcement level (strictly enforced, guideline, etc)
2. Determine what messaging is needed in case of a breach
3. Determine business response in case of a breach
Always clearly define each and every part of a business rule that is not cut and dry;
"Kids must be in bed by 11:30 on school nights."
1. Time-of-day rule: Time-of-day is determined by parents' watch
2. In-bed rule: "In-bed" must be interpreted to include all of the following: Electronics off, lights off, you are in your own room/bed alone, you are washed up.
Continue with School-night rule, Washed-up rule, etc. until all remaining terms are derivable or computable.
Remember to assign terms instead of keeping quantities/amounts in the business rule, i.e. "Customers must not be able to place more than 3 orders per day." becomes "Customers must not be able to place more orders than the maximum number of orders per day."
Two rules: "A customer may have access to the warehouse only during regular business hours." and this exception "A gold customer must have access to the warehouse 24/7."
Become: "A non-gold customer may only have access to the warehouse during regular business hours; gold customers have access 24/7."
Use when you can identify a pattern but cannot create a computational formula.
1. List the potential outcomes
2. List the considerations (what do we have to consider in making this decision?)
3. Define the individual cases (what are the actual different inputs?)
4. Define a default and place at the top of the table