DORA
DORA stands for DevOps Research and Assessment. It's an organization that conducts research to understand high performance in the context of software development and provides a framework for assessing and improving DevOps capabilities. One of the most significant contributions from DORA to the DevOps community is the introduction of key metrics that help organizations measure their DevOps performance.
DORA metrics have become a gold standard in the DevOps industry. They not only provide organizations with a clear way to measure their software delivery and operational performance but also offer insights into areas that require attention and improvement. Adopting and tracking DORA metrics is a step towards fostering a culture of continuous improvement, reliability, and excellence in software development and delivery.
The four primary DORA metrics help teams evaluate their software delivery and operational (SDO) performance. These metrics are Deployment Frequency (DF), Lead Time for Changes (LT), Time to Restore Service (TRS) and Change Failure Rate (CFR)
Deployment Frequency (DF)
This metric measures how often an organization successfully releases to production. Deployment frequency can range from multiple deployments a day, weekly, monthly, or even longer durations.
Higher deployment frequencies often correlate with high-performing teams. It signifies an organization's capability to deliver features, updates, or fixes to customers at a faster pace. This agility allows businesses to react quickly to market changes and customer demands.
Lead Time for Changes (LT)
This metric captures the time it takes from code being committed to it being successfully deployed in production. In simpler terms, it represents the duration between the inception of an idea and its execution in a live environment.
Shorter lead times indicate a more streamlined and efficient software development and deployment process. It signifies that the organization can quickly transform ideas into functional software, providing faster value to the end-users.
Time to Restore Service (TRS)
TRS measures the time it takes to restore a service when a service incident, like an outage or a defect, occurs. This could be due to issues in the newly released software or any other operational hiccups. A shorter TRS denotes a team's capability to quickly react and resolve production issues, minimizing disruptions for users. It's indicative of an organization's resilience and robustness in its operations and processes.
Change Failure Rate (CFR)
CFR represents the percentage of changes that fail. A change fails if it results in degraded service, subsequently requiring remediation like hotfixes, rollbacks, patches, or another subsequent release to address the issue.
A lower CFR indicates a higher reliability in the software delivery process. It means the organization is delivering stable and reliable software changes to production. High CFRs can be a sign of inadequate testing or rushed processes and can be detrimental to user trust and experience.
Why are DORA metrics important?
The significance of DORA metrics in DevOps cannot be understated.
- Standardization: A consistent way for organizations to measure DevOps performance.
- Feedback Loop: Real-world, tangible metrics for continuous improvement.
- Predictive Power: DORA's research found that organizations with better performance in these metrics have higher organizational performance, suggesting a positive correlation between software delivery performance and business outcomes.
Having all these in mind, do not pervert the system for sticking to a metric.
Capabilities to boost performance
Technical
- Version control
- Continuous testing / integration / delivery
- Deployment automation
- Trunk-based development
- Low coupled architectures
- Cloud infrastructure
- Shifting left on security
- Empowering teams to choose tools
- Test data management
- Code maintainability
- Database change management
Process
- Streamlining change approval
- Team experimentation
- Visibility of work in the value stream
- Customer feedback
- Working in small batches
Measurement
- Monitoring and observability
- Visual management capabilities
- Monitoring systems to inform business decisions
- Proactive failure notification
- Working in process limits
Cultural
- Job satisfaction
- Generative culture
- Transformational leadership
- Learning culture
Resources
https://twitter.com/CodelyTV/status/1654139500539543554
https://www.leanix.net/en/ty/17-metrics-to-help-build-better-software?submissionGuid=6f2087cb-7ba7-439a-b790-b9e31116e362