Non-linear workflows – what are they and why should I care?
Workflow86 was built to handle complex non-linear workflows. What does “non-linear workflows” even mean and why should you care? We discuss the difference between linear and non-linear workflows and the impact it has on what and how you can automate your workflows and business processes.
Linear workflows
A linear workflow is a workflow where tasks are arranged in a single progressive line. You do Task A, then Task B, Task C and so on. Everything is sequential, meaning the workflow cannot progress until the previous step has been completed. A linear workflow is also asynchronous, meaning multiple tasks cannot be performed at the same time.
The downside to linear workflows is that they are susceptible to bottlenecks where progress is stalled because of delays or problems encountered in an earlier stage. For example, if an error or issue is encountered in task B, the workflow cannot progress – there is no alternative path that the workflow can travel to keep moving.
Non-linear workflows
In contrast to a neat linear workflow, a non-linear workflow looks like this:
Let’s break it down into some key characteristics.
Branching tasks
Asynchronous execution means that tasks in a workflow don’t need to be halted or stopped while it is waiting for another task to be completed. In a non-linear workflow, this can be found in areas where the workflow “splits” into multiple “branches”, each of which is executed simultaneously and independently from each other. You can see for example that Task A triggers Task B, which then triggers C1, C2 and C3. In real life, asynchronous task branching reflects situations where multiple teams are working on different aspects of a project. For example, a data breach may require tasks to be handled by the IT team, cybersecurity team, legal team and risk/compliance team simultaneously. These teams will work on their tasks asynchronously.
Merging tasks
In addition to being able to split into asynchronous streams, non-linear workflows are also able to do the opposite — merge or combine multiple independent tasks together at a particular point. In real life, task merging reflects situations where the work from multiple teams is consolidated or brought together. For example, when the IT team and cybersecurity team consolidate the results of their individual tasks together to find the source of a data breach.The merging of multiple tasks can also be configured several ways. In the diagram below, Task C can be dependent on all incoming tasks being executed. This means that C does not execute until Tasks A and B1, B2 and B3 are executed.
Alternatively, C could also be made partially dependent. For example, C will execute if B1 or B2 or B3 are executed – only one incoming task is required not all three. A further variation is that C is dependent on a certain combination of incoming tasks being executed. For example, C will execute if B1 and B2 or B3 are executed.
So why should you care about non-linear workflows?
Not all workflows in the real world can be rendered into a neat, single line of tasks. Think about how you handle large and complex projects like a marketing campaign or managing a risk audit. These are rarely linear processes where tasks can all be arranged into a neat single line of tasks. They have multiple tasks that need to be performed by different teams at the same time. These tasks then need to be merged together at certain points before being broken up again into more separate tasks.
Most, if not all, important and high value work is characterized by a non-linear workflow structure. When looking for a workflow automation solution, you’ll need to make sure that the solution you choose can actually perform the tasks in the non-linear in which that workflow actually works. Check whether the solution you are looking at can handle both task branching and task merging. If not, you may find yourself having to redesign your own workflow to fit the constraints of the solution you pick.