VSD - [BE] Calculate DORA Performers score per project
Overview
In the new "DORA Performers score" widget, we plan to display a breakdown of the DORA score - (High/Medium/Low) so that Exec can understand the organization DORA health top to bottom.
Problem
Currently, the DORA score is not calculated.
Proposal
- Adding DORA score calculation per project (for production environment of given project). Groups are out of scope for this issue.
- Calculate the DORA score monthly, no need for real-time results.
- Add a new batch processing for the score calculation. ( similar process as we have for DevOps Adoption?).
- Add a new API to query the score value.
👉 #411537 (closed) - GitLab Ultimate only.
- DORA score definition:
DORA 2022 Performers score definition:
- For DF: when DF <
1then "Low", when DF >=30then "High", else "Medium". - For LT4C: when LT4C >
30 daysthen "Low", when LT4C <=7 daysthen "High", else "Medium". - For TtRS: when TtRS >
7 daysthen "Low", when TtRS <=1 daythen "High", else "Medium". - For CFR: when CFR >
45%then "Low", when CFR <=15%then "High", else "Medium".
The metrics are aggregate monthly:
| Name | Measure values |
|---|---|
| DF | Deployments per month |
| LTfC | Median per month |
| TtRS | Median per month |
| CFR | Average Rate per month |
GraphQL API structure suggestion
project('gitlab-org/gitlab') {
doraScores(from: '2023-01-01', to: '2023-04-01') {
nodes {
date
deploymentFrequency # low/medium/high/null
leadTimeForChanges
timeToRestoreService
changeFailureRate
}
}
}
- Don't forget to make it
alpha - It should be available for ultimate only
- Please apply lookahead since VSD will query these scores for many projects.
- I think we can limit
fromandtoto be 6 months max - Data for current month will be incomplete (since it's current month) so FE will have to adjust on that.
Related information
And to this comment.
Edited by charlie ablett
