Place the start point in the top-left corner.
Simplify operations requiring flow charts.
Question “black-hole” activities.
Question “miracle” activities.
Reflect the previous activity by using decision points.
Avoid superfluous decision points.
Ensure that each transition leaving a decision point has a guard.
Do not overlap guards.
Ensure that guards on decision points form a complete set.
Ensure that exit transition guards and activity invariants form a complete set.
Apply an [otherwise] guard for “fall-through” logic.
Model guards only if they add value.
Ensure that forks have corresponding joins.
Ensure that a fork has only one entry transition.
Ensure that a join has only one exit transition.
Avoid superfluous forks.
Order swimlanes in a logical manner.
Apply swimlanes to linear processes.
Have less than five swimlanes.
Consider swimareas for complex diagrams.
Reorganize into smaller activity diagrams when swimareas include several activities.
Consider horizontal swimlanes for business processes.
Model the key activities in the primary swimlane.
Apply state names when an object appears several times.
Reflect the life-cycle stage of an action object in its state name.
Show only critical inputs and outputs.
Depict action objects as smaller than activities.