The DevOps Research and Assessment (DORA) team has identified and validated a set of capabilities that drive higher software delivery and organizational performance. These articles describe how to implement, improve, and measure these capabilities.
Technical capabilities
-
Cloud infrastructure
Find out how to manage cloud infrastructure effectively so you can achieve higher levels of agility, availability, and cost visibility.
-
Code maintainability
Make it easy for developers to find, reuse, and change code, and keep dependencies up-to-date.
-
Continuous delivery
Make deploying software a reliable, low-risk process that can be performed on demand at any time.
-
Continuous integration
Learn about common mistakes, ways to measure, and how to improve on your continuous integration efforts.
-
Test automation
Improve software quality by building reliable automated test suites and performing all kinds of testing throughout the software delivery lifecycle.
-
Database change management
Make sure database changes don't cause problems or slow you down.
-
Deployment automation
Best practices and approaches for deployment automation and reducing manual intervention in the release process.
-
Empowering teams to choose tools
Empower teams to make informed decisions on tools and technologies. Learn how these decisions drive more effective software delivery.
-
Loosely coupled architecture
Learn about moving from a tightly coupled architecture to service-oriented and microservice architectures without re-architecting everything at once.
-
Monitoring and observability
Learn how to build tooling to help you understand and debug your production systems.
-
Shifting left on security
Build security into the software development lifecycle without compromising delivery speed.
-
Test data management
Understand the right strategies for managing test data effectively along with approaches to provide fast, secure data access for testing.
-
Trunk-based development
Prevent merge-conflict hassles with trunk-based development practices.
-
Version control
A guide to implementing the right version control practices for reproducibility and traceability.
Process capabilities
-
Customer feedback
Drive better organizational outcomes by gathering customer feedback and incorporating it into product and feature design.
-
Monitoring systems to inform business decisions
Improve monitoring across infrastructure platforms, middleware, and the application tier, so you can provide fast feedback to developers.
-
Proactive failure notification
Set proactive failure notifications to identify critical issues and act on problems before they arise.
-
Streamlining change approval
Replace heavyweight change-approval processes with peer review, to get the benefits of a more reliable, compliant release process without sacrificing speed.
-
Team experimentation
Innovate faster by building empowered teams that can try out new ideas without approval from people outside the team.
-
Visibility of work in the value stream
Understand and visualize the flow of work from idea to customer outcome in order to drive higher performance.
-
Visual management
Learn about the principles of visual management to promote information sharing, get a common understanding of where the team is, and how to improve.
-
Work in process limits
Prioritize work, limit the amount of things that people are working on, and focus on getting a small number of high-priority tasks done.
-
Working in small batches
Create shorter lead times and faster feedback loops by working in small batches. Learn common obstacles to this critical capability and how to overcome them.
Cultural capabilities
-
Generative organizational culture
Discover how growing a generative, high-trust culture drives better organizational and software delivery performance.
-
Job satisfaction
Find out about the importance of ensuring your people have the tools and resources to do their job, and of making good use of their skills and abilities.
-
Learning culture
Grow a learning culture and understand its impact on your organizational performance.
-
Transformational leadership
Learn how effective leaders influence software delivery performance by driving the adoption of technical and product management capabilities.