I recently received two new books on business process modeling. Both books looked interesting because they had great titles. As it turns out, one book is great and the other not so good.
The not so good book is Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. There are several issues I have with all three topics mentioned in the title this book. First, the treatment of SOA is very surface and completely leaves out both SOAP and REST. I realize that a book like this one has a lot of ground to cover and cannot go into detail on all topics. Nevertheless, since the authors mention WSDL, it seems to me that they should have mentioned SOAP and REST as well — and worked both into their BPEL examples. Second, there are errors in the BPMN used throughout the book as documented by Bruce Silver. See Bruce’s review for a description of those errors. Third, the BPMN to BPEL mapping — which is nearly 20 percent of the book — is really just a tutorial on an Oracle tool. Nearly as much space is devoted at the end of the book to orchestration, again demonstrated by an Oracle tool. I have no issue with Oracle. My issue is that the tool tutorial gets in the way of the clearly describing the basic concepts that need to be covered. The reader would have been better served, for example, with a framework on how to evaluate such tools.
The other book is BPMN Modeling and Reference Guide by Stephen A. White and Derek Meirs. This is a very readable book that is, as the title indicates, a reference guide. It is an easy, yet excellent, introduction to BPMN. Nevertheless, as a reference guide, it does not contain anything on methodology.
So, I am interested the criteria for a well-formed business process diagram or a technique for business process decomposition. I have a fair number of books on business process modeling, but they fall short in these two areas. For example, the first book reviewed does provide some guidelines (or rules as they are called in the book) for a well-formed business process diagram:
- Process models should provide aid in process understanding. Aim for a minimum of four, and a maximum of fifteen tasks in a process. Aim for a maximum of three or four levels in a hierarchy.
- Match each split with a join.
- Have a well-defined start and end event.
- Look out for orphan tasks.
This relatively surface set of guidelines is not uncommon in the books I have. (Maybe I have just purchased the wrong books.) To take my point a bit further, the first bullet above mentions a hierarchy which references the decomposition of processes into sub-processes and tasks. I have yet to find a book or a Web site that provides useful guidelines on how to decompose processes and a measurable definition of an atomic task or process (one that cannot be further decomposed). So, if you know of any books or Web sites, please post them in a comment or contact me.
The lack of decomposition guidelines was part of my motivation to create this Web site. The other part of my motivation was that I knew of an algebra for design decomposition and could see how it could applied to business processes. Nevertheless, I am open to ways that I might be able to enhance the decomposition provided by the Decomposition Matrix on this site.