From the perspective of enterprise software, the word automation contains many concepts and has many interpretations.
Software has eaten the world in a more accelerated way over the last few years. As digital transformation accelerated, many of us started to have a more software-related relationship with most, if not all, of the businesses we interact with every day.
As a result, automating the management of that software, including keeping it updated and resilient, gained increasing appeal for businesses. Increased automation can benefit the enterprise in terms of increased efficiency and avoiding reputationally damaging errors caused by manual procedures. It also improves employee experience by eliminating manual processes during the planning and execution of activities. With proper automation, you can free teams from manual tasks so they can focus on higher-value activities, which can increase productivity and support your talent retention goals.
But what does the word automation really mean? First, let’s set out some of the components of automation to give context before offering an answer to that.
The components of automation
There are many detailed components of automation, such as input and output conditions, but two of the main components are:
- Tasks - the actions required to be done in a particular sequence
- Orchestration - the sequenced instructions for the execution across a set of tasks to be done in the right order
Either of these components can be automated or manual.
How these components are addressed and how visible they are across the enterprise has been an important factor in the first layer of automation and will continue to be of importance going forward.
The layers of automation
Layer one: removing toil with automation
The initial wave of automation for supporting the management of enterprise software was focused on fully automating orchestration and tasks. This resulted in many gains and the creation of domains such as Infrastructure as Code and Site Reliability Engineering. This removed a lot of manual processes and procedures from the overburdened operations teams where people were executing repetitive tasks.
However, a wide array of processes did not lend themselves to complete codification and were not addressed in this wave because of how complex they are, such as incident management and resilience. Fully automated orchestration and tasks could not tackle everything due to the volatility in the process and the need for visibility and engagement across the business.
Moreover, layer one automations did not tackle all elements of a process and left teams often without fully documented processes. Without the foundation of end-to-end structured data on the process, standardization across people and technology is hard and efficiency gains are left on the table. An example of this is how some large enterprises document their IT recovery plans across 4000 or so applications supporting their business processes. These plans are often spread across wiki pages, spreadsheets, and Confluence pages, with components of the process being fully automated but the end-to-end process being variably stored and documented.
Layer two: people and automation working together
A second wave of automation is emerging where the role of people is valued, recognized, and incorporated into the process. Enterprises need to expand their automation processes, not to execute toil (because humans are not great repetition machines), but for people’s judgment, awareness, and collaboration across the enterprise. In this wave, the orchestration is fully automated, however, it is also fully visible and some of the tasks require judgment and the interpretation of data, bringing people into the process where they can be most impactful. This makes for better processes that elevate the involvement of teams, handle more volatility, and are more fault tolerant (and therefore more resilient).
Importantly, in this wave, we also see far better collaboration across engineering and non-engineering teams. Rather than having to constantly check with engineering teams for updates when there is an application recovery, system patch, or upgrade, non-engineering teams can get live visualizations of what automation is achieving and can serve themselves with rich data on status and outcomes.
With layer two automation having more reach in the enterprise, it’s possible to codify the end-to-end process, enabling standardization and increasing efficiency gains.
In both layers software is important, it’s a lever and tool to bring enormous gains to executing specific tasks. It can work at each layer, with the important consideration that the deeper and more specialized it becomes, the more efficient and reliable it becomes at that specific task but, at the same time, the more brittle it becomes at a wider scope. The focus at the second layer then becomes how you stitch these fantastic pieces of software together.
As the state of the art progresses and technologies like Artificial Intelligence and Machine Learning mature, more of the calls and judgments made by people will also be codified and automated. The framework set out in Paul R Daugherty and H James Wilson’s book Human + Machine on reimagining work in the age of AI sets out which tasks people are best suited to vs those that are best left to automation, as well as the “missing middle” where humans and machines can achieve more by complementing each other. It is arguable that as automation increases, we will push the complexity and demands of our processes to deliver competitive advantages and need yet more human judgment at a higher level and maybe this is an infinite loop.
This new dynamic in the ever-changing IT landscape is what we call Collaborative Automation - the interconnecting of people (engineering and non-engineering) and technology, supported by automation.