A customer was asking about methodologies around business rules, which was also the topic of a recent LinkedIn discussion started by Paul Harmon of BPTrends (who is apparently extending his BPM methodology to rules). Some general thoughts on methodologies below:
What am I trying to achieve?
- For (stateless) business decisions, as usually associated with business rule automation in the literature today, consider that common paradigms like decision tables can be viewed both as specification documents (e.g. in a spreadsheet) as well as executable artifacts. As an example, TIBCO BusinessEvents can import Excel spreadsheets into its Decision Manager.
- For (stateful) rule-based CEP and event-driven business processes – event-rule processing can involve multiple entities – events being filtered, patterns detected, facts inferred, actions made etc – and ideally the rules will be specified declaratively, guided optionally by state models.
What is the generic approach to identifying / specifying business rules?
The generic approach is:
(a) Identify the business entities being processed
- E.g. use cases and actors
(b) Identify associated states
- E.g. entity states and what decisions need to be applied in these states
(c) Identify the associated events
- E.g. business changes like new customer, new agent, removed order, etc
- E.g. occasions when we need to make a decision in a process
(d) Identify business rules against entity / state / event
- Conditions that apply
- Reactions or results
- Inferrences to be made
- Patterns to be identified
- Rulesheets / decision tables
What about “business rules” in the widest sense: rules about the business for the business?
The above comments apply to the common-use of “business rule” relating to rules and decisions in processes, possibly automated (e.g. in rule engines, with the relevant OMG standard being PRR), and possibly as a part of complex event processing.
For the wider definition of business rules, defining business rules as constraints against the business and documented as a business asset (relevant OMG standard being BMM and SBVR) there are additional steps, usually via some controlled business ontology or vocabulary:
(a2) Identify declarative business rule statements that associate entities with each other
- Eg statements of constraints between the business entities at particular times or on particular business level events
(d) Map business rule statements to associated entity / state / event occurrences to enforce the business rules in particular processes.
What are the main published methodologies?
There are 2 main providers of methodologies (outside of particular rule vendors’ thoughts … ):
i. Barbara von Halle @ KPI: the main reference remains Business Rules Applied and associated methodology although unfortunately this has not been updated (for example, it predates the concept of CEP and indeed TIBCO as the ~3rd largest rule engine vendor). KPI also have a new book about to be released covering more of a decision model approach.
ii. Ron Ross @ BRSolutions: business rule documentation focus – the main book is Business Rule Concepts which is uptodate and covers mostly the wider definition of business rules, but does relate how these map to automatable rules (and events).
iii. For simpler requirements gathering, the (very) basic separation of business rules from use cases is often covered in Use Case books.
How do these apply to CEP?
Part (d) of the generic approach is obviously far more important in pure event processing. The identification of what filters (to events, payloads etc), what patterns (including patterns on streams as well as individual events, and across data combined with events), and combinations thereof are required to identify a complex event effectively requires its own methodology, which we can cover separately.