A question that often comes up when we’re first implementing automation systems for our clients is “What shouldn’t I automate?” It’s a fair question to ask, especially if you’re new to development automation and you’re experiencing the benefits of automating processes for the first time. However, there’s not always a cut-and-dry answer to what you shouldn’t automate – most of the considerations around what should and shouldn’t be automated come down to the way your internal office culture works, and the unique context of your business. But, generally speaking, there are some guidelines for what you should and shouldn’t consider automating. In this article, we’ll look at a few examples of development processes that you should avoid automating at all costs.
Above everything else, use your common sense.
Ultimately, the reasons for automating processes come down to a few common factors: saving money, freeing up more time for developers to work on more lucrative tasks, and minimising the chance for human error in business-critical processes. When considering what to include and what not to include in development automation, it helps to weigh up the value that will come from automating a process versus the costs (financial as well as operational) of establishing the automation. Depending on how your business operates, the number of processes that can be safely automated will vary, but at the end of the day it comes down to simply balancing the value of the automation against the resources it will consume to set up.
Develop some basic criteria for deciding what not to automate.
Broadly speaking, there are a few types of development processes that happen in the daily operation of your business:
● Tasks that are labour- or time-intensive, but require negligible amounts of on-the-spot thinking or creativity to carry out.
● Tasks that require little to no creative problem-solving and can be solved quickly, but must be carried out on a regular or routine basis.
● Tasks that vary in time- and labour-intensiveness, but require a high degree of precision.
● Ad-hoc tasks that vary in time- and labour-intensiveness, but require a high degree of creative problem-solving.
It’s a well-documented fact that as human beings, we aren’t ideally suited for routinely carrying out monotonous, repetitive tasks – especially ones that require high levels of precision. Computers, on the other hand, are perfect for this role. While the first three of these tasks are suitable for automation, it would be a poor choice to automate the fourth task on the list as it requires a level of creativity that is impossible to achieve through automation.
Deciding what to automate is as important as deciding how to automate.
Deciding which processes to include in your development automation is only half of the problem – the other half is deciding how to go about automating these processes. There is a huge variety of automation software available, both open source and proprietary, and each has its own specialist areas and strengths and weaknesses. Choosing the best possible software for your purposes can make a huge difference to how much value your automation solution will provide, so it’s worth doing some groundwork. Some software will work better within your environment than others, and you’ll likely need to use more than one tool to automate your processes end to end – your ideal automation partner should be able to advise on the best software for your context, and provide a variety of options, both open source and proprietary, to choose from.
ECS Digital provides everything you need to start implementing DevOps in your organisation – from consultation, to implementation, to ongoing training. Our platform-agnostic approach means that we select what’s truly best for your working environment and implement the most valuable solution. If you’d like to know more about our services and what automation could mean for your business, please don’t hesitate to contact us.
Found this interesting? Why not share it: