Book Review: DMN in Action with OpenRules
Blog: Lux Magi - Decision Management for Finance
Prominent and prolific contributor to the field of decision management and business rules, Jacob Feldman, has recently written a guide to decision modelling that is approachable, focused, intensely practical and engaging. An ideal read for the newcomer who wants to start building models quickly. Read our full review exclusively here.
Practical books on Decision Modelling are in short supply and until now it’s been a choice between two substantive volumes: Bruce Silver’s DMN Method and Style and our own Real-World Decision Modeling with DMN. However, last month Jacob Feldman has added a more compact book to the Decision Modeling shelf.
Jacob’s book quickly gets to the point. Assuming the reader is already aware of the motivation, aims, benefits and process of decision modelling, the book launches straight into the practicalities of building the reader’s first OpenRules decision model by page 14 and completes it twenty pages later. Despite this swift pace and directness, the text is written in a light, easy-to-read style using a stylized conversation between the author and a reader (rather like a Socratic dialogue). It is split into seven dialogues, each featuring hands-on, OpenRules exercises of increasing complexity from a variety of business domains. Each dialogue has clear goals and is designed be completed in one sitting. The book uses the exercises to cover the core concepts of the Decision Model and Notation (DMN), a decision modelling standard defined by the Object Management Group. At 149 pages in total, the entire book can be read in a day or two.
The book uses a step-by-step approach to expressing business logic, using authentically worded requirements, that arms the attentive reader with the pragmatic essentials of decision modelling. It also tackles a few more challenging techniques, on the edge of the current definition of the DMN standard, such as iteration. Much of the material can be understood by readers with no technical experience (‘non-programmers’).
The practically of the book is enhanced by the fact that all the featured exercises and the OpenRules software can be downloaded—encouraging readers to get some hands-on experience of decision modelling by experimentation. I was very pleased that the book promotes a test-driven approach to decision modelling and quickly illustrates the importance of establishing a glossary and a set of test cases to underpin decision models. The book’s website companion also allows the behaviour of the models to be analysed—a real boon to learning.
Although OpenRules is based on the Decision Model and Notation (DMN), there are key differences between them and OpenRules deviates from the standard in a number of areas. As models are developed in the book, the author explains some of these differences but not all of them and the explanations provided tend to be rather OpenRules-centric. It’s possible for a reader with no background in DMN to get a partial or the wrong impression of the standard and receive a shock when using a tools that are more complaint to the standard (e.g., Trisotech, Signavio or IBM Decision Composer). Some of these differences are merely matters of notation, for instance: the use of relationships between Business Knowledge Models and Input Data in the DRD, see for example Figure 1-2, that do no confirm to the standard; the unconventional arrangement of decision tables, such as Figure 1-7, which occur throughout; and the way in which defaults are defined. In other cases the OpenRules marks a wholesale departure from DMN, such as: the way it allows side effects during Decision Table execution, something forbidden in DMN; OpenRules absence of a DRG; the fact that OpenRules’ hit policies are entirely different from the standard; and the manner in which sequences of decision executions are defined.
The book is aimed at non-programmers and yet some sections feature Java snippets, data types and response objects which will be unfamiliar to some business analysts. Although these never dominate the text, neither do they seem especially relevant or advantageous when compared to equivalent expressions in the DMN expression language, FEEL. Some may feel, as I do, that Java tends to obscure business requirements.
Although the main benefit of the book is its sharp focus and approachable size, I was disappointed that it did not cover DMN concepts like the Knowledge Source, contexts and path expressions all of which add considerably to DMN’s power.
The brevity, easy-going style and practical approach of the book make it an effective means of learning the foundations of decision modelling with OpenRules in a short time. I would heartily recommend it to anyone needing to build OpenRules fluency or get to grips with the practical impact of Decision Modeling on a tight time budget.