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.