1 Introduction
-
RQ1 How can the FKM be automatically measured?
-
RQ2 How valuable is the approach to automatically measure the FKM for software development teams?
2 The Four Key Metrics (FKM)
-
Deployment Frequency: addresses minimizing the batch size in a project (reducing it is a central element of the Lean paradigm). As this is hard to measure in software, they took the deployment frequency of software to production as a proxy.
-
Lead Time for Change: defined as “the time it takes to go from code committed to code successfully running in production”. Shorter time is better because it enables faster feedback and course correction as well as the faster delivery of a fix to a defect.
-
Time to Restore Service: as failure in rapidly changing complex systems is inevitable the key question for stability is how long it takes to restore service from an incident from the time the incident occurs (e.g., unplanned outage, service impairment)?
-
Change Failure Rate: the percentage of changes for the application or service which results in degraded service or subsequently required remediation (e.g., lead to service impairment or outage, require a hot fix, a rollback, a fix-forward, or a patch).
3 Multi-vocal Literature Review
Inclusion | Exclusion |
---|---|
Contains more detailed definition than Forsgren et al. | Is not written in English or German |
Contains information about automatic measurement or tooling | Is not text (e.g., YouTube, or Webinar) |
Contains experience report about the automatic measurement | Is a book |
3.1 Systematic Literature Review
3.2 Gray Literature Review
-
DevOps metrics
-
DevOps metrics accelerate
-
DevOps metrics DORA
-
four key metrics DevOps
-
accelerate metrics definitions
-
Theoretical saturation: As soon five articles in a row did not match the “Is about this topic & contains information” inclusion criteria, the next five articles were screened by only looking at their title. If they were not relevant, the search was ended.
-
Effort bounded: After reviewing 100 results for a search term, the search was ended.
3.3 Results
-
Percentage of releases that were followed by a “fix release”.
-
Count of hot fixes in commit messages.
-
Detect failures by using monitoring metrics and divided by deployments.
-
Manually mark a deployment as successful or not.
-
Count rollbacks divided by deployments.