Ideas for better reviews of larger PRs #501
-
What follows is a write-up of a discussion had in the Open Web Docs steering committee meeting, October 18, 2023. Parties involved in the discussion were myself, @Elchi3, @estelle, @wbamberg, and @robnyman. Also mentioning @rachelandrew and @Rumyra here, to make sure Google and Mozilla docs leadership have awareness and can provide input. The problemSmaller MDN content PRs are not problematic as such. The MDN codeowners system automatically assigns reviewers, and the reviewers do the reviews as part of their day-to-day tasks. However, larger PRs can be problematic — they can take hours or days to review, and everyone is super busy and finds it tough to commit to spending the time in their schedules doing these reviews. As a result, sometimes large PRs can sit unreviewed for weeks at a time. SolutionsThe following are some ideas we came up with on how to improve the situation. Clear separation of technical and editorial reviewsOften, a large PR goes through two phases — a technical review and an editorial review, at least in the case of my PRs. I get a Google engineer to comment on the technical accuracy of my work, and then once they are happy I ask one of my MDN writer colleagues to do an editorial review. There was a comment made that it is often difficult to tell when to start the editorial review, plus the large volume of technical review comments is distracting and hard to navigate. To remedy this, we are proposing starting up a system whereby we do the technical review in one PR, and the editorial review in another PR. This will hopefully serve to provide a) a clear signal that the technical review has been completed, and b) a separate place to do it where you are not distracted by all of the technical review comments. The process would go something like this:
I have tested this process out on my new content for the Window Management API. See:
Splitting up PRs into smaller chunksThere was a mixed reaction to this idea. While this makes each individual PR easier to manage, the overall amount of work remains the same, and it can be a pain to figure out how to split the work. One necessity would be to include a prominent note on each PR informing reviews not to merge each PR until all are complete. Create a plan first, and discuss itOne thing I've not been very good at is discussing my work before I do it. I'm not sure how Mozilla or the OWD have been handling this, but going forward I propose that I will document the plan for each intended bit of work in an issue on the mdn content repo first, then bring it to a forum such as the OWD SC meeting to get eyes on it before starting the work. The plan should include:
This will help facilitate reviews by surfacing high-level structural issues early (the kinds of things that could be expensive to fix once the documentation has already been written) and giving editorial teams a heads up so they can think to set aside review cycles for this work ahead of time. Generally discuss review needs in forums moreRather than just pinging people on PRs and hoping for the best, it will always bring better results to turn up to meetings and discuss review needs face-to-face with people. This builds up better relationships and helps to make the ongoing review pipeline more transparent. In terms of making a transparent review pipeline available, I'm not sure of the best place to publish such a thing, but I'm open to ideas. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
Thanks for writing this up, @chrisdavidmills! I think that sounds good overall.
|
Beta Was this translation helpful? Give feedback.
-
I just merged that PR and thought it was a much more manageable process. |
Beta Was this translation helpful? Give feedback.
-
How has this been going so far? Just occurred to me; given this is always a two-phase process, I wonder if it's a good idea to do the technical review in your fork, i.e.:
The same workflow you're currently doing, but without the placeholder PR that's closed each time. Codeowners don't get auto assigned as reviewers, the review queue is easier to navigate, with the downside that you don't have a live preview & some tests (example). |
Beta Was this translation helpful? Give feedback.
-
This is answered; I've been using the technique of splitting up the work into tech review PRs and editorial review PRs, and it has been working fairly well. |
Beta Was this translation helpful? Give feedback.
This is answered; I've been using the technique of splitting up the work into tech review PRs and editorial review PRs, and it has been working fairly well.