https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Agile-vs-DevOps-differences-similarities-compare-deployment-culture-silos
The key difference between Agile versus DevOps is that Agile is a philosophy about how to develop and deliver software, while DevOps describes how to continuously deploy code through the use of modern tools and automated processes.
Agile software developers behave in a manner that is consistent with the values and principles defined in the Agile manifesto.
Written and signed by software development leaders in 2001, the Agile Manifesto defines the 12 principles and four fundamental values that Agile practitioners must embrace, including:
While it’s importance to the software development community can’t be understated, the Agile Manifesto is remarkably short in length. It’s less than 500 words in total.
The Agile Manifesto insists that the continuous delivery of software to the client is the highest priority. It also provides no concise guidance, nor recommends any specific processes to follow. It is purely a philosophical exercise.
In contrast to Agile, DevOps has no defining document. DevOps has no universally accepted definition.
It’s not even exactly clear when DevOps made its way into the public lexicon. Many point to a 2009 Velocity conference presentation by John Allspaw and Paul Hammond, entitled 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr. Many also consider Gene Kim’s book The Phoenix Project as a driving force behind DevOps adoption.
Comparison | Agile | DevOps |
Inception | 2001 | 2007 |
Inventors | John Kern, Martin Fowler at al. | John Allspaw and Paul Hammond at Flickr, and The Phoenix Project by Gene Kim |
Highest priority | Continuous delivery of software | Continuous deployment of software |
Founding artifact | Agile Manifesto | 10+ Deploys Per Day conference session and The Phoenix Project |
Implementation frameworks | Scrum, Kanban, ScrumBan, Lean, XP | CAMS, CALMS, DORA |
Alternatives | Waterfall | Silo based development and deployment |
Team size | Used by small teams of 10 or less | Implemented as a company wide strategy |
Scope | Focuses on the development of a single application | A corporate wide approach to software deployment |
In their 2009 Velocity presentation, Allspaw and Hammond describe how confidence in their software testing routines had created a great deal of trust between development and operations. As a result, the company implemented a process that would automatically deploy code into production over 10 times per day. To automate such a thing was considered earth-shattering at the time.
Many things have changed in the software development industry since 2009, but the cornerstones of DevOps continue to be:
While many argue over exactly what DevOps is, most definitions include the term ‘culture.’ Which begs the question: what is culture?
Generally speaking, culture is any group of like-minded people who use a common set of tools and follow a repeatable set of processes.
In essence, culture boils down to these three things:
Agile and DevOps goals and outcomes are closely aligned.
In the world of DevOps, practitioners stitch together many tasks and popular tools to accomplish them, including:
The overarching process that emerges from all of these steps is the continuous integration and continuous deployment of code (CI/CD).
The path toward a successful digital transformation starts with embracing that Agile and DevOps can not only coexist, but they intersect.
All DevOps practitioners believe in:
Every single one of these points maps directly back to one of the 12 principles outlined in the Agile Manifesto.
The DevOps infinity loop shows the iterative dev process embraced by Agile teams.
Agile and DevOps practitioners share a common mindset. Moreover, their goals are aligned as well.
The ultimate goal of a DevOps transition is to fully automate the deployment of working code into production. This represents full DevOps enlightenment.
The Agile manifesto states in no uncertain terms that its highest priority is the continuous delivery of software to the client.
Both Agile and DevOps share the belief that the best way to build software, ensure transparency and promote sustainable development is to get working software into the hands the clients.
Agile and DevOps also intend for dev and ops teams to use modern tools and processes to get software into the hands of clients as soon as it’s humanly possible.
The Phoenix Project will always be my favorite book on how to bring #Agile and #DevOps practices together.https://t.co/7AoRdgE639 pic.twitter.com/ziWpXlqin2
— Darcy DeClute (Scrumtuous Inc) (@scrumtuous) July 10, 2022
So to summarize, here are the most common differences and similarities between DevOps and Agile:
1. Agile is defined by the Agile Manifesto, while there is no universally accepted definition of DevOps.
2. DevOps defines a work culture, while Agile is a software development philosophy.
3. Agile’s highest priority is continuous delivery, while for DevOps it’s continuous deployment.
4. DevOps insists on the automation of all manual tasks, while Agile and Scrum values “the amount of work not done.”
5. DevOps practitioners embrace an Agile mindset, while Agile demands participants be self-organized and motivated.
Together, people with Agile mindsets who embrace a DevOps culture all share a common goal: the continuous delivery and deployment of software to the client.
When all participants embrace an Agile mindset, DevOps-based digital transformations can be successful.
08 Jul 2022