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.
Modernanalyst.com 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.
-
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.