What the role of a DevOps coach? Part 3: What are the differences between Agile and DevOps?

Share This Post

By : Liat Palace  (Director, Delivery Technology Office Agile/DevOps Coaching Team Lead – Amdocs)  & Shirly Ronen Harel (Co-Founder & Agile / DevOps Coach -WeChange)

The Agile framework can work without the involvement of Operations, however DevOps cannot do without Agile practices and mindset. To support the rapid work environment change and the results we are striving to achieve, a sound application structure and solid foundation are mandatory. As DevOps leans on Agile, good Agile practices must take into consideration the end results and evolve into DevOps.

So what is the relationship between Agile and DevOps, and what are the differences between them? What do they have in common and what was added to Agile to achieve the DevOps culture and mindset?

There is no doubt that Agile has become a common practice for the last 10 years and produces great results, much better than any other “traditional” framework.  It fits a fast-changing complex work environment better than any other development methodology. However, the current work environment keeps evolving, and so does the need to improve the provision of high quality continuous customer delivery.

If Agile added speed, with higher quality and the ability to address unexpected, complex work environments better than traditional processes, then DevOps now improves this even more.

We can say that while Agile was mostly bound to the development process, and did not cover Operations, DevOps serves as the handshake between Development, Testing and Operations to enable better collaboration among them. At the same time, DevOps, as an enhancement of the Agile framework, is also about improving stability and the ability to react to change, shortening the time from idea to production, ensuring better collaboration as a mindset and principle among all the parties across the entire business, increased use of tools, and maximum automation as a must.

The Agile flow:

Source: Moving to DevOps and Beyond

https://www.ibm.com/developerworks/community/blogs/invisiblethread/entry/beyond_devops_distributedops_noops_and_bizdevops?lang=en

Following is a breakdown of the differences/additions/emphasize of the Agile and DevOps methodologies:

DevOps Agile  
The overall E2E service or software Smooth and continuous delivery to the customer ·         Continually releasing small chunks of working code

·         Continuous improvement

Focus
E2E results Development velocity Emphasis
Focus on the end results and customer experience. Ensure Customer Satisfaction through efficient development, with early ROI and an opportunity for feedback Goal
Looking at the pipeline and feedback loop and creating a continuous improvement mechanism in the organization. The Agile Manifesto Values
Extended implementations of Agile methods such as Scrum with Operations, Kanban with Operations, etc. Additional methods that should be put in place: Automation, testing, versioning, visualization, production monitoring

Entire delivery value chain integrated into one Agile system.

Process implementations such as Scrum, XP and others Methods
Based on Agile techniques with the addition of  continuous integration & deployment, tool chains, metrics, monitoring, virtualization, etc., as well as techniques to accelerate change and lower risk Tactical techniques such as standups, backlogs, grooming, scoping, sniffing, retrospectives, planning poker, and others Practices
Many tools are used. Expands Agile values and principles, and provides for integration and automation, from development to delivery to users.

Tools include: Jenkins, Git, Docker, Puppet, chef, TeamCity, OpenStack, Log collection utilities.

Specific tools or apps to facilitate processes such as JIRA, Bugzilla, KanBoard, etc. Tools
In practice, “Done” is moved from delivery to the end user.

·         Operations practices and tools are moved up, as early in the development cycle as possible

·         Silos are flattened, and the value of incremental releases is allowed to flow to end-users without barriers

Agile principle – Definition of Done – for working software Done
·         Entire value chain of delivery must buy into values & principles

·         SCIO

Functional requirements + customer feedback on development Value chain
·         All stakeholders must be part of Agile collaboration throughout application lifecycle

·         SCIO

Only Development team; customer views work increments via demos Stakeholders
Main issue to handle Usually not considered The deployment pipeline
·         Test continuously

·         Automate almost everything

·         Continuous integration and testing is mandatory

·         Test as early and as often as possible

·         Automate testing as much as possible

·         Continuous integration

Testing and Automation
Continuous E2E integrated monitoring and optimization Process monitoring / production monitoring Monitoring
Development and Business undertake continuous planning using backlog with ‘end thinking first (OPS)’ and with OPS involvement Continuous planning and design; Scoping, discovery and grooming, planning and sniffing. Building the backlog
Agile + acceleration via actions on the entire delivery cycle E2E Acceleration of Development, Testing and integration TTM TTM
Agile + improvement of quality via industrialization and automation of manual tasks as mandatory Embedded Quality, TDD, ATDD, upfront testing Quality
Agile  + Emphasis on collaboration and trust

Testing is done at all stages by everyone involved

·         Build something that has the quality of our brand written all over it
Quality belongs to all – it is not only the testers’ responsibility

Lean thinking

–      Reduction of silos

–      Waste removal

–      Bottleneck identification

–      Value driven thinking

–      “Continuous integration”

–      Culture of E2E

E2E shared ownership

QA as enabler (not gatekeeper)

Always working software

Continuous feedback: Shorter feedback loops – Strong monitoring E2E

·         We are all in this together – Dev & Testing – no Us vs. Them

·         Dev &Testing shared ownership

·         Embedded Quality

·         Working software  = Done = end of iteration

·         Early Feedback

·         Strong visualization

·         Continuous improvement

·         Fun

Mindset
E2E waste reduction, achieving efficiency using tools, people and methods, and changing mindset Partially Lean thinking
Continuous E2E feedback and input Looks more like backlogs, user stories and success metrics, demos Seek input outside the team doing the work
No stages Agile definitely has stage gates of deployment (alpha, beta, and launch) but has the ability to deploy a solution that can be seen as a finished product at any point in time. Stages
Strive for no iterations – Continuous delivery Cadence Embrace iteration and Ongoing refinement
Decisions are made based on analytics input from production environments (such as system usage)   Data-based decisions

Sources:

Some of the insights are collected from the following sources:

  1. Moving to DevOps and Beyond
  2. The agile in DevOps
  3. DevOps and ITI
  4. How Shell Oil Is Taking DevOps and Agile to the Cutting Edge
  5. The DevOps (R)evolution (part 1)
  6. DevOps Approach (Point of View by Ravi Tadwalkar)
  7. How to Continuously Involve Ops Stuff in the Agile Development Cycle
  8. What is an Agile Testing Mindset in the DevOps World?
Disclaimer: The views shared here are my own. Assistance from a language model was employed for organizing and summarizing my thought. Some of the accompanying images were created using AI technology.

More To Explore

Accelerate your business

Fill out the form to get started today!

Skip to content