The typical definition of an atomic task or process is one that cannot be decomposed further. This is vague and subject to interpretation. The Decomposition Matrix on this site uses a specific definition: A task (for business process diagrams) or a process (for data flow diagrams) is atomic if every input relates to every output in the Decomposition Matrix. In other words, all cells in the matrix are checked. Each decomposition that is displayed on Results page at this site indicates whether any further decomposition is possible. That information appears at the bottom of the Results page. The Results page also sets up a sub-matrix for further decomposition should you want to see the next level of decomposition. One of the earlier Blog postings has an example.

My last posting referenced the criteria for a well-formed business process diagram mentioned in Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. I am going to expand on their criteria to create a more comprehensive definition of a well-formed business process diagram.

To start, here are three criteria from their book:

  • Match each split with a join.
  • Have a well-defined start and end event.
  • Look out for orphan tasks.

I am not going to use the criterion that — although a good rule of thumb — it is really a generality:

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.

To the above three criteria, I am adding the following of my own:

  • A given input message/event is received by only one process/task.
  • A given output message/event is produced by only one process/task.
  • Processing of an input message/event is started in the process/task that receives the input.
  • An output message/event is generated at the earliest point possible and not passed to a later process/task.
  • Each process/task must have at least one input or one output message/event.
  • All input and output messages/events are at an atomic level. No composite messages/events are used.
  • Use parallel processes/tasks whenever possible.

Workflow Modeling by Alec Sharp and Patrick McDermott provides a two additional criteria:

  • Process/task names should be in verb-noun format. An example is “pay invoice.”
  • Assemble processes based on frequency and affinity. High affinity is define as having 1:1 links. This technique clusters steps with 1:1 links and separates those clusters at the point of 1:M or M:1 links.

I welcome any improvements or additions to these criteria. Eventually, I will add the above criteria and any improvements or additions to the Wiki on this site.

By the way, the Decomposition Matrix on this site generates diagrams that meet this criteria. You do, however, need to provide the naming in verb-noun format yourself after the diagram is generated.

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.

Search this site
Custom Search
Resource Books at Amazon.com
by Thomas Erl
Average Customer Review: 4.5 stars - 32 reviews
Customer Review: It's a practical guide on defining service characteristics and design principles in multiple levels, from component implementation to application design to enterprise architecture. Very digestive material.
by Poornachandra Sarang, Frank Jennings, Matjaz Juric, Ramesh Loganathan
Average Customer Review: 4 stars - 7 reviews
Customer Review: The authors having had real world experience on how to develop SOA, have presented this book focusing more on practicality. They have worked in different websites and online companies where they specialized either in the development of SOA or ...
by Tony Willis
Average Customer Review: 1 star - 1 review
Customer Review: Since the topic of this book is BPEL you might be surprised to find the question "Have you heard of business process execution language, or BPEL?" more than a third of the way through it, on page 68. But there's an explanation: the book consist...