building business capability 2012 3nd world congress on decision tables verifying and maintaining...

45
Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Upload: orlando-lewis

Post on 31-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Building Business Capability 20123nd World Congress on Decision Tables

Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Page 2: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

The Speakers

Paul SnowRules Management Chief Architect, SourcePulse Bhushan Naniwadekar

Director of Application Development , SourcePulse

Page 3: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables
Page 4: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Context of the Talk

• Niyum provides a set of tools and services to build Decision Table based Rules

• Cloud based • Workstation support• Niyum is built on DTRules, an Open Source,

Pure Java Decision Table based Rules Engine

http://SourcePulse.comhttp://DTRules.com

Page 5: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Set the page_limit = 0; Set the period = the days from the begin date to the current_date; remove the persons from ages viewed + 1 is greater than the publisher.page_limit The page num is within the chapters_viewed The page Add 1 to the page count; add expected Children to The Client's dependents; Move the client from the

y y y y y n n n n n n - - - - - y n n n n n y n n n n - y n n n n - y n n n - - y n n n - - y n n - - - y n n - - - y n - - - - y n y y y y y n n n n n n - - - - - y n n n n n y n n n n - y n n n n - y n n n - - y n n n

A Decision Table

Conditions

x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

Conditions

The page_limit == 0 The weeks from the begin_date to the current_date > the day_limit the number of pages_viewed + 1 is greater than the publisher. page_limit The page_number is with chapters_viewedThe page_number is within the excluded_chapters Thelimit > 20 The days from the begin_date to the current_date > the day_limit the number of pages_viewed + 1 is greater than the publisher. page_limit The page_number is within the chapters_viewed The page_number is within the

ConditionsCondition

Table

ActionTable

Actions

Page 6: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

In a Decision Table…

The Customer is over 18

The Customer is over 25

Accident Count > 4

Valuation > 30,000 dollars

Driving is Urban

Customer is a home owner

Otherwise

N N Y Y

N Y

Y Y Y

Y

Y Y

N N

*

X X X X

X

Do not Issue Policy

Issue Policy

Page 7: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

These are the rules!In a Decision Table…

The Customer is over 18

The Customer is over 25

Accident Count > 4

Valuation > 30,000 dollars

Driving is Urban

Customer is a home owner

Otherwise

N N Y Y

N Y

Y Y Y

Y

Y Y

N N

*

X X X X

X

Do not Issue Policy

Issue Policy

Page 8: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Documenting the Rules in a Decision Table

The Customer is over 18

The Customer is over 25

Accident Count > 4

Valuation > 30,000 dollars

Driving is Urban

Customer is a home owner

Otherwise

N N Y

N Y

Y Y Y

Y

Y Y

N N

*

X X X X

X

Do not Issue Policy

Issue Policy

Reject Customers under 19 with four accidentsReject Customers under 19 who primarily drive in Urban AreasReject under 26, 4 accidents, no home ownershipReject over 25, 4 accidents, high valuation, urban driving, no home ownership

Otherwise, Accept the Customer

Page 9: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Balancing the Table

Page 10: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Simplifying the Complexity of Rules

Just using the four quadrants and balanced Decision Tables is not a simple way of representing Rules and Policy

• Make the Rules obvious in a Table• Provide Easy ways of Tracking and

Documenting what rules are being applied

Page 11: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Niyum Supports Two Types of Unbalanced Decision Tables

• FIRST – Resolve by priority. Only execute the first column whose conditions are met.

• ALL – Resolve by generosity. Every column whose conditions are met is evaluated.

Page 12: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

First: Execute Until a Rule Matches

The Customer is over 18

The Customer is over 25

Accident Count > 4

Valuation > 30,000 dollars

Driving is Urban

Customer is a home owner

Otherwise

N N Y

N Y

Y Y Y

Y

Y Y

N N

*

X X X X

X

Do not Issue Policy

Issue Policy

Reject Customers under 19 with four accidents Reject Customers under 19 who primarily drive in Urban Areas Reject under 26, > 4 accidents, no home ownership Reject over 25, > 4 accidents, high value , urban, no home ownership

Otherwise, Accept the Customer

OR

Page 13: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

All: Execute All Rules that Match

The Customer is over 18

The Customer is over 25

Accident Count > 4

Valuation > 30,000 dollars

Driving is Urban

Customer is a home owner

Otherwise

N N Y

N Y

Y Y Y

Y

Y Y

N N

*

X X X X

X

Do not Issue Policy

Issue Policy

OR

Reject Customers under 19 with four accidents Reject Customers under 19 who primarily drive in Urban Areas

Otherwise, Accept the Customer

Reject under 26, > 4 accidents, no home ownership Reject over 25, > 4 accidents, high value , urban, no home ownership

Page 14: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Four Patterns of Decision Tables

• Control • Exclusion/Inclusion • Independent• Interdependent

Page 15: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Four Patterns of Decision Tables

• Control • Exclusion/Inclusion • Independent• Interdependent

This is not always so clear with Balanced Decision Tables

Page 16: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Control Tables:Order Decision Table Execution

Page 17: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Control Tables (Selection) : Order Decision Table Execution

Chooses a path through the Decision Tables based on a switch or a Test

Page 18: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Control Tables (Event Handling): Order Decision Table Execution

Page 19: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Exclusion Tables:Define a Set of Exceptions to Disqualify (or Qualify) an Action

Could Not Find a Reason to Say “No!”

Just Look for a Reason to say “No!”

Page 20: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

How to Verify an Exclusion Table

• Each column is a rule that excludes a case from the conclusion of the table

• But It is critical to look at what is left over• The right tools will balance your table for you• Look to the Balanced Table for what is being

accepted

Page 21: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Tools like Niyum Provide a Balanced Table View

The BlueIs Where We Issue the Policy

The White Where we Reject the Policy. These are Straight from our Table!

Review with your Expert!

Page 22: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

How about Tracking?

• That we are going to exclude an action is not always enough

• How do we track all the reasons for not taking an action?

• The last thing we want a client to do is expend a great deal of effort to resolve an issue, only to find there is another (and maybe another!) lurking behind!

Page 23: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Exclusion Tables can collect all the Rules that Excluded an Action

• The goal is to report every rule excluding or qualifying some action

• With Unbalanced Tables, it is straight forward to flip the type to ALL, and add tracking

Page 24: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Tracking all Exclusion Rules

Page 25: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

One Column Covered by Two Rules

Page 26: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Independent Decision Tables

• A collection of independent rules in a Decision Table

• Scorecards • Complex Event handling

Page 27: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Independent Rules are ALL tables of Rules

Page 28: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

With Independent Tables, the Rules are the Rules. Looking at the Balanced Table does little if any good

Page 29: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Interdependent Tables

• The Hardest to maintain• Examine the Table. Where are the Patterns?• Can you make the Table into a FIRST table?• Can you make the Table into an ALL table?

Page 30: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

An Interdependent Table

Page 31: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

An Interdependent Table

Page 32: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Cleaning up the Table

Page 33: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Converted to an Exclusion Table

Page 34: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Check Balanced View

Page 35: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Converting to an Independent Table

Page 36: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Converting to an Independent Table

Page 37: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Converting to an Independent Table

Page 38: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Converted to an Independent Table

Page 39: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Check Balanced View

Page 40: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Which Representation do you Use?

Page 41: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Which Representation do you Use?

Page 42: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Check your Work

• The Balanced representation does not Change.

• Converting to an Exclusion Table tends to simplify the representation of complexity in the Conditions

• Converting to an Independent Table tends to simplify the Representation of Complexity in the Actions

Page 43: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Advantages of Unbalanced Tables

• The Business User doesn’t have to learn to Balance Tables

• The Business User doesn’t have to read Balanced Tables

• Because Columns can be moved easily, Priorities are easy to manage in FIRST tables

• Simplifies Independent Rules when present in Decision Tables

• Avoids “Scrambling” the actual Business Rules

Page 44: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

Advantages of Unbalanced Tables

Even when Balanced Tables are Better…

Your Tools can simply provide the Balanced Representation.

Page 45: Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

QUESTIONS