Agile and DevOps: Aren't they the same?

I am often asked - "but aren't Agile and DevOps the same"? While I would agree that they are complimentary, DevOps and Agile are not synonyms - here are some of the differences as outlined in a July 2016 article in InformationWeek:

1. Methodology Vs. Deployment

Agile software development is a methodology for developing software. Once the software is developed and released, the agile team doesn't formally care what happens to it. They're on to the next sprint and the next revision of the user story.

DevOps, on the other hand, is all about taking software which is ready for release and deploying it in the safest, most reliable manner possible. DevOps doesn't depend on the software being developed by the agile discipline. It's entirely possible to have waterfall development feeding DevOps.

2. Cross-Functional Vs. Siloed

One of the key factors in many agile processes is the idea that scrum members can each do every job on the team(cross functional). The idea is you don't want team members sitting around waiting for a specialist to become available for the next step in the process. Any available team member should be able to do what's required for progress. In addition, when each team member is capable of doing every job, it increases understanding and makes close communication much easier.

DevOps, on the other hand, assumes there will be development teams and operational teams, the two will be separate, and employees will not hop willy-nilly between the two teams. What the teams will do is communicate between themselves on a frequent and regular basis. 

3. Communication

Scrum is one of the most common methods of implementing agile software development. Everyone who's been around scrum teams knows the daily scrum meeting. Often a standup meeting, the daily scrum is a short meeting in which team members update one another on their progress, tell of their plan for the day, and let the scrum leader know where help is needed. What scrum meetings are not are formal encounters during which thick specification documents are reviewed with an eye on milestones and metrics.

DevOps communications, on the other hand, often involve specs and design documents. It's critical for the operational team to fully understand the software release and its implications so they can properly run the deployment process. The operational team will often involve user representatives, so that users can be ready for the update, and so that the operational team understands the impact a deployment will have business operations. Such communications don't need to happen on a daily, stand-up basis. But they certainly need to happen.

4. A Team, Or A Team Of Teams?

The nature of scrum communications requires agile teams to be relatively small. I don't think I've ever heard of a 1,000-person agile development team. The scrum happens in and among the team, though the team may well be contributing to a larger software effort.

DevOps, by its nature, will have multiple teams working together. Some teams can be practicing agile scrum; some can be practicing agile kanban; some can be practicing waterfall. All can come together at the point of software release to communicate with the operational team for deployment. It's good to reiterate the point: DevOps doesn't depend on any one development discipline to be effective.

5. Scheduling

Agile sprints choose a time in the near future (generally one month or less), and set a number of features to be created within the sprint. Teams know there will be another sprint coming up, and more features can be covered then. They expect to listen to users and to end up revising current features in an upcoming sprint.

DevOps chooses a schedule for deployment to minimize the business disruption. For example, DevOps might roll out the work of each sprint at the sprint's end -- or it might wait until several sprints have released software so there can be a consolidated deployment with less disruption. DevOps doesn't prioritize speed and rapid development. Rather, it prioritizes minimal disruption and maximum reliability.

6. Documentation

One of the principles of agile development is to prioritize working software over complete documentation. This is fine when you're being flexible and responsive, but it can turn around to bite you when you're trying to turn things over to another team for deployment.

DevOps needs the documentation because it will turn the software over to a separate operational team for deployment. Automation helps minimize the impact of skimpy documentation, but, when you're turning complex software over to another team, you can't assume one a long meeting will transfer all the knowledge required. DevOps tends to consider good documentation as part of its definition of working software.

7. Agile Doesn't Spawn DevOps

Agile is all about development. Sometimes, it takes over the entire company. Even when it does, agile discipline doesn't inevitably lead to DevOps. The practice of DevOps involves a separate discipline and methodology from those of agile. When the two are treated as separate disciplines that can work together, decisions become much more rational than when the two terms are used as synonymous.

8. Automation

DevOps absolutely depends on automated deployment to make everything happen smoothly and reliably. Certain tools are an integral part of DevOps.

Agile development teams, on the other hand, may choose to use certain tools. But there are no specific tools required for an agile team. It's entirely possible for an agile team to communicate via email and sticky notes placed around a conference room.

Full article


To view or add a comment, sign in

More articles by Lisa Cueva

  • New Class Release: Introduction to Product Thinking for Agile Teams

    Introduction to #Product _Thinking for #Agile #Teams Training See Full Outline The advent of agile has helped teams…

  • January's Number 1 class is...Microservices

    Course #:WA2755 Introduction to Microservices Architecture See complete outine This training course will help the…

  • “There’s no such thing as a Junior DevOps Engineer”

    In this insighful post by @WebAgeSolutions Marc Brookland, we explore this concept: See full article If you’re…

    2 Comments
  • Trending in 2019: Security

    Learn more about our NEW cryptology class In this training, attendees will learn: Essential math for #cryptography…

  • What's hot in the first week of Jan? Security

    Did you know that Web Age also offers #security training? One of the most sought after requests of the year so far is…

  • Cloud Vendors to watch in 2019

    @AndrewFroehlich writing for #infoweek has compiled a list of top #cloud vendors on the rise in 2019. In this…

    1 Comment
  • New Role Based Azure Courses

    @Microsoft recently released 26 #Role-based #Azure courses. They are mostly 1-day courses across 3 main categories:…

  • New Class Release: Blockchain

    Blockchain Technology Workshop - Vendor Neutral - This course is meant to provide a general overview of Blockchain…

  • Trending this week: Everything #Cloud

    See our complete curriculum here: Cloud Native Application Development AWS Azure OpenStack Microservices Google Cloud…

  • Trending this week: Everything AWS

    Trending this week: Everything #AWS: #sysops #developers #engineers #architects #training #certification SysOps DevOps…

Others also viewed

Explore content categories