Over the last few months there has been a lot of talk about the rise of DevOps. One of our writers, Mark Chillingworth, termed it as a CIO’s theory of evolution while Chris Wysopal, CTO of Veracode, has warned strongly about the dangers of not embedding security firmly enough into the team. But what does all this mean for Agile software development – a methodology that attracts extremely enthusiastic support from its advocates worldwide?
These differences made me wonder if the rise of DevOps could gradually undermine Agile over time, so I thought I’d ask some experts. None of the people I spoke to thought this was likely, so instead, here is some insight into the ongoing relationship between DevOps and Agile based on a wide range of different viewpoints. The consensus is Agile and DevOps are inextricably linked and will continue to develop together.
DevOps is not defined clearly
“DevOps is often not defined very clearly, and it means different things to different people. For me, it’s about moving some responsibilities that were traditionally operational onto developers, providing tools that help them be more productive and – as far as possible – keep operational restrictions and process at arm’s length.
Taking this definition, it’s a non-sequitur to suggest that DevOps would undermine Agile. An Agile software team can only be as Agile as the technology it uses. If a system being developed becomes so complicated to change or deploy that modifications to it are slow and drown in process, that team cannot work in an Agile way anymore.
Being Agile demands that teams can quickly change things, learn and change things again. And do so in an environment where the risks of change are well controlled without having burdensome process – for example, by having good test suites and automated QA as part of a deployment process. DevOps is an enabler to this work, not a competitor to it.”
Harry Metcalfe, Founder of dxw
Definition is key to Agile and DevOps
“It’s all about how you define the terms. If you define them too rigidly then they can clash. But my belief is that they overlap. The term Agile tended to be applied to requirements through to the end of “Code+Test” phase. DevOps tends to be used as Code+Test+Release to operations (production).”
Robert Cowham, Professional Services Consultant at Perforce
Agile gave birth to DevOps
“Agile adoption and Agile thinking promoted DevOps. I believe it will not be a mistake to say Agile gave birth to DevOps (First terminology came up to large audience in an agile conference). Agile and DevOps are perfect couples because they complement each other very well. Agile sets the methodology to manage the project, DevOps helps to deliver the output. Please note that the fit mentioned above does not mean that DevOps and other methodologies do not align.”
Erhan Sen, Senior Consultant, Citihub Consulting
DevOps provides Agile’s missing piece
“DevOps and Agile go hand-in-hand. While Agile may need to adapt, in some cases, the DevOps ‘movement’ is in fact an answer to the needs of Agile development which have been hard to address.
As organisations moved to Agile, many technologies and principles emerged to support them. At the core of this are two critical elements – Continuous Integration, and test automation. Continuous Integration (CI) is the beating heart of rapid development. It allows quick turnaround of integration of new code, and manages not only the integration but also subsequent tasks such as testing. If the CI is the beating heart, the test automation is the lungs – it provides the ‘air’ needed for this to work. Traditional (manual) QA simply can’t keep up with rapid development, and so rapid development can really only succeed with a supporting test automation infrastructure, that can test for quality, security, performance, etc – in a fully automated repeatable way.
Unlike the CI itself, which is usually a pretty ‘fixed’ environment once setup, the test automation requires a lot of IT. And this is where DevOps has emerged from. The reliance of Agile development organisations on the traditional IT was just not making it. Test automation today creates (and discards) dozens or hundreds of virtual servers on a daily basis, each requiring its own configuration, setup, deployments, etc. The speed required for this was not something that IT could support, and so developers began to do this on their own, but that was inefficient. Developers are usually not IT experts, and they also don’t want to spend their time on it.
The emergence of DevOps therefore provided the missing piece. The DevOps organisation is in essence an IT organisation within the development group. It embraces everything Agile – it works directly and closely with the development, rather than requiring the developers to open support tickets for every problem they have and get a response within 24-48 hours. It allows very rapid movement, with just enough information or just enough configuration to do what’s needed. And as we are moving from “traditional” three-weeks sprints Agile to continuous delivery, it also supports the entire flow, to allow this beating machine to deliver functionality at a constant beat, with minimal overhead.”
Ofer Maor, Director of Security Strategy at Synopsys
DevOps is Agile extended
“DevOps is Agile extended to include all of the people involved in the full application lifecycle. The premise of Agile is to encourage closer collaboration between the people involved in software development, including product owners, business analysts, developers, and testers. DevOps adds operations people to this mix, including support staff, security specialists, systems administrators, and others involved in running software in production.”
Agile is necessary for DevOps
“I do not believe you can successfully implement a DevOps culture unless your development process uses an Agile process. It does not matter whether it is a formal Agile process or an informal process, what matters is the mindset and cultural aspects they both imply. This includes cultural aspects such as flexibility, visibility, and having a data driven mindset. From that standpoint, DevOps is completely dependent on Agile for its successful implementation.”
Lee Atchison, Principal Cloud Architect and Advocate at New Relic
The Agile mindset is here to stay
“The approach, skillset and indeed mindset of Agile – breaking projects into smaller chunks, so you’re able to change what you’re building, based on what you’re learning from the customer, while you’re building it, isn’t going anywhere, anytime soon.
Ultimately, today – it is incredibly important companies are able to develop, deploy and operate software at scale, faster and more easily – because the rise of software has changed the operating model of entire industries, and increased the pressure on the established players, and indeed, everyone else.
This has put CIOs in nearly every sector under unprecedented pressure to move faster and deliver software and services that drive business value. Yet software and staffing budgets are not growing significantly. So to do more with less, without burning out your people, you’ve got to do things differently, you need cultural change and new tools – you need Agile, Lean, DevOps, and a relentless focus on outcomes. Only then are you truly capitalising on the power of software and increased velocity, to get your ideas to market, faster.”
Mandi Walls, Technical Community Manager at Chef Software
The differences between Agile and DevOps are in the evolution
“I’ve heard the question of what DevOps means for Agile, and whether, in a world of DevOps it makes Agile less relevant, several times, I’ve also had many animated discussions with colleagues and clients on the topic.
There are some important differences in the evolution of DevOps over Agile. DevOps has not focused on trying to create or articulate a new process, instead it has focused on culture and how technology can address some of the problems and behaviours which exist in the vast majority of pre-dotcom IT organisations. DevOps is a natural evolution on the journey of software development excellence which started in the 1980s, and was formalised in the Agile Manifesto in 2001. This set the industry on a road of striving to continually improve how technology delivers value to its consumers and users.”
Andrew Scotland, Head of Agile and Continuous Delivery Practice at GFT
DevOps removes IT’s boundaries
“The core idea behind DevOps is to remove the boundaries between IT Development, QA and IT operations. This ultimately leads to an IT process with a continuous stream of IT updates to the end user. It’s all about delivering technology to the business in an uninterrupted and non-disruptive way. Agile, on the other hand, is all about cycle-time reduction. It’s an approach that focuses more on individuals and interactions than on processes and documentations relevant to traditional development.
By integrating core principles of the Agile approach, DevOps becomes much more effective. In a strong DevOps engagement, for example, Agile’s ‘Definition of Done’ is leveraged within the Continuous Integration and Continuous Delivery framework.”
Renu Rajani, Vice President, Testing Global Service Line, Capgemini
Agile and DevOps will never be for everyone
“Not all organisations will be able to implement DevOps, often for reasons of cultural incompatibility, or because of practical difficulties, or if there are key business needs that preclude its introduction and use. The same is true for Agile processes and principles as well though. There are many organisations that cannot manage the uncertainties that Agile processes encompass – mainly the uncertainties about what the end deliverable will be.”
Wayne Rowley, Head of Development at Redweb
We’re already reached DevOps 2.0
“Just as Agile evolved into DevOps, DevOps will also continue evolving until, one day, we start calling it something else. The truth is that everything we do is an evolution. We change tiny details, see the result, change it a bit more, observe its behaviour and so on. We repeat those steps over and over again until we are presented with something new. Agile transformation into DevOps is one of the examples.
Even DevOps is nowhere near what it was when it started. At the beginning, the focus was on cultural changes and automation of the processes. More and more things were automated, but not many were truly transformed. What was initially an attempt to automate everything, evolved into the movement that wants to completely change everything we do.
While many are still trying to figure out what DevOps is and how they can benefit from it, others already entering the post-DevOps era which, until a better name comes up, I call DevOps 2.0.”
Viktor Farcic, Senior Consultant at CloudBees
DevOps will change Agile
“DevOps will change how Agile development teams work. As organisational barriers are removed, practices such as Continuous Delivery and Shift Left will change how teams think about where software testing is done in the lifecycle and what the concept of being ‘done’ is. The lines between Dev, Test, and Ops will blur as organisations pay more attention to delivering better business outcomes.”
Mark Levy, Director of Strategy, Application Development and Delivery at Micro Focus
Agile will gradually transition with time
“In its present form, Agile cannot survive as DevOps becomes more ubiquitous. Agile methodology will eventually find itself as the constraint. There is a lot of scripted coordination that’s required with Agile that flies counter to the spontaneous Collaboration and Sharing that is the core culture of DevOps. The new way, Agile 2.0, will require the business to operate in an Agile mode in order to support their own demands. As the broader scope of DevOps is about ‘seek and destroy the constraint’, there will come a time where the work orders are not making it down to the ‘factory floor’ fast enough. The way we think about our core business will adapt.”
Adam Bowen, Worldwide Innovation Lead at Delphix
No methodologies are static
“Naturally, over time the concepts of DevOps and Agile may organically change to suit the latest needs. The methodologies aren't a static set of rules and are open to interpretation, so each implementation of the respective methodology may be different. However, the concepts in both will almost certainly yield positive results when followed.”
Andy Gordon, cloud architect at Steamhaus
Next gen DevOps will be ‘safe to fail’
“The next evolution for DevOps will be the expedited migration from ‘failsafe’ environments to those where it’s deemed ‘safe to fail’. This approach will allow DevOps to increase its velocity and productivity further than before. However, it will also put a lot of pressure on the operations team, which is now on the critical path of the flow of the value stream to customers.
To address these challenges, the DevOps team has to become more efficient, reduce the mean time to repair (MTTR), and provide a system-level feedback loop to Dev, QA, and Sec teams. This requires a robust system-level of service assurance to detect failures early on and fix them before they can impact customers. The environment is safe to fail in cases where the code is not perfect and helps improve the code quality over time as more problems are proactively fixed at the source.”
Michael Segal, Area Vice President, Strategy at Netscout
Business value is still the ultimate key to success
“While the aim of Agile and DevOps are to support software at a rate that keeps up with business pace, IT must also measure at what cost does speed impact software risk and quality. Both Agile and DevOps are required to create a model that is both fast while keeping risk and structural soundness in mind, but neither of them will inherently create ‘quality’. If you’re pumping out a lot of mediocre software quickly, is that really adding business value? Obviously, the early failures will cost less to fix and will have a more limited impact, but IT organisations must go beyond just DevOps and Agile to shift software failures to the left – keeping them at low impact and low cost.”
Olivier Bonsignour, Executive Vice President of Product Development at CAST
DevOps is a CIO’s theory of evolution
PREVIOUS ARTICLE«China’s Cybersecurity Law: Game over for foreign firms?
Jon Collins’ in-depth look at tech and society
Phil Muncaster reports on China and beyond