Agile and DevOps – Puzzled in Pittsburgh
Agile and DevOps – Are they the same thing? My company calls itself Agile, but my bosses tell me that we’re “DevOps.” Are we both? Neither? Is this all smoke and mirrors?
Puzzled in Pittsburgh
Dear Puzzled in Pittsburgh,
Agile and DevOps – What’s the difference? They’re big concepts with broad applications, but Agile and DevOps aren’t mutually exclusive. Both are about developing software, so there’s lots of overlap, which explains your confusion.
Agile and DevOps are disciplines for building high-quality software fast, but your company can be both Agile and DevOps. In fact, many companies who practice one also practice the other.
The difference between Agile and DevOps is that one is about how a team operates, and one is about how teams relate to each other.
So What is Agile?
Agile development is an iterative approach to software development. It may help to compare it to another development methodology that you might be familiar with– waterfall.
The waterfall method is linear in nature, and the software development life cycle (SDLC) occurs in phases. First, requirements are gathered, which drive the holistic design of the software. The design phase begins based on the business and technical requirements. Development begins based on the requirements and design established in the first two phases. Once development wraps up, testing begins. Once testing wraps up and the software goes live, it will then enter a maintenance state.
The agile framework is instead iterative in nature. The work is divided into set time periods called sprints. When teams develop and test smaller pieces of software, they receive feedback quickly and can be more flexible.
Okay… Then What is DevOps?
But testing, integrating, and deploying code requires help from Ops, who are usually spread thin. In fact, the usual ratio of Devs to Ops is 10:1. This means there’s a bottleneck between Development and Operations. DevOps emerged as a way to solve that bottleneck. DevOps is about developers and IT operations communicating, cooperating, and automating certain processes. It speeds up delivery cycles and makes deployments more stable.
Agile and DevOps Aren’t Mutually Exclusive
Because these two concepts address different challenges to building software, they can coexist. It is important to note that agile and DevOps function differently in every organization.
DevOps encourages the development and operations teams to better understand one another’s roles. DevOps organizations may have operations team members take part in design. Developers might take on some responsibility for application security during development. DevOps encourages teams to understand each other’s roles to build great software together.
This DevOps approach can work with an organization that uses agile. Teams can work together in sprints to receive rapid feedback, ensure that processes work for all teams, and keep release cycles short and stable.
These are both big ideas, so this was just a simple explanation of two very broad concepts. Check out our guide on What is DevOps? for a more thorough review of DevOps. Have a comment or a question for Sloan? Leave us a comment below!
~ Making Cyber a Safer Space