2. Some Known Best Practices …
• Agile development
(fail early, deliver often)
• Test-driven development
(test specification = system specification)
• Model-driven development
(formal models are more easily transformed into software)
6. 1. Why Test in Requirements?
Ref: http://loadstorm.com/2011/10/cost-fixing-software-defects/
7. 2. But how can
Requirements be Formal?
• Models can be formal
• Example = BPMN process
• Can be validated, simulated,
loops detected etc
Decision
Gateway
Task
Ref OMG DMN
8. 3. Decision Models for Requirements
• Decision “models” are not new!
Babylon 1800BC - Mathematical look-up table
11. 5. Decision Models as Requirements
• How can we define a formal model for business logic
that Business Analysts can use?
With appropriate notation, methodology and standards?
• Can modelling tools embed appropriate testing to automate tests?
12. Decision Methodologies
• TDM - The Decision Model (von Halle, Goldberg)
• Published, commercially supported, specific notation
• Tooling (BiZZDesign, Sapiens, SAP,…)
• DTM - Decision Table Methodology (Vanthienen)
• Published across papers and books, commercially supported
• Tooling (Various) for decision tables
• Decision Management Systems Methodology (Taylor)
• Published, commercially supported
• Own tooling (Decision Management Solutions)
13. Decision Notations
• TDM - The Decision Model (von Halle, Goldberg)
• Published, commercially supported, specific notation
• Tooling (BiZZDesign, Sapiens, SAP,…)
• OMG DMN - Decision Model and Notation
• Published, commercial support starting, specific notation
• Tooling (Signavio, DMS, FICO, …)
14. Case Study: Example using TDM
Determine Policy
Renewal Method
Manual Renewal
Automatic Renewal
Manual or
Automatic
15. A. What is Decision?
• Find Manual or Automated status…
Determine Policy
Renewal Method
BPMN
TDM
16. Per OMG DMN
•A Decision is the act of applying decision logic to one or
more inputs to produce one output
•A Decision Logic is a formal expression that defines the
output of a decision with respect to its inputs
• A decision logic can be a Computation
• Or a Fixed Alternatives Ruleset, represented as a Decision
Table or a Decision Tree
• Or it can be an Imported Formulation (e.g. a predictive model
in PMML)
28. Validate Rule Family / Decision Table (test cases)
TEST CASE SHOWN IN DECISION TABLE / RULE FAMILY
29. E. Unit Testing Done
REPEAT EXHAUSTIVE TESTS
FOR THESE RULE FAMILIES
30. F. Test Connections to Rule Families
DEFINE TESTS FOR ALL
BRANCHES, TESTING EACH LINK
31. Assumptions for decision modelling for
testing
1. I know the decision I need to make
(may be re-used across processes)
2. I define a formal / rigorous data model too
(name, type, value domain, single/list)
• See Data Modelling for Requirements Testing
presentation at some future SIGiST!
32. For Business Logic requirements…
1. We can model business logic using Decision Models
33. For Business Logic requirements…
1. We can model business logic using Decision Models
2. We can verify the completeness + uniqueness of this business logic
34. For Business Logic requirements…
1. We can model business logic using Decision Models
2. We can verify the completeness + uniqueness of this business logic
3. We can validate the business logic against all possible use cases for
each rule family + all links in a decision model of multiple rule
families
35. How useful is this?
• Example 1: a product selection requirement
• Original analysis = 15,000 rows of business logic in Excel
• Decision Modelled = ~220 rows across ~18 decisions
by 6 Business Analysts over 2-3 weeks
36. How useful is this?
• Example 2: business loan compliance with policy
• Original analysis = spreadsheet of X tabs of
metrics vs business sector vs threshold levels
• Decision Modelled = Validate-able thresholds vs policies,
Side by side comparison of thresholds,
Champion challenger etc
37. Standards to support this pattern?
• Standardisation effort by OMG DMN
• Notation and metamodel
• Can be used with multiple methodologies eg DTM, TDM
• Tooling to support DMN underway
43. Decision Table Hit Policies
Indicator Indicator
Term
Description
Single Hit U Unique Only 1 rule matched = DEFAULT POLICY
A Any Many rules can match but matched rules must have same output
P Priority Many rules can match and matched rules can have different outputs; output selected
per a prioritised list of possible outputs
F First Many rules can match and matched rules can have different outputs; output selected
per ordering of rules
Multi Hit O Output Matched rule outputs are returned in order per a prioritised list of possible outputs
R Rule Matched rule outputs are returned in order per ordering of rules
C Collect No operator Matched rule outputs are returned in arbitrary order
C+ Collect operator
(+, <, >, #)
Operator (sum, min, max, count) applied to the outputs
and the result returned
C>
C<
C#
48. THANK YOU
• Credits:
• OMG DMN standards team
standardising notations for best
practice decision analysis and design
• Larry Goldberg and Barbara Vonhalle
defining The Decision Model as a best
practice methodology
• Sapiens DECISION product team
permitting the use of their tool for
this presentation