By Daniel Barrett, Lead Technical Consultant at Saratoga
A few years back I started my DevOps journey at a company that owned its own product. As is often the case with products, we were presented with many challenges, most notably the inconsistency in our deployments and processes in going from development to production. While I’ve since moved on to other endeavours, my fervour for driving consistency in the development pipeline has remained.
Accelerating change through automation
As I’ve experienced the world of software development through the years, it’s been a profession of great change, movement and evolution – with no signs of slowing down.
This is contrary to how most large traditional development teams and IT professionals work. The reality is that these teams are responsible for getting systems and process working in consistent and sustainable ways, based on business requirements – the lifecycle of which is often slow and delayed by corporate processes and red tape.
With most organisations experiencing the impacts of digital transformation, the 4th industrial revolution, and most recently the global COVID pandemic, technology solutions now need to be implemented at a much faster rate. This means we need to see quick changes in business processes, solution architecture and UX to bring about technological change for organisations in more dynamic and impactful ways than ever before. But how do you achieve this if you have arduous processes and procedures that take professionals, time and effort to execute? Well, automation.
While on a call about development processes, one of my developers shared a very thought-provoking statement, “We need to automate all the things”. Granted this cannot be done for truly everything, you can still certainly strive to. This is where I believe the beauty of DevOps automation has created the most tangible value for businesses and development teams. From automating your build and deployment pipelines to automated hybrid cloud setups, unit, functional and database testing. Having these types of processes automated frees development teams to focus on development and experimentation, enabling IT teams to focus on system consistency and performance while simultaneously enabling business teams to focus on customers, sales and strategic objectives.
Successfully implementing DevOps automation
In my current role as Lead Technical Consultant at Saratoga, we partner with our clients to deliver and enhance technology solutions in ways that create real business value.
In our real-world journey to ‘automating all the things’ we started with our development pipeline. Firstly, putting in place automated software builds triggered by developer pushes. Next, automating environmental deployments and finally, implementing alerts and other toolchains for our test teams. Thereby, improving their quality of life, as an added bonus.
With this automation, we were able to achieve a high level of consistency in our build and deployment processes, which led to better quality code and shorter lead times to resolve any issues related to development. The reliability and efficiency created by the automated processes meant deployment no longer took developers days to complete, but minutes and established the client’s trust in our team and processes.
Based on the successful implementation of these automated processes, we are now in a position to automate many tasks which are currently pain points for our client’s IT teams, and thereby freeing those teams to create more value for the business.
So, as I see it, the most significant benefit of automation is the hidden capacity it unlocks for the development and test teams, enabling them to add further value to their projects, processes and teams. This ultimately drives additional value for other teams in the organisation through increases in performance, knowledge and capability.