Review Rounds
### Problem We have identified several problems in the code review workflow and interpreted those problems into goals (see below). We recently completed internal Jobs To Be Done research for code review. You can view the mural here: https://app.mural.co/invitation/mural/gitlab2474/1684260270273?sender=mnearents4276&key=7bf113ce-d377-4803-814a-f15f73ceddef ### Job Steps These are the steps for code review: ![Screenshot_2023-05-22_at_2.48.05_PM](/uploads/7af1958fd6d1ab3ed30e62bfb4231c68/Screenshot_2023-05-22_at_2.48.05_PM.png) ### Goals The goals of this epic are: **Authors** _Help authors move their MR into the review process by:_ - Helping them understand who they need to assign as reviewers (https://gitlab.com/gitlab-org/gitlab/-/issues/417209) - Giving them the ability to clarify what they want reviewed (https://gitlab.com/gitlab-org/gitlab/-/issues/412347) _Help authors understand what they need to do next and when by:_ - Helping them understand when a reviewer is finished with their review (https://gitlab.com/gitlab-org/gitlab/-/issues/417491) - Helping them understand whether the review was approved or needs work (https://gitlab.com/gitlab-org/gitlab/-/issues/417491) - Helping them understand what actions need to be taken (https://gitlab.com/gitlab-org/gitlab/-/issues/417491) **Reviewers** _Help reviewers understand exactly what their role is in the MR by:_ - Helping them understand what they need to review _Help subsequent reviewers understand exactly what their role is in the MR by:_ - Helping them understand what has been reviewed so far - Helping them understand what they need to review ### Questions to answer > Helping them understand who they need to assign as reviewers - What is the problem with choosing reviewers? Why is it hard to know who to choose? ### Proposal TBD Next Steps: * Propose designs/flows * Solution validation <details> <summary>Original description</summary> # What are the goals? #### Authors and Reviewers - Let users know when their action is needed on a merge request (and what that action is) #### Authors - Help authors move their MR into the review process - Who do they need to assign it to? - Do they have specific questions for certain people? (eg "Can you please double check this line in `example.rb`...") - Help authors understand a review - Know when a reviewer is finished with their review - What the overall summary was - Whether it was approved or needs work - What they need to do next - Assign to someone else, make changes, add additional comments/questions #### Reviewers - Help reviewers understand exactly what their role is in the MR - Are they being asked to review a certain set of files (eg frontend), or do they need to check everything? - Are they being pinged on one specific question? - Help subsequent reviewers get an overview of who has already reviewed, which points they have already covered, and what their specific role is - Subsequent reviewers may be brought in for specific questions from previous reviewers or author - They may be brought in to give a final once over and merge - They may be pinged as part of the company workflow (eg, you need 2 backend engineers to review) - Help reviewers structure their feedback in a logical and constructive way (conventional comments) ## Links - [Review rounds designs](https://www.figma.com/file/21pQk9lrftkO1Bg4Y7QOxO/Review-rounds?node-id=34%3A1105&t=R71FDr9ca603ifck-1) - [Attention requests UI](https://gitlab.com/gitlab-org/ux-research/-/issues/1387#note_605361530) (I can't find the actual designs :shrug:) <details> <summary>Attention requests background info</summary> - [Epic](https://gitlab.com/groups/gitlab-org/-/epics/5331) - [Slides](https://docs.google.com/presentation/d/1PVD-kowaW2X-DhAn1IDDuLhz8WyRxFZLu-w2gJE4j9E/edit?usp=sharing) - [Video](https://www.youtube.com/watch?v=Fgf6prHAOMk) </details> </details> ----------------- <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic