Present Lead time for MRs to be deployed to production in group level CI/CD dashboard - Ultimate
Release notes
Problem to solve
As an executive investing in DevOps, I want to see my ROI. I want to see an improvement in the lead time for changes of my dev team. This will most likely drive the KPIs of my team.
As a developer leader I want to see that the team is improving by measuring the lead for changes and comparing it over time (over sprints)
Intended users
User experience goal
Today we show https://gitlab.com/gitlab-org/gitlab/-/value_stream_analytics
We already present number of commits as a numerical value under value stream analytics, we should show number of MRs as well, but we should show this in a chart view - as the trend is the most interesting aspect of this metric.
Proposal
Based on Group Level API support for Deployment Frequency, we will present the median time it takes from when an MR is ready until it is merged into production (this does not include coding time) - this will accumulate the data from all the projects in the group and present the median based on that.
Days with zero deployments we will not show a period in the graph.
Graph visualization (which will happen in %13.11) would need a bit more UX input due to the opposite evaluation method than deployment frequencies.
You can check the recording of the async call below.
- Recording: https://youtu.be/NDwdGS3Q5E0
- GDoc: https://docs.google.com/document/d/1SAEFOslL6chD6_bZf7XYNZebJP-6qmj_EMR6lOzjkcY/edit?usp=sharing
Note: “View Data by [Day/Week]” dropdown will be implemented separately in #326535
💎 Expand full design proposal
- Based on our design system docs, using a line chart for time-series data like this is the right choice
- We want to convey that periods with no MRs deployed have no MTTM data available, rather than 0 minutes of MTTM
- Depending on front-end limitations we might not be able to implement this exact design, but it's is a good starting point for this MVC
Chart in page context
We could also provide a toggled off option that entirely hides "no data" periods to show a seamless progression of MTTM. Note that even the dates are cut off from the chart here.
Page loads with toggle ON by default:
Further details
* Lead time for changes - how long does it take for code to be committed and reach production
What this looks like in Cloudbees
What this looks like in Atlassian
Permissions and Security
Documentation
Availability & Testing
What does success look like, and how can we measure that?
What is the type of buyer?
Is this a cross-stage feature?
devopsmonitor devopsmanage ~"devops::release"