Explains the large degree of flexibility that exists when using workflow conditions.
Pre-conditions - what data is required to start an activity. Efficient where possible fed from a variety of feeder activities.
Completion-conditions - where the data produced is intrinsic to the outputs of the activity or chooses that help to determine valid transition/entries to other activities. This may be especially useful where the consumption of output data may be consumed further along the workflow, not necessarily the next activity.
Transition-conditions - either as the most simple method or where there is uniqueness and the transition between two specific activities.
All can be combined together in different ways to cater for different sophistication.