Managing Operational Efficiency
1.0 What is a Business?
A business is a group of people which engage in actions to generate a profit. How well they can perform these actions depends on how easy these actions are to perform, what tools exist to manage and perform these actions and how long it takes to perform these actions.
Broadly, an action is composed of tasks, a group of tasks can be considered a workflow and you can assign a group of workflows to a single person whom executes these workflows in the form of a job and people that conduct the same job are part of the same department :
2.0 Business Operations
One of the most powerful ways to understand your business' operations is to list all the workflows that your business conducts, grouping these workflows and developing tools which automate / simplify these workflows. The main reasoning behind structuring your workflows in this manner is so the business can run as frinctionless as possible.
This allows more critical workflows that are integral to the business e.g. revenue generating workflows to garner more emphasis, time and priority. This process in itself helps you find the bottlenecks that exist in specific workflows and where you are dependant on key personnel.
These workflows should be agnostic of company specifics, they should be able to outlast any dependency on a technology that the underlying tasks may be dependant on. In this manner you will still have a good perspective into the tasks that you are responsible for.
3.0 Workflow Management
Once an exhaustive list of workflows has been created we can enrich our knowledge of these various workflows by frequency, importance and distribution. With this knowledge we can manage these workflows better and understand which of these workflows we may want to prioritise over others.
3.1 Workflow Frequency
Identifying which workflows are critical and which workflows are done most often can help you determine where you can make quick wins and where automation can relieve the most amount of time.
3.2 Workflow Importance
How critical is the workflow, what are the knock on effects of not executing the tasks in the workflow correctly? Rating these workflows generally helps prioritise their respective automation.
3.3 Workflow Distribution
Workflows should be able to be executed by multiple members of the team for redundancy. For this reason the same workflow should be distributed uniformly across the team. It is inevitable that there will be people that become experts in a subset of these workflows and become specialsts e.g. Networking but it is important that specialist knowledge is not dependant on a single person. This is a risk that you can minimise by broadening the workflow distribution.
4.0 Workflow Execution
For the business to run we need to execute these workflows and in order to execute these workflows we need to ensure that we have sufficient means to teach these workflows to employees and this generally takes the form of Documentation or a Walkthrough where the employee takes notes.
4.1 Workflow Properties
Workflows should be able to be executed by multiple members of the team for redundancy. For this reason the same workflow should be distributed uniformly across the team.
- Correctness: Are the tasks being conduced correct? Are the tasks in the right order?
- Awareness: Does everyone in the team know how to execute this workflow?
- Frequency: How often is this workflow executed
- Time: How long does each workflow take to complete? if this takes too long you can split this workflow into separate tasks or consider improving the documentation associated with it.
4.2 Workflow Failures
When we try something new we either win or rationalise it as character building. The same is true of attemping to complete a workflow. If an employee is unable to execute a workflow it's not because the employee is at fault. This is generally never the case (unless the employee's capacity for apathy outweighs their motivation to do their job), normally there is an issue with the workflow that has been created. The process is at fault and needs to be re-addressed.
5.0 Improving Operational Efficiency
In my experience the the key to operational efficiency is to provide tools which automate some if not all the tasks of a workflow. If this is done well these tools can bypass the need for documentation. These tools should allow your employees to approach workflows from two angles:
5.1 Top Down
The top down approach is important for the employee whose job is to complete the workflow.
5.2 Bottom Up
The bottom up approach is extremely useful for when determining where a workflow has gone wrong and is invaluable when it comes to interrogating different tasks within a workflow.
5.3 Tools
Both these aspects are important from a business perspective. Having tools which can accopmlish these tasks from both these perspectives is invaluable.
As a concrete example you can think of an application which creates a new user as a top down approach. At a high level we need to create a new user hence, having a dashboard to accomplish this task is a great top down tool to have. Conversely, if I wanted to determine whether this had already been done you would have to approach this workflow from the bottom up.
5.4 Workflow Quality
There are also opportunities to make aspects of these tools more efficient i.e. if you have a workflow which involves your users completing a form, can parts of this form be automated? can we find a way of autocompleting parts of the form?
6.0 Maintaining Operational Efficiency
Once the business matures and these workflows become more and more frequent; feedback into the tools that automate these workflows become critical. If these tools are ineffective at completing the workflow then those workflows will suffer from decay, the tools that execute them will also decay and performance on that workflow will degrade. Hence, you need a regular review of the tools and pain points in the tools that have been developed.
Business processes will inevitably change and workflows will have to adapt to remain relevant. Hence, it important to include in regluar reviews with the employees and be one step ahead of the workflow change. At this point it will be important to revisit the Workflow Properties outlined in Section 4.1 to ensure that we maintain workflow integrity.
7.0 Scaling Operational Efficiency
7.1 Scheduling
There will always be tasks that will need to be run every N increments e.g. we may need to check whether a repo on a remote server has any uncommited changes, or query a database for specific values. For this we need to implement a scheduler e.g. Airflow, Prefect etc. This also provides a good insight into when these automated workflows fail.
7.2 Data Modelling
It is not enough to have a script that automates a task if its using a JSON file that is committed in the repo or a hardcoded server list. This is not automation this is technical debt. The real solution in this case is to decide and agree on a golden source of a list of servers, then create an API to access this list and use this API in the script. This way if the data in the database is correct the script will never fail on the fact that there was a failure to update the hardcoded list.
This is why your data model is so important, failure at this level or a failure to keep the data model up to date will result in technical debt in the scripts you write, the tools you create and in the inputs that you have the ability to check.
7.3 Workflow Documentation
Good documentation can be considered an art, you need to supply the minimum amount of information without skipping details but not so much detail that nobody reads it. One thing that I would reccommend is that you approach documentation from base principles. Assume that your target audience are starting from nothing.
8.0 Conclusion
- Curate and Document an exhaustive list of workflows which are grouped by theme.
- Create Tools to automate workflows under a particular theme and when you create these tools its important to do it with the bigger picture in mind. Can we turn this piece of data into an API? Can we merge this data into an existing table? This will help these tools scale.
- Curate regular feedback to improve these workflows and tools.
The main goal of this article was to encourage you to think of the departments and jobs in a business as divisible units made up of workflows and each of which in turn is made up of tasks. Using this model we can begin to manage and make the processes in our business more efficient.