The four key delivery metrics that are crucial for delivery are: Deployment Frequency, Lead Time for Changes, Mean Time To Recovery (MTTR), and Change Failure Rate.
In the book "Accelerate Building and Scaling High Performing Technology Organizations" authors Nicole Forsgren, Jez Humble, and Gene Kim identify four key delivery metrics that are crucial for organizations looking to optimize their software development processes.
These metrics are
Deployment frequency is a key delivery metric that measures how often software changes are delivered to users. This metric is important because it allows teams to quickly respond to changing business needs and to deliver new features and functionality to users. In today's fast-paced digital economy, being able to deliver changes quickly and regularly is critical for staying competitive and meeting customer needs.
High deployment frequency is generally seen as a positive thing, as it allows teams to iterate and improve their software more quickly. However, low deployment frequency can be a sign of underlying problems with the development process, such as long lead times, inadequate testing, or lack of collaboration between teams.
An elite team deploys 1x per day per developer.
Lead time for changes, also known as "cycle time", is a measure of the amount of time that elapses between when work begins on a change and when it is delivered to users. This metric is important because it allows teams to understand how long it takes to complete work and to identify bottlenecks and other inefficiencies in the development process. By reducing lead time, teams can respond more quickly to changing business needs and can also reduce the risk of changes becoming stale or irrelevant.
An elite team has a cycle time of < 1 day.
Mean time to recovery (MTTR) is a measure of how quickly a team can recover from a failure or outage. It is calculated by calculating the time elapsed from incident start to incident resolution. This metric is important because it allows teams to understand the impact of failures on the business and to take steps to minimize this impact. By reducing MTTR, teams can help to maintain customer trust and to ensure that the business continues to operate smoothly.
An elite team has an MTTR of < 60 minutes.
Change failure rate is a measure of the percentage of deployments that cause a failure. This metric is important because it allows teams to understand the stability and reliability of their software. High change failure rates can be a sign of underlying problems with the development process, such as inadequate testing or lack of collaboration between teams. By reducing change failure rates, teams can deliver more stable, reliable software.
An elite team has a Change Failure Rate of < 10%
These four delivery metrics are important tools for measuring and improving the performance of software development teams. By tracking and analyzing these metrics, organizations can identify areas for improvement and take steps to optimize their processes. This can lead to faster, more agile software development, which will make your businesses out perform competitors in today's fast-paced digital economy.
Here are some examples of how teams can improve each of these metrics:
Improving delivery metrics, such as deployment frequency, lead time for changes, mean time to recovery (MTTR), and change failure rate, can be critical for organizations looking to optimize their software development processes. By implementing the right tools, processes, and practices, teams will improve their performance and deliver better software.