Throughput Analytics (discovery)
Problem to solve
Throughput is widely used as a measure of productivity in the software development industry. In fact, GitLab itself uses Throughput as one of its primary development KPIs, and is auditing, refining and possibly expanding its usage of Throughput. It seems there is clear demand for an interface that would help users understand Throughput in GitLab.
Intended users
Further details
Terminology: In GitLab, "throughput" refers to MRs per period of time (not issues).
Validity: Throughput is not a sophisticated measure. Specifically, for smaller quantities of data, it does not speak to the complexity of the issues or merge requests being counted. However, for larger quantities of data, the average generally becomes representative of issues or merge requests of average complexity.
Some questions a Throughput interface could help answer:
- Is productivity rising, falling, or stable over time? (for identifying good or bad trends, or understanding the impact of changes)
- Where is productivity highest? (for identifying best practices and high performers)
- Where is productivity lowest? (for identifying dysfunction)
Proposal
Add a group-level "Merge Requests Analytics" page, accessible from the left-nav, that displays a "Throughput" chart with 2 lines:
- the total number of merge requests merged by month, for the past 12 months, for merge requests meeting these criteria:
- targeting
master
- targeting
- the average across the available data
The data displayed in the chart can be specified using the filter bar.
(Using example from EChart's Basic Line Chart with the addition of a second line to represent the average.)
Testing
Performance is probably the biggest concern here, but should be the same as querying through the Merge Request list interface.
What does success look like, and how can we measure that?
This is a discovery issue, so success is measured as:
- Product: Clear lists of what is in and out of scope
- Engineering: Clear confirmation of technical feasibility
- Design: Finalized mockup that can be used for execution
For the feature, success might be measured with:
- Acceptance criteria: There is a "Throughput" page in the Analytics workspace that 1) displays information about merge requests merged over time, and 2) has an average response time of less than 2 seconds.
- Success metrics: Long-term (6 months) repeat usage by at least 2% of active GitLab.com users.
What is the type of buyer?
- GitLab.com: Silver, Gold
- Self-managed: Premium, Ultimate