Agile and DevOps

Agile and DevOps are main themes of #NoDrama DevOps and here is a curated set of posts that will help you learn about these closely-related practices.

The Foundation

Agile and DevOps are methods of working that can help you deliver value to customers frequently, quickly, with lower change failure rates, and time to restore service than other methods. The Value of DevOps to Your Organization explains why this matters. Put simply, these are the aspects of high performance software delivery processes identified by the DevOps Research and Assessment (DORA), which have been shown to create significant improved business outcomes.

DORA’s multi-year, scientific study found that improving Software Delivery Performance improves Organizational performance. And elite and high performing software delivery organizations don’t outperform by a little, they outperform by 2x or more against their competition.

The Value of DevOps

Science!

Software development and technology operations are dynamic, complex environments that are constantly changing. Agile and DevOps reduce the risk of changing complex systems because these processes are designed to gather feedback and respond to change.

The Three Ways of DevOps

The Principles of DevOps describes how we Go Fast, Safely using The Three Ways of DevOps (Humble):

  1. Systems Thinking: Accounting for all of the tasks and dependencies required to deliver a change and operate safely
  2. Amplify Feedback Loops: Create strong signals from our system’s users and feed those signals back into our (product) management decisions.
  3. Continuous Experimentation: Experiment with ideas that may improve the processes and tools we use to deliver services to customers.

Let’s examine how to achieve the first two ways of DevOps by creating delivery pipelines and feedback loops.

Delivery Pipelines

In The DevOps Organization Build Trap, I make the case that if you want to improve business outcomes the ‘Accelerate way‘, tech organizations should offer a set of services teams use to build delivery pipelines that maximize the aspects of software delivery performance. This means delivering service changes and operating those services with:

  1. High deployment frequency
  2. Low lead time for changes
  3. Low change failure rate
  4. Low time to restore service

Delivery pipelines generally look like:

A Delivery Pipeline using a CI/CD

Improving Software Delivery Performance with Continuous Integration (CI) and Continuous Delivery (CD) introduces the concepts of CI and CD, which are fundamental to effective delivery pipelines. That post also explains why CI/CD improves software delivery performance and identifies a number of activities you can stop wasting effort on once you adopt continuous delivery. If a negative case study will motivate you, please check out Like nails on a chalkboard: ‘We haven’t shipped’.

These posts explore CI and CD practices from various angles and should help you upgrade your existing practices with modern technology.

Continuous Integration

Continuous Delivery

There are many posts on Continuous Integration and Continuous Delivery to explore. If you have a question, comment, or (especially) disagree with something, please send me an email.

Which leads nicely to the Second Way of DevOps…

Feedback

The Feedback Loop

Even if our team, project, or system is lucky enough to start in the right place, we can veer from a successful track easily. This may be due to a change in the market, incorrect assumption, a decision we have outgrown, or something else.

One of the best ways to manage that risk is to assume most things will change and design mechanisms gather feedback and respond with a change to the system. These are are the most important posts how to gather feedback and integrate it into your delivery and operational processes:

Generating and incorporating feedback in Agile delivery processes is content you may not find well-covered elsewhere, but is incredibly valuable in practice:

Those posts will help you improve your software delivery practices and team dynamics. Changing your organization will requires additional strategy and tactics, which is explored specifically in Changing organizations successfully and throughout the Strategy theme.

Guidance

Over the past 20 years, I’ve helped teams develop, implement, and optimize their delivery and operational practices using what we now call ‘DevOps’. These practices make the difference between project success and failure, operational excellence and painful ‘all hands’ calls during peak.

This is where the rubber hits the road because you’re dealing with core delivery processes and decisions that result in 2x, 5x, or greater impact to organizational capability and cost. I’d love to help you make your organization 100% or 500% more effective.

I provide private, personalized guidance on these topics and would love to help you improve your organization’s delivery practices by 10x as part of a Guidance Engagement.