13

Agile software development is the methodology of choice for software shops today. But there are still organisations which are not practicing Agile in their software development, who might be interested in adopting DevOps.

When I say Agile Software Development, I mean any offspring that came out of the Manifesto for Agile Software Development. Such as Extreme Programming, Scrum, Lean Software Development and others.

Is Agile software development a mandatory prerequisite of adopting DevOps on an organisation level?

3

6 Answers 6

8

Agile Software Development is not required to do DevOps, but I believe the argument can be made that the value proposition for DevOps is often a lot lower without Agile.

DevOps is a lot of things, but automation is a central theme. The value of automation increases in direct proportion to the frequency with which Development creates new releases. Frequent deployment has a positive impact on certain types of products, specifically consumer applications. High velocity all the way through the software delivery lifecycle returns value for each iteration (anyone seen the CA ad where the zombies want new features in their apps?)

Without Agile, high-frequency releases are extremely difficult, if not impossible. If the Development team is releasing software once a quarter, or twice a year, DevOps can still automate the process, but then what is the point? The investment in time, training, and resources to adopt DevOps may be partly returned in quality, however, the best value is in maintaining high velocity throughout the delivery lifecycle.

One could also argue that if you're going to adopt DevOps, why wouldn't you also adopt Agile? The principles that make them both work, work well together. Practicing DevOps by itself, without Agile, could create an imbalance between Ops and Dev, in which Ops is outperforming Dev for service delivery.

4

NO

I would argue that Mature DevOps operation, does require a Mature Agile process. You are unlikely to be able to get the full confidence to continuously deploy or allow your developers to initiate the deployment process without a mature Agile process in place.

However, I believe it is very important to make it clear that an organisation does NOT need to adopt their agile process before building up their DevOps culture and infrastructure. In fact, I would argue that it is actually easier to adopt Agile once you have some basic DevOps working in your company. Rather than Agile being a prerequisite for DevOps, I would suggest that DevOps be used to help advance your agile implementation.

2

At the Agile 2008 conference, Andrew Clay Shafer and Patrick Debois discussed "Agile Infrastructure". This was the start of the DevOps movement.

But while DevOps has it's roots in Agile Manifesto, the fact is that it is not strictly required for the development teams to be Agile. Most of the Agile Principles are indeed important to follow, but no specific Agile Methodology is prescribed and if the development team can come up with their own way of working, while keeping more or less to the Agile Principles, you can realize the benefits.

2

Not necessarily; as the other answers have stated, Agile methodologies and DevOps mentality can build off of each other, but to me, DevOps is broader than either agile or lean development efforts. Companies that adopt DevOps look at the entire value stream, including operations, development, product design, marketing, security etc... the movement can originate within any silo with the intent of dismantling barriers.

1

IMHO it doesn't need to.

From DevOps (emphasis mine):

DevOps (a clipped compound of "software DEVelopment" and "information technology OPerationS") is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes.1[2] It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.

I highlighted can happen as it is not must happen.

Nothing in the above description actually requires an agile development methodology.

But I suspect often transitions towards DevOps often incorporate insertion of agile methodologies in the development process as they really fit well together.

1

The concept of the devops has arisen precisely because of the proliferation of agile, so it is appropriate to use the devops approaches in a agile. For example, with agile, continuous integration is used (which is part of the devops approach), orchestration of services and containers for testing and rolling out new releases for test and prod environments.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.