Book Review: Process and Decision Modeling in BPMN/DMN
Blog: Lux Magi – Decision Management for Finance Blog
Thankfully, Tom Debevoise and James Taylor have recently joined forces to address the drought of books on DMN and its integration with BPMN. They have updated the former’s Microguide to Processing Modeling in BPMN to include decision modeling and published it as the Microguide to Process and Decision Modeling in BPMN/DMN. As an admirer of both Tom’s precise, example-laden earlier work and James’ impressive work on decision management, I have a very high opinion of their book. See why here…
Until recently there has been a shortage of mainstream, published material for Decision Modeling and Notation (DMN) practitioners. The DMN specification itself (version 1.0 was issued in beta in Q1 2014 and agreed with the OMG architecture board in late Q4; an updated version is imminent) is a worthy, but somewhat unapproachable, 172 page document – necessarily full of definitions, tool compliance level specifications and metamodel details. This is an essential reference work for tool vendors and early adopters of DMN, but, quite rightly, is not festooned with introductory material, motivational
narrative concerning the benefits of decision modeling, practical advice or realistic practical illustrations for users. Critically, it does not address the importance or details of integrating decision models and process models.
Several worked DMN examples have been distributed on internet fora and these, while they are excellent and offer valuable insight into a single context, don’t really offer a rounded view of how to use DMN. In summary thus far, learning about DMN has been like trying to learn the art of poetry from a dictionary and a few of Shakespeare’s sonnets.
Into this void step Tom Debevoise and James Taylor with their Microguide to Process and Decision Modeling in BPMN/DMN.
First Impressions, Key Strengths
Integration of Process, Event and Decision
Right from the outset this book impresses with its conciseness and wealth of examples. The authors waste no time in vague or grandiose introductions, instead they immediately signpost the book’s focus on the process /decision /event triumvirate and launch into core definitions. Within 8 pages of the first chapter, come the first examples of BPMN and DMN and how to interface them. It is this latter point, the integration and mutual reinforcement of process and decision modeling, later the subject of its own example-based chapter (chapter 6), which is a key strength of the guide. This pivotal chapter explains not only the mechanics of this collaboration, but the rationale for it, best practices and patterns for controlling processes (and detecting events) using decisions, an iterative method for modeling and how to determine the split of logic between process and decision—all points with which DMN newcomers (and some experienced process modelers) need help.
Focus on Practical Application – Notation Vignettes and Patterns
The earlier microguide’s technique of illustrating each point with a concrete example, just complex enough for its purpose, is used here to great effect for process, event and decision modeling. This generous use of model vignettes (I counted over 100) makes the work much easier to read than a stodgy list of definitions. The focus on ‘micro’ applications quickly builds familiarity with both notations whilst nimbly illustrating best practices. These succinct examples also establish the work as a highly practical guide to which modelers can refer repeatedly; the layout makes it easy to quickly find a relevant vignette. There is also a good progression from core essentials to more advanced topics like transactions and exceptions.
The authors convey the wealth of their experience with their focus on process, event and decision patterns; both course grain and fine grain patterns are covered. The course grain patterns are used to classify types of process modelling (e.g., document management versus human-centric) and decision modelling (e.g., validation, risk, fraud) in the first chapter. The fine grain patterns (e.g., complex non-interrupting merge in BPMN and the event modelling patterns of the EMF) illustrate reusable means of solving specific issues.
However this text is no mere collection of notation definitions and examples, it also benefits from the authors’ respective years of mastery of these topics. Their experience of those notional features that frequently cause misunderstandings or confusion, even among experienced users, is obvious. The topics the authors choose to define especially carefully — for example: token based explanation of inclusive and parallel gateways in BPMN; the fact that decisions can act as authorities for knowledge sources; the ways in which event-orientation can change a process model; how business logic can be reused by multiple, context dependent references to the same business knowledge model and how data objects conduct data between process and decision models — help to clarify common misconceptions much more effectively than a dry notation specification. Furthermore they stress the important of data modeling to all process and decision definitions, something overlooked by many contemporaries.
The book makes it plain that the authors’ expertise and influence extends beyond the use and teaching of these notations to their definition and evolution. For example, James Taylor gives some insightful comments on the likely future developments of DMN (e.g. grouping, text annotation and decision trees). It is apparent that both authors have real visibility of, and influence on, the development of the notations.
More BPMN than DMN
For all its many strengths, the book is somewhat BPMN centric: only 14% of its diagrams and 29% of its pages concern decision modelling specifically. This is not a surprise given the comparative youth of DMN and the fact that the original microguide, on which this work is based, focusses on process modelling. However, I would have preferred that the two areas should have an equal footing. Although DMN is much less well established that BPMN, it would have been excellent to see more DMN examples illustrating some of the advanced topics. Similarly, I would have liked more illustrations of DRD, decision table and business analytics patterns.
Some useful parts of DMN were covered lightly (e.g., FEEL, the context specific reuse of business knowledge models, the use of aggregate expressions in decision tables, when to use decision trees rather than tables and best practices for decision table design) leaving this reviewer hungry for more and adding to the general asymmetry, in the book, between BPMN and DMN coverage. Also, I felt that the illustrations of DMN patterns could have been more informed by the benefits of a decision modeling method (like the decision model).
Similarly, despite their careful depiction of events as a first class member of the process/decision/event triumvirate, the authors largely subsume event modeling into BPMN and don’t really address the decision/event interface in enough detail. This is a shame in the light of recent work on the Event Model (TEM).
However, as brevity and conciseness are major strengths of the book, I concede that these omissions might have been intentional and necessary to avoid bloat.
Typos and Figure References
It is clear that the text was developed against a tight deadline, to coincide with the formal ratification of DMN perhaps. This has resulted in a number of unfortunate typos, mainly in the diagrams and referencing of diagrams from the text. Few texts are perfect, but this volume of errors is unfortunate and detracts slightly from the, otherwise very-high, quality of the work. We understand from James that corrections are already in progress for the next print and Kindle edition. The latter should be ready with a week of two of this review.
The generous use of examples just complex enough to illustrate each concept make this microguide a very effective way of learning about the BPMN and DMN notations, their best practices, common patterns of application and the means and motivation for applying them. The steady progression from basics to advanced topics ensures that the book is equally effective for newcomers and experienced practitioners in need of a refresh. Although focussing on BPN more than DMN, this book effectively illustrates how the two are used together and chapter 6’s effective case study, depicting how BPMN and DMN mutually reinforce each other, is worth the cover price on its own.
This is a much needed addition to the current decision modeling canon and should do much to promote the effective use and integration of BPMN and DMN. I would recommend it for all business analysts, business architects and IT professionals who deal with business logic.
**** 4/5 stars.