In this post, we look at both Agile and DevOps, how do they complement each other? Is Agile valid in a DevOps world?
This is day 5/100 in the 100 Days of DevOps series.
It is common to confuse the terms Agile and DevOps. Both are used together frequently, confused to mean the other but are mutually exclusive terms. Where DevOps is the practice of bringing together development and operations teams, Agile is an iterative approach that focuses on collaboration, feedback, and small rapid releases.
While both are exclusive, you will find that by the short comparison above, that the goals and values of DevOps are those of Agile as well. Agile is a key part of DevOps, while Agile focuses on the constant changes and developers and development cycles more efficient, DevOps brings in the operations teams to enable continuous integration and continuous delivery.
The Agile manifesto
In 2001, 17 people met in the Wasatch Mountains in Snowbird, Utah. Their aim was to discuss the future of software development. What followed was firstly an agreement of the frustration of the current situation of software development, even if the group could not agree how to resolve the situation.
The group agreed that companies were too focused on planning and documentation of their software development cycles, this meant loosing focus and sight of what was important, customer satisfaction.
Most companies discuss corporate values like excellence and integrity, but these values have done nothing to foster people towards a better way, especially software developers. This was something which needed to change. Several members of the Snowbird 17 as they became to be known had ideas already about how to revolutionize software development and start a new era. This trip to the mountains was the groups chance to define this new era.
The Agile landscape is cluttered with ideas which seem to take Agile and transform them into real-world scenarios. This isn’t anything new though, in fact the manifesto is born out of the need to find some common ground between Scrum, Crystal Clear, Extreme Programming, and other frameworks.
One of the biggest goals of the Snowbird 17 was to see if the representatives of these frameworks could agree, they did. The agreement ended up as a set of values that define a culture.
The Agile manifesto defines the following set of values:
- Individuals and interactions over processes and tools
- Working software over comprehensive software
- Customer collaboration over contract negotiation
- Responding to change over following a plan
You can look at the full manifesto which came out of the meeting in the mountains at the Agile Manifesto website.
Do Agile and DevOps work together?
Agile and DevOps can sound like very different concepts. In fact, most people I speak to in the early stages of transformation are very confused by the idea of both. This confusion is also compounded as both have their own jargon and slogans. It is common for people to become frustrated with the plethora of definitions for DevOps.
Most people think that when you say Agile, you mean Scrum and that when you say DevOps you really mean continuous delivery. This simplification then creates tension between Agile and DevOps, to a degree that you would be forgiven for not realizing that Agile and DevOps are friends.
It was back in 2008 at the Agile Conference, that a session about Agile Infrastructure by Patrick Debois and Andrew Clay Schafer, the connection to DevOps was born. Patrick later coined the term DevOps, and the Agile Conference continues with a DevOps track to this day.
Agile is more than Scrum
At the point when the limitations of the business or the work itself request something else, a deft group will use the basic standards of Scrum, at that point review their practices, and adjust to turn out to be more viable. This is especially significant when Scrum is applied external the setting of programming advancement.
What is Scrum?
Scrum is a system that assists groups with cooperating. Scrum urges groups to learn through encounters, self-coordinate while dealing with an issue, and consider their successes and misfortunes to constantly improve.
While the Scrum I'm discussing is most often utilized by programming improvement groups, its standards and exercises can be applied to a wide range of cooperation. This is one reason Scrum is so well known. Regularly considered as a coordinated venture the board system, Scrum depicts a bunch of gatherings, apparatuses, and jobs that work in show to help groups structure and deal with their work.
Applying Scrum within your company is no easy task, you will come up against a whole new set of terms, here is a short list, by no means exhaustive:
- Sprint planning
More on these terms in future posts!
In post 6 in the series, we will be looking at Exploring the World of XOps.