What is Agile?
Agile has become an industry standard in software development over the last 10 years. It promotes adaptive planning, small and reachable goals, evolutionary development and continuous improvement.
Agile is an iterative method that builds software incrementally. This helps break projects down and allows for a controlled approach to client changes. It focuses on producing working software over documentation, and roles often blur in Agile projects, as everyone pitches in to build software as quickly as possible.
A Problem with Agile
Although Agile can deliver many business benefits, it is not without its issues. One of the main problems is that Agile is focused purely on the development stage, which causes problems when software is passed to operations. This causes a bottleneck, as operations can rarely keep up with the pace of development. And so valuable software, ideas and requirements are left sitting on the shelf.
What is DevOps?
DevOps brings together the traditionally disconnected development and IT operations teams, through improved communication and collaboration.
There are many misconceptions about what DevOps really is. But, simply put, it's a more holistic view of the development process, which aims to reduce the bottleneck that occurs with just the Agile method. DevOps recognises the interdependence of the development and ops departments and looks to bring them together to deliver software to the end-user more frequently and to a higher quality. Implementing DevOps can deliver a wide range of business benefits.
DevOps is a culture, not simply a development framework, which requires a shift in the way that traditional development is viewed. Everyone has the same goal of producing high-quality software quickly and understanding that it is a big team effort, in which everyone plays a vital role.
Competing or complementary?
The values and principles of these two methods are very similar, with DevOps having been born out of the problems of Agile. To be truly Agile it makes sense that your development and operations teams should be working together to produce the best quality software that can reach the end-user as quickly as possible. DevOps is becoming a business necessity, as it has been shown to improve development speed, accuracy and quality.
For example, Nationwide implemented DevOps as a way of keeping up with the changing market conditions, improve speed-to-market and support new channels for customer interaction. This drove a 50% increase in code quality and 70% reduction in downtime.
DevOps is viewed by some people as Agile beyond the development team. For them to work well together, there must be an understanding of the deeper values and principles around which they are formed.
In conclusion, you don’t need Agile to implement DevOps, but due to their shared values and principles, they do work well together. If you are looking to implement DevOps into your business, you should not worry if you do not have an agile framework in place. DevOps can be used by itself or combined with pre-existing methods, and it can make it easier to implement Agile later. It is a highly dynamic process that can benefit many different businesses.
To find out how DevOps can revolutionise your software development workflow, download our guide to navigating DevOps.