AMA: What’s not worth automating?

Anna asks:

At which point do you stop automating repeatable tasks? As in, what tasks aren’t worth automating? My boss wants me to automate all SQL Server database repeatable tasks.
Good question. BTW, if you have a question, use the “HMU” menu link to hit me up.

I use a financial calculation for this. Let’s say the people currently performing the task make $100k a year, and that you’re based in the US. A fully-loaded salary in the US (including benefits and payroll taxes) runs about 40% more, so to the company, they’re worth $140k a year. We have roughly 2,000 working hours per year, so they’re worth $70/hour. So every hour they spend on a task costs the company $70.

Suppose I make the same money (because the math is easy on those numbers). If I can spend ten hours automating something, that costs $700, but it reduces the number of times I have to pay the other people to do it. If something used to take them an hour (costing $70) and now only takes them a minute, I’ve saved money pretty quickly. I might even need fewer people, which means I can deploy them to other tasks that actually require human thought.

I also look at the danger of having someone do something manually. If there’s room for mistake (like forgetting a WHERE clause in a DELETE statement), I’d prefer to automate it to remove that mistake.

If you look at those two factors – money and danger – you usually find that “automate all the tasks” is the right answer.

You also have to think about automation triggers. If some kind of task can be triggered by an automated monitoring process, then it makes all kinds of sense to automate that task. That way, much less human involvement is required. So, if you’ve got a task that can only be triggered by a human, and usually only takes that human a minute or two to perform, and usually doesn’t involve a lot of room for mistakes… that might not be worth automating.

One thought on “AMA: What’s not worth automating?

  1. Luke

    Often it seems not worth it to automate/script/use PowerShell for single little tasks.
    However, when you are waiting for having a consequent task before using the command line you will not be mentally ready and confident nor have enough knowledge and you will still use the GUI.
    Even when I have 2 accounts, 2 folders, or other objects to create/modify, I use an array and a foreach loop because that’s the way to go. Of course, I could use the same command-line twice and change the parameters, but you learn nothing with that. I call that “time investment”.
    Always scripting/automating, even little tasks, will have a global impact on the manual versus automation ratio.
    When you give an automation task to somebody who only automates when he has to, it will take him more time and his final script will probably be longer and less optimized than if you gave the same task to somebody who is automating/scripting everything he cans.
    And besides, when you always copy/paste your script/command-lines in the ticket (this takes you only 2 seconds), you or your colleagues will be able to reuse this information (find what you have done wrong if afterward, you find out that the result is not what was expected, or you/they can reuse the same script or even learn from the script of others). This seems not possible with the GUI…
    Furthermore, if you always use the command-line to perform your task, the automation is nearly only a compilation of your command-lines, which means nearly nothing.

Comments are closed