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.
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
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.
- Systems Thinking: Accounting for all of the tasks and dependencies required to deliver a change and operate safely
- Amplify Feedback Loops: Create strong signals from our system’s users and feed those signals back into our (product) management decisions.
- 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.
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:
- High deployment frequency
- Low lead time for changes
- Low change failure rate
- Low time to restore service
Delivery pipelines generally look like:
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.
- What does Continuous Integration look like in 2019?
- Continuous Integration for Infrastructure Code
- Continuous Integration of a Containerized Application
- Good release artifacts drop onto deployment platforms
- Foundations of Continuous Delivery: Deployment and Test Automation
- Upgrade your deployment process to support Continuous Delivery
- Upgrade your testing process for Continuous Delivery
Which leads nicely to the Second Way of DevOps…
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:
- Feedback is a beautiful thing
- Zzzt! Closing the loop
- The work iteration retrospective aka ‘Sprint retro’
- The Prime Directive of Retrospectives: Safety
- Read raw, unedited customer feedback
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.
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.
Receive #NoDrama articles in your inbox whenever they are published. Reply to Stephen and the QualiMente team when you want to dig deeper into a topic.