I. The Agile Business Rule Development Practices (ABRD)
The Agile Business Rule Development (ABRD) Methodology provides a framework that project teams may adapt to meet the needs of their specific business rules application project. The methodology supports the full rule lifecycle, from discovery to governance by using an ‘agile’, iterative approach. ABRD activities fall into five categories described below. Each of these activities is executed multiple times as the process is followed.
1. Harvesting
1. Rule Discovery: Harvest rules, using short workshop sessions
- Divide the decision process in smaller chunks
- Determine the inputs, the outputs, the error cases
- Use concrete scenario and pull them through the rules
2. Rule Analysis: Understand and prepare rules for implementation
- Refine rules to be atomic
- Look for ambiguity, contradiction, incompleteness or redundancy
- Reconcile the rules with the object model (term-fact modeling)
- Identify rule patterns, and rule dependencies
- Define test scenarios against the object model
- Assess: Rule volatility, and Rule sharing opportunity
Tools: Documentation Roles: SME, BA
2. Prototyping
1. Rule Authoring Early Stage – Rule Design
- Define rule set
- Define the BOM
- Define the project structure
- Prototype rules
2. Rule Authoring
- Develop rules
- Develop unit tests
Tools: Documentation, Rule Designer Roles: SME, BA, Developer
3. Building
1. Rule Validation
- Develop functional tests
- Involve SME for feedback
Tools: Rule Designer, DVS Roles: SME, BA, Developer
4. Integrating
1. Rule Deployment
- Use Rule Execution Server staging platform
Tools: DVS, Decision Center Roles: SME, Developer
5. Enhancing
Tools: DVS, Decision Center Roles: SME, Developer
II. Rules atomicity, patterns and dependencies
1. Rules atomicity
Atomic rules
- Cannot be simplified without loosing meaning
- Conjunction of conditions resulting in a single action
2. Rules patterns
Rule pattern analysis helps to:
- Select the right rule artifact (action rule, decision table, …)
- Structure rules in packages and articulate the rule flow
- Create rule templates
3. Rule dependency
Rule dependency analysis helps to:
- Structure rules in packages and articulate the rule flow