In the Agile era, it is essential for companies to promote DevOps so that the Development and Operations teams can share responsibilities and collaborate with each other.
There seems to be a lot of misconception around what DevOps means. To understand its role in Agile practices, we first need to clarify what we mean when we talk about DevOps. But before trying to explain what DevOps is, we will eradicate some of the most common misconceptions by mentioning what it is not, and it is certainly not a job title. This is possibly the most frequent misinterpretation of the term.
Organizations and teams claim that they need to hire DevOps, but there is no such thing. You can hire someone who knows certain technologies or someone that is experienced with specific processes. You can even find someone with knowledge and experience in both technology and processes, but even so, that won’t be hiring a DevOps.
Then, what about learning DevOps? That actually sounds much better, but it is also an expression that is typically misconceived. Often, when we hear that phrase, teams refer to learning a bunch of tools associated with systems operations, the Cloud, and other sorts of “modern” infrastructure administration tools, but that is not what DevOps is. Yet, it is correct to say that teams should learn DevOps, not only the tools but how to work, how to collaborate with other teams, and how to approach those problems that are usually on the edge between development and operations fields.
So, what is DevOps? It is an attempt to provide a focus point where to concentrate knowledge about practices that were spread out and disorganized. Those practices are nothing more than what we have always done: deliver, deploy, and maintain our systems. In that attempt, the community came up with the name DevOps.
All that knowledge started coming in the form of posts, conferences, books, and all the classic learning resources we are used to. A movement was raised around it, with new communities and new practices that are continuously growing and evolving, and that is what led us to Agile.
Read more: Why DevOps in two perspectives
Why encourage DevOps in Agile teams
In an Agile team, we encourage active and fluent collaboration and communication between different roles and teams that understand and are responsible for different aspects of the business. Following this principle, DevOps attempts to bring the Operations team into the flow. This is fundamentally why you should encourage DevOps in Agile Teams. Operations teams are a necessary extension of the Development teams, so it is natural for them to share responsibilities and integrate with each other at a higher level.
In times of Agile methodologies, it is not a surprise that the DevOps movement happened to grow in this Agile related fashion.
By promoting shared responsibilities, it aims to get the right people to manage a given aspect of the business. In this case, when code is changing daily, Operations is not the right group to deploy and support it but neither is the Development team. Therefore, DevOps joins these teams that used to be isolated and reduces the friction in processes that involve both of them.
To Sum Up
You should be pushing for DevOps because software processes like delivery and deployment can be a fundamental step to the success of your business. Additionally, stronger cooperation between teams enables developers to do their jobs and system administrators to do theirs.
Collaboration and shared responsibilities are the key concepts here. Holding the responsibility of running the business across all the involved teams and sharing the pains and rewards of running a successful business will lead to more successful and effective teams. Therefore, this will result in better products and processes that reduce the risks related to all these aspects of the business.
Comments? Contact us for more information. We’ll quickly get back to you with the information you need.