Research on cloud delivery
The DTA has collected reports to help you drive organisational change and better meet user needs. They show that team culture, being able to release features fast, and learning from failure lead to better services.
Predictors of high performance
DevOps is an approach that combines:
- cultural changes
- process improvement
- evidence-based decisions
This helps you make better cloud-based products and meet the needs of your users.
The State of DevOps report is the largest report on DevOps. This report includes a survey of 1900 technical professionals.
Its key findings show the importance of:
- how long it takes to release a line of code to production
- job satisfaction
- releasing features fast and often
- developing skills in your organisation
Team culture research
The Google re:Work report looks at what predicts high performance.
It highlights factors that lead to successful teams. They have support to:
- take risks without worry or embarrassment
- rely on each other to do high-quality work on time
They have clear goals, roles and plans. Their work is important to them and they feel like it matters.
The Developer Coefficient report (PDF, 832KB) highlights factors that get in the way of software delivery.
Globally there is significant waste due to:
- maintaining old systems
- technical debt — taking shortcuts and having to redo work later
- building custom technology
The report includes a survey of senior executives. It shows a lack of access to developers is the biggest threat to their organisations. Access to developers is more important to them than access to funding.
Reducing the effect of incidents
The Incidents — Trends from the Trenches study is by Vice President of Technology at Expedia, Subbu Allamaraju.
It looks at hundreds of production incidents from customer-facing applications, cloud-based products and services. These were on-site and in the cloud.
It offers ways to reduce the effect of incidents.
Making changes safely
The study shows making changes is safer when using safety features like:
- canary releases — rolling out changes to a few users before making them available to everyone
- feature flags — being able to turn a feature on or off at any time
- blue/green deployments — running two systems side-by-side to test before moving to the new one
- predictable rollbacks — being able to return to a past version
The study shows services are more reliable if they use:
- compartmentalisation — separating old and new systems to stop system failures
- fault domains — making sure systems don’t rely too much on each other
- redundancy — having more than one of each part, meaning failures of individual parts don’t cause the whole system to fail
Automation and cloud
Automating tasks allows you to focus more on users’ needs. It cuts down on manual and repetitive work with no long-term value, known as toil.
Observability is more than monitoring. It is being able to ask questions of your system. In complex systems it helps you find out why there may be performance problems.
Run blameless reviews and share what you learn. Reviews should focus on how to make improvements to avoid future problems. They should not focus on blaming anyone.