Automation is seen as the Holy Grail for some businesses, providing improved speed and efficiency when it comes to application development, testing and delivery.
DevOps is often viewed as the business tool driving this trend, but there are times when automation can prove problematic for organisations.
Some of the main issues arise because the advantages of automation, when not implemented correctly, quickly become disadvantages. Speed, for example, if not focused can actually damage a business. Gartner claims that 80 per cent of application outages are caused by issues surrounding the change, configuration and release cycle. Using automation to reduce deployment times could see this figure increase.
Another way of looking at the situation is by comparing continuous delivery and continuous deployment. While both are key tenets of the DevOps philosophy, they play subtly different roles.
Continuous delivery means that every software update is ready for deployment, but continuous deployment means that every change is deployed automatically. For some businesses subject to regulations and other restrictions, the latter is not practical.
Continuous deployment may not be right for your business, but continuous delivery is an essential requirement of DevOps, enabling companies to deliver results to their customers rapidly when needed. Therefore, it is key that organisations understand when they can use automation in the software development cycle and when it would advisable to exercise more caution.
Perhaps the most important thing to remember regarding automation is that it is not a miracle cure for your business woes. If a process or application is poorly designed, then simply automating it won’t make it any better.
Automation also has a major impact on the job roles of your employees, so as with any major business change, it’s important to have an open discussion about the possible benefits and drawbacks before proceeding.