Merge Request Reviewer workload dashboard (discovery)
Problem to solve
It is hard to keep track of certain kind of activity, in this particular feature proposal, how many Merge Requests an individual reviews.
This is interesting for the Developer, as they for example could see if they are at capacity with reviews. It is also interesting for Developers to find another developer that is not "at the limit" when it comes to reviews.
For Development Team leads it can be interesting to see how much time is spent on reviews in order to account for it in a planning phase.
Intended users
User experience goal
JTBD: When I have an MR that needs reviewing, I would like to understand which maintainers are available for review, so that I can assign them to review my MR confidently.
Proposal
I have built this prototype for a dashboard: https://leipert-projects.gitlab.io/maintainer-workload/
This dashboard functions on the group level (gitlab-org) in this example and combines the following information:
- Availability: Whether a person is available or not. If they aren't available, they can be hidden from the view. Currently GitLab does support setting a status, but we do not know whether a person is available or not. This could be beneficial in other views in GitLab as well and might not be needed for an MVC.
- Category: Each Person has one or more "categories", e.g. Backend Maintainer / Frontend Maintainer. We don't have the possibility to set this currently in the product, only could fall back on a persons role (e.g. Maintainer, which wouldn't differentiate between Frontend / Backend for example)
- Currently assigned Review MRs: All MRs in that group that are assigned which are not authored by the user.
- Review assignment events: All assignment events of Review MRs. I am currently parsing system notes and do not know whether the data is available in products.