馃帹 Design: Suggested reviewers MVC
Release notes
Problem to solve
GitLab users currently have to manually search for and select relevant reviewers for their merge requests. They have to take into consideration things like:
- does the reviewer have enough time to review in a reasonable amount of time? (ie do they already have 10 MRs assigned to them?)
- does the reviewer have the appropriate level of knowledge to review this? (ie ruby expertise if the MR changes ruby code)
- what time zone is the reviewer in? (this one may or may not be important)
- is the reviewer available/in office?
Deciding on reviewer(s) who match the correct criteria can be time-consuming and extend MR cycle time.
Intended users
Primary
Secondary
- Everyone else who uses merge requests
Metrics
- Reduced cycle time
- First reviewer is the right one
- Suggested reviewers get chosen
User experience goal
- Make it easy for developers to see suggested reviewers and choose them for review
- Handle edge cases where suggested reviewers are not available
- stretch: allow users to mark bad suggestions.
MVC
- Users should be able to see suggested reviewers for a given MR and manually apply those suggestions when ready
Overall vision
Proposal
Customers of GitLab.com will be able to start seeing and experiencing value from the functionality including the ability to intelligently assign code reviewers to merge requests based on machine learning models
- Should be able to identify reviewers
- Should be able to automatically assign reviewers
Further details
Permissions and Security
Anyone who can set reviewers should have access to this feature to set recommended reviewers Anyone who can view a merge request can view the suggested reviewers but can't set them unless they have permission to set a reviewer.
Documentation
TBD, I suspect we will want to document this behavior on the existing code review docs page but @tmccaslin is open to creating a new page as well.
Availability & Testing
Behind a feature flag
Available Tier
Currently we are considering this part of ultimate, but may pull this down to Premium as well.
What does success look like, and how can we measure that?
Developers set the suggested reviewers as reviewers and a review actually happens.
Links / references
- Design issue for &6113
- Previous design explorations: &5794 (comment 591442205)
- Mural
- Figma