Five Simple Considerations When Automating IT Tasks

Five Simple Considerations When Automating IT Tasks

2015, Nov 10    

When should we automate tasks? Having recently become more involved in automation of computer network tasks, and witnessed the increasing interest in network ‘DevOps’ I’ve been thinking about this subject quite a lot and it has prompted me to step back and evaluate. One of the key things I have learnt is that the process of automation is a business investment in time and resources, therefore a calculation should to be made to determine its value, and suitable consideration given to any associated risks.

Here is a fairly simple thought process that I have established when an opportunity arises to automate an IT task.

What is the value of the task?

If the task doesn’t bring value to the business why are we doing it in the first place? It is more important than ever that IT processes deliver value, either directly or indirectly. Seriously question the validity of the task itself.

How is everyone else doing the task?

If there is a good reason to do it, how is everyone else doing it? Is the task currently being done in a way that is aligned with the rest of the industry? Is there a best practice that we should be following? Don’t reinvent the wheel when there is an efficient well known/established approach.

How might we automate it?

What tools are available to automate the task? Cost of automation may be heavily influenced by the system used for automation. Many organizations might prefer an off-the-shelf solution, with a formalized support agreement. If an investment has already been made in an automation product or solution reasonable effort should be made to make use of it and realize its value, even if it initially appears unattractive. Sometimes there is a compromise that needs to be made, for example reducing the scope of the task in order to use an existing or off-the-shelf solution.

Can the task be automated with sufficient quality?

In house, custom, bespoke, one-of-a-kind automation solutions can be great, but often can also be inherent with technical debt that could be very costly in the long run. Aim to implement solutions which are well documented, follow industry practices, are quality tested and most importantly fully supported by your organization/vendors. When you consider all of these factors (and many others) often the total cost is a lot higher than you might imagine, especially for solutions developed in-house.

Considering the costs, is it worth it?

The next step is to calculate what the efficiency gain is, there a lot of ways to do this, but on a basic level consider what the upfront investment is to automate the task (man hours, hardware, software etc.) in addition to the recurring costs like support and maintenance, over the expected lifetime of the task. Then evaluate and compare the potential gains. Also note that positive outcomes are not always related to time efficiency, increased quality can be equal or more important, so give that consideration.

If the gain is greater than the cost, go ahead and have fun automating!