Sunday, December 16, 2012

Decision models for business rules

If you're a business analyst or requirements analyst then a good deal of your time is devoted to business rules and the way those rules are represented in requirements, use cases, and user stories. has recently posted a couple of essays on decision models and the way that the underlying  individual decision tables are integrated into a more macro view of the decision model.

Part I is entitled Why Decision Tables are not enough: From Decision Tables to Decision Models and Part II is a follow-on: More on Decision Tables and The Decision Model in Practice

The authors posit that decision tables should be treated like any other relational table in a relational paradigm, thus requiring adherence to certain rules for building information by rows and columns. For instance, decision tables should follow the normal rules of normalization, which in a few words, removes redundancy and generally provides for the maxim about data: "enter once, use many"

From the first essay that presents a six step process for building decision tables we learn that we can expect:
...  a deliverable that is more valuable than its pieces. The resulting model is:
  • Comprised of the most atomic pieces of business logic (no Ors, no ELSEs, no OTHERWISE, one conclusion fact type)
  • Based on disciplined fact types
  • Normalized to minimize redundancies
  • Predictable in structure and
  • Aligned with business performance and directions.
From the second essay we learn that the benefits of decision tables are explained this way:
  • A decision table is an intuitive visual representation. This circumvents the need for other less friendly representations – such as formal language, strict grammar rules or fill-in-the-blank sentence templates.
  • Both business people and technical professionals understand a decision tableif it is devoid of technical artifacts.
  • Some forms of incompleteness, inconsistency, and redundancy become visible ina decision table.
  • Certain technologies lend themselves to easy automation of decision tables. In fact, most Business Rule Engines (or Business Rule Management Systems, BRMS) accept decision tables as a format for creating and making some changes. That’s because automation ofdecision tables into such engines is fairly straight-forward.
These essays have a good exposition of the author's ideas, but there is a supporting 20 page "primer" (in pdf format) about decision models that is worth a read. You can find it -- after free registration -- at this location.