[MTTM] Mean Time To Merge Analytics (discovery)
Problem to solve
Mean Time To Merge (MTTM, also referred to as Average Time To Merge) is widely used as a measure of devops health in the software development industry. In fact, GitLab itself uses MTTM as one of its primary development KPIs, and is auditing. It seems there is clear demand for a GitLab interface that would help users understand MTTM.
Intended users
Further details
Validity: MTTM is not a sophisticated measure. Values are relative, and both low and high values can indicate dysfunction. However, enough data can help establish a representative average that can be used as a reference point.
Some questions an MTTM interface could help answer:
- Is code review time rising, falling, or stable over time? (for identifying good or bad trends, or understanding the impact of changes)
- Where is code review time highest? (for identifying complex code and dysfunctional reviews)
- Where is code review time lowest? (for identifying best practices or insufficient reviews)
Proposal
Add a group-level "MTTM Analytics" page, accessible from the left-nav, that displays a "MTTM" chart with 2 lines:
- The average time for merge requests to be merged, grouped by month for the past 12 months, for merge requests meeting these criteria:
- Targeting
master
- Targeting
- The average across the available data (horizontal line)
The data displayed in the chart can be specified using the filter bar.
Proof of concept
See throughput_by_month.rb, which also generates MTTM data.