Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables."— Presentation transcript:

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

2 The Speakers Paul Snow Rules Management Chief Architect, SourcePulse Bhushan Naniwadekar Director of Application Development, SourcePulse

3

4 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

5 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 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_viewed The 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 Conditions Condition Table Action Table Actions

6 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 Do not Issue Policy Issue Policy

7 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 Do not Issue Policy Issue Policy

8 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 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 valuation, urban driving, no home ownership Otherwise, Accept the Customer

9 Balancing the Table

10 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

11 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.

12 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 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

13 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 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

14 Four Patterns of Decision Tables Control Exclusion/Inclusion Independent Interdependent

15 Four Patterns of Decision Tables Control Exclusion/Inclusion Independent Interdependent This is not always so clear with Balanced Decision Tables

16 Control Tables: Order Decision Table Execution

17 Control Tables (Selection) : Order Decision Table Execution Chooses a path through the Decision Tables based on a switch or a Test

18 Control Tables (Event Handling): Order Decision Table Execution

19 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!

20 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

21 Tools like Niyum Provide a Balanced Table View The Blue Is Where We Issue the Policy The White Where we Reject the Policy. These are Straight from our Table! Review with your Expert!

22 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!

23 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

24 Tracking all Exclusion Rules

25 One Column Covered by Two Rules

26 Independent Decision Tables A collection of independent rules in a Decision Table Scorecards Complex Event handling

27 Independent Rules are ALL tables of Rules

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

29 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?

30 An Interdependent Table

31

32 Cleaning up the Table

33 Converted to an Exclusion Table

34 Check Balanced View

35 Converting to an Independent Table

36

37

38 Converted to an Independent Table

39 Check Balanced View

40 Which Representation do you Use?

41

42 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

43 Advantages of Unbalanced Tables The Business User doesnt have to learn to Balance Tables The Business User doesnt 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

44 Advantages of Unbalanced Tables Even when Balanced Tables are Better… Your Tools can simply provide the Balanced Representation.

45 QUESTIONS


Download ppt "Building Business Capability 2012 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables."

Similar presentations


Ads by Google