Introduction
DevOps transformation goals can be defined as:
- Heightened Release Agility
- Improved Software Quality
Or simply:
Delivering Better Software Faster
Therefore measurable DevOps success criteria would be:
- Being able to release versions faster and more often
- Having less defects and failures
We all know that improvement doesn't happen overnight, but instead is an iterative, continuous process. We want to be able to measure our improvement by applying a scientific step sequence of hypothesis->test->analysis->proceed on the outcome->...
In order to measure DevOps flow improvement we need to have metrics for 2 categories:
- Velocity (time it takes to complete each step in the release/delivery cycle, number of releases per time period.)
- Quality (rate of defects per change, etc)
Here are the 12 core KPIs we've come up with. Also known as the DevOps Flow Metrics.
6 for Velocity and 6 for Quality:
Velocity KPIs
-
MLT (Mean Lead Time)
how long does it take for a bit of code to get built, tested and deployed. -
DCR (Daily Change Rate)
number of changes getting committed to mainline and tested per day. -
MTTE (Mean Time To Environment)
how much time it takes developers/testers to bring up a testing environment for verifying each delivered change. " -
MTTD (Mean Time to Detect)
how much time passes since the original commit of code until the bug it introduces gets detected. -
MTTR (Mean Time To Resolve)
how much time it takes to resolve an issue after it’s detected -
MTTA (MeanTime To Approve)
how much time it takes to approve and verify a release. (Measured from the moment all release content has been delivered and until the release has passed all the defined test and verification cycles)
Quality KPIs
-
BFR (Build Failure Rate)
% of failed builds
-
DFR (Deployment Failure Rate)
% of failed deployments
-
IRFR (Infrastructure-Related Failure Rate)
% of build/deployment failures related to infrastructure issues -
RWR (Rework Rate)
% of tickets being reopened -
ADR (Automated Detection Rate)
% of defects being detected by automated testing cycles
-
UWR (Unplanned Work Rate)
% of unplanned issues
If you have comments or suggestions - feel free to open github issues or comments.
If you'd like advice or assistance with KPI collection or analysis, or with any CI/CD/DevOps implementation issues - contact us through the form below.
© 2016 Anton Weiss (otomato) All Rights Reserved - http://otomato.link