Process Scope
✪ | Clearly define the scope of the Process by identifying the Who, What, When, Where and Why of your process (the Process is the How) |
✪ | Identify what each instance of your Process will represent |
i | Instances are discreet and identifiable: you can refer to each one of them and can count them |
✪ | Identify the potential alternative ways to trigger the Process using Start Events |
✪ | Identify the potential alternative end states of the instances of the Process using End Events |
Diagram layouts
✪ | Aim for BPMN Diagrams that fit one page |
✪ | Layout your BPMN Diagrams neatly to ease readability by minimizing flow crossing |
i | BPMN Diagrams are not strict temporal orderings (as it is possible to loop back) but most readers expect a left-to-right ordering |
✪ | Do not create zigzag layouts of elements |
✪ | It should be clear what the primary (“Happy”) path of the Process is |
✪ | Whenever possible, externalize the business rules from the Process to create more concise and more agile Process models using Business Rule Tasks |
✪ | Create alternative visualizations of the same Process for different communication purposes and stakeholders. For example: |
Process Partitioning and Structure
✪ | Create hierarchical multi layers of details for your Process |
Start and End Events
✪ | Distinguish alternative instantiation of the process as separate Start Events |
✪ | Distinguish various end states as separate End Events |
✪ | Flows that end in the same end state should be merged to the same End Event |
Gateways
✪ | Always use Gateways to depict split or merge of flows |
x | Do not use mixt mode Gateways (both diverging and converging) |
✪ | Always place an Activity that will determine the diverging condition(s) just before a diverging Gateway of type Exclusive, Inclusive and Complex |
i | A benefit ' of this best practice is that this decision Activity can now be interrupted if need be |
i | A benefit of this best practice is simplification of overloaded diagrams |
Collaborations
x | Do not model the internal process under focus into a Pool |
i | Without a Pool to label, one will not have the opportunity to fall into the bad practice of naming the Pool with the Process Name |
|