Software:DORA (software development)

From HandWiki
Short description: Research and outcomes for improving software development practices


DORA (DevOps Research and Assessment) is a research project to understand the practices, processes, and capabilities that enable Software Development teams to achieve high performance[1]. It was acquired by Google[2] in 2018.

Capabilities

DORA identifies 28 named capabilities[3] that drive high performance in software development. They are grouped as technical, process, and cultural.

Capabilities identified by DORA
Section Capability
Technical Cloud infrastructure
Continuous integration
Deployment automation
Monitoring and observability
Trunk-based development
Code maintainability
Continuous testing
Empowering teams to choose tools
Shifting left on security
Version control
Continuous delivery
Database change management
Loosely coupled architecture
Test data management
Process Customer feedback
Streamlining change approval
Visual management
Monitoring systems to inform business decisions
Team experimentation
Work in process limits
Proactive failure notification
Visibility of work in the value stream
Working in small batches
Cultural Generative organizational culture
Learning culture
How to transform
Transformational leadership
Job satisfaction

In the outcome of the DORA research each capability includes a description of:

  1. Why it is needed.
  2. How to implement it.
  3. Common failings to avoid.
  4. How to further improve practices.
  5. Ways to measure it.

Capabilities are interrelated. For example, enabling Continuous Integration requires a team to improve through a sequence:

Process capability: "Working in small batches" →
Technical capability: "Trunk-based development" →
Technical capability: "Continuous Integration"

Metrics

DORA defines metrics[4] that help software development teams to identify which capabilities they should focus on improving.

The metrics are a data-driven approach to assessing a team's performance in:

  • Deployment Frequency. The number of deployments made to production per day, week, or month.
  • Change Lead Time. The time it takes to make a change from the initial commit to the production environment.
  • Change Failure Rate. The percentage of deployments that fail.
  • Time To Restore. The time it takes to recover from a deployment failure.

Teams measured as having high DORA metrics correlate with high performance in software delivery.[5]

References

  1. Forsgren, Nicole; Humble, Jez; Kim, Gene (2018). "Accelerate: Building and Scaling High Performing Technology Organizations". ISBN 9781942788331. 
  2. Humble, Jez (2019) DORA's Journey: An Exploration medium.com
  3. DORA Capabilities
  4. DORA Metrics Quick Check
  5. The 2019 Accelerate State of DevOps: Elite performance, productivity, and scaling

External links