Automation is certainly a buzzword at the moment. Whether it be automation of a business process through technology, or automation of technical software development tasks such as testing or deployment of software.
The digital age has highlighted that every company can reduce costs by automating mundane, repeatable tasks and leaving the more intelligent and interesting tasks to an engaged workforce.
This, however, has proved difficult to achieve at times due to a lack of the right skills being available, but also a lack of understanding of what good automation actually is.
Automation is nothing new and can be described as the use of various control systems for operating equipment such as machinery, processes in factories and other applications with minimal or reduced human intervention. Some processes have been completely automated.
The focus of the digital revolution is exactly this – making it easier to achieve a goal through reduced interaction – whether that be making a payment, getting home somehow or renting a house. The key is to have the right level of interaction where users feel comfortable and then ensuring the desired outcome is achieved. For example, I was taken home via an Uber after a couple of quick taps on my phone.
To achieve this it is important to understand that we don’t want to automate all the processes. We want to automate as much as we can to make it easy, ensuring the experience along the way is seamless.
The Japanese call this ‘jidoka’ or ‘autonomation’, and it describes automatic and semi-automatic processes to reduce physical and mental load on the workers. Basically it is a technological innovation that enables machines to work harmoniously with their operators by giving them the ‘human touch’. This is where the real benefit of automation is realised.
By using the example of testing software we can clearly see the difference between automation and autonomation. At a very low level, to drive the design and creation of a software product we may use a process called ‘Test Driven Development’. While we are doing this we will learn about the product we are building by exploration and experimentation. We will also use tools to help build this and experiment to make it quicker and more accurate.
This can be classed as autonomation as we are using tools to help reduce our physical and mental load. The output of this process will be an automated unit test or set of tests, which can be executed when we choose (typically after a change). However, until we re-write or change them, these tests will continue to apply the same logic and rules from their first creation. This is automation – no human touch and typically and output of a semi automated process.
If we understand the value of autonomation and how to achieve that properly, the automation will take care of itself.
Hamish Tedeschi is Managing Director (Australia) at MagenTys. You can follow him on Twitter @HamoMagenTys and @MagenTys. Don’t forget to follow them too @DigiCatapult.
Original article was done by Hamish for The Digital Catapult and you can find that here.
Hamish is MD for Australia and is a regular speaker and blogger on the BDD and DevOps circuit.