Workflow Control: Exception Flows
At some point a task in a workflow either fails, or succeeds. When it succeeds, the workflow continues. When it fails, the status of the workflow changes to ‘Progress Halted’, and the workflow is often canceled manually by setting it to ‘completed’. It is now possible to create an exception flow within a workflow. This makes it possible to define tasks that are executed in case a previous task fails.
To create an exception flow (or failure task) in the Gantt Chart of a workflow, the intended task can be linked to its predecessor in a similar fashion as how a task can be made a successor task of a predecessor. Only, instead of just clicking the green dot behind the task and dragging it to the successor task, the shift or control key must be pressed and held first. The green dot then becomes a red dot, and dragging it to the desired task creates a red, dashed line.
The above example shows a workflow where a peripheral is requested for an employee. After the approval, a check is done to see if the item is in inventory. If it is, the item will be installed, the inventory is updated and new items may be ordered to make sure the inventory is stocked. If the item is not available from the inventory, a priority purchase must be made. After that, and after completing the Check inventory task, the workflow can continue with the Install peripheral task. So:
If the Check inventory task succeeds:
- Install peripheral is ‘Assigned’
- Update inventory and Order new items from supplier are ‘Registered’
- Priority purchase is ‘Canceled’
If Check inventory fails:
- Install peripheral, Update inventory and Order new items from supplier remain ‘Registered’
- Priority purchase is ‘Assigned’
- To continue the workflow, Check inventory must be set to ‘Completed’
It is even possible to link a failure task to its predecessor, creating a rework loop. This will be described in the next blog post.