DevOps? Or an agile approach? It’s a major question IT departments are asking right now, and plenty of people have opinions on the subject. Some of them will tell you DevOps is clearly the superior route, while others tout the advantages offered to your company by an agile approach.
All this talk might leave you scratching your head: Which option is actually better? Should you choose a DevOps approach or an agile one? The answer might surprise you.
The DevOps Approach
DevOps focuses on reducing the number of handoffs between and the operations team running and supporting the systems. By limiting these handoffs, the hope is to reduce the number of errors and downtime for operational systems, while also minimizing the time it takes to test and deploy code.
The Agile Approach
Under the agile approach, developers are given the tools they need to deliver new functionality quickly. They’re also better able to adapt to changing business requirements. As the market evolves, so too can your software development strategy.
Both DevOps and agile aim to reduce the time it takes to get new systems and codes to users. Under traditional approaches, delivery can take months or even years. The problem is by the time the new system is delivered, it might already be outdated.
Both DevOps and agile seek a more fluid approach to development, where new systems, functionality, and code are continuously rolled out. These approaches allow your development team to better meet the needs of the business and to respond quickly to changing priorities.
The result of either approach is better and faster software development. Both approaches focus on improving collaboration between departments and teams to achieve this end.
Not Diametrically Opposed
Those who argue for DevOps over agile or vice-versa have missed a key point: The two approaches address different parts of the software development lifecycle. The approaches are different, but it doesn’t mean they’re opposed to each other.
The question isn’t “which one should we adopt,” but rather “how can we adopt both?”
Both DevOps and agile approaches have similar aims. Agile focuses on the continuous delivery of functional software, while DevOps centres on continuous deployment of that same software. The two are clearly related, even if they’re focused on different parts of the development lifecycle.
The question about “which is better” or “which should we adopt” is a little redundant. The answer is you should adopt both, since they support each other throughout the software development lifecycle. Asking if you should adopt one or the other is like asking if you should wear your left shoe or your right shoe today. You could wear just one, but you’d do much better to wear both!
Why It Works
Adopting both agile and DevOps approaches, as many IT professionals are discovering, allows you to manage the process of software development from end to end, using the same principles and specifying similar goals. Agile is employed in the initial planning and requirements through to development. DevOps takes over once the the software is delivered and deployed, focusing on continuously updating and improving.
Adopting this combination approach also allows you to employ smaller, leaner teams with the specific skills they need to get the job done. Instead of having several teams spread across different departments, you’ll employ one unified team to manage the process from end to end.
The advantages of this hybrid approach should be obvious: There’s no need for one team to spend time handing off a project to another and no need for IT professionals to spend valuable time troubleshooting software they’re unfamiliar with. There’s less downtime. Development and tweaks can happen faster, with the same set of hands leading the way.