Traduzione da Amazon Translate

Do you Automate?

Photo by Franck V. on Unsplash

Do you like the assembly line? Do you like to perform repetitive tasks? Automation is going to cause unemployment. Really?  

Automation is the technology by which a process is performed with minimal human assistance. When leaders describe how it will affect us, predictions typically fall into one of two camps. Optimists think that machines will bring human to do higher-value activities, while pessimists predict massive unemployment.

In both cases automation is considered as a double-edged sword. It can lower long-term costs and reduce maintenance but it can also be a huge investment, involve in loss of control and it can be a limit to innovation. 

If it works - don't touch it!

Despite the gap between machines and humans is getting tighter and tighter I do not agree with the idea about replacing humans with automation, it is better to talk of Human Augmentation.

Augmentation is about expanding the capabilities of individuals but it does not follows the empirical rule of "lift and shift" that measures success according to the reduction in only labor costs. The Augmentation can make individuals better at their jobs without affecting the employment of their colleagues.

Machines do it a lot, Humans do it better!

There are many factors to consider when you have to choose if a task should be automated or not. Just because you can automate it, doesn't mean you should.

What Operations to automate

Repetitive tasks that are more prone to human errors should be automated, which will reduce the chance of errors. For example, in the field of Cloud Computing, the use of Infrastructure as Code can help in resources provisioning and documentation activities. Those are very recurring tasks, the Automation helps to remove manually performed operations that usually introduce bugs that are hard to discover and fix. 

IT operations that are boring, recurring and easy to solve. This will help in reducing the manual effort and also will complete the task with high level of efficiency.

Operations that would be executed for longer period, operations which are more stable and are prone to less changes in the functionality.

Tasks that requires constant monitoring, we can log execution and monitor them later. This also reduce the chances of errors, even if go through bunches of logs or spreadsheets is not a very frequent task it makes sense to automate it.

What Operations not to Automate

For sure you don't need to automate operations that you will only run once. The only exception to this rule is when the operation you have to do is too complex to perform manually. Automate processes that have a short-term scope will result in more efforts in the automation than in the process itself.

Today the primary limitation is the cost-effectiveness of automating a solution, so if automation increases a lot the cost of the operation you should not automate it. 

Operations that require manual intervention or validation by the human, operation in which adapting inputs to structured formats is very hard, should not be automated as the return on investment for the automation will always be less.

Very unstable and prone to changes operations should not be automated because they are very hard to test.

Implement an Automation can be very complex task, to get the best value out of automation the scope and use case of an automation solution must be fully developed and understood before you can rely on it. It can be a black box but must produce predictable and reliable results in order to define pass and fail conditions.

Automation relies on either being able to control for inputs or being able to handle errors. An automation solution might crash when something goes wrong, but it might also silently fail and continue.

We need to know when the automation is not functioning as expected.

You need to monitor your automated processes. Try to simplify the problem, easy problems are good candidates to automate, they provide an easy way to test the effectiveness of automation and are easier to check for errors and monitor.

Image by Dreamstime
Image by Dreamstime

Automation is to avoid boring and repetitive tasks that would generate little value if carried out by a human. Borrowing a concept from software engineering, the target is to be DRY. Don't repeat yourself. This philosophy aims to reduce repetition by using abstractions to avoid redundancy. The DRY principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system". Violations to this principle are commonly taken as "waste of everyone's time".

Automation can be powerful, automation can be efficient but automation is not automagic, a process can be carried out automatically in such a clever way that the result appears to be magic but in reality, it is not.

There are a lot of people involved in making automation, so better  to talk about Human Augmentation.