Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding shared processes #2947

Merged
merged 2 commits into from
Mar 11, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 163 additions & 0 deletions files/en-us/mdn/contribute/processes/content_bug_triage/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
---
title: Triage process for MDN content bugs
slug: MDN/Contribute/Processes/Content_bug_triage
tags:
- MDN
- MDN Meta
- Meta
- Meta Docs
- Content bugs
- Process
- Triage
---
<p>{{MDNSidebar}}</p>

<p>This document looks at the process for triaging content bugs and getting them ready for contributors to effectively work on.</p>

<h2 id="reporting_and_working_on_bugs">Reporting and working on bugs</h2>

<p>Anyone can report a content bug by writing an issue at <a href="https://github.com/mdn/content/issues/new">https://github.com/mdn/content/issues/new</a> using the "Content bug" issue template, or by using the "Report a problem with this content on GitHub" link at the bottom of each MDN page.</p>

<p>Once reported, content bugs are listed at <a href="https://github.com/mdn/content/issues">https://github.com/mdn/content/issues</a>, and are designed to be done by individuals with minimal process requirements. Anyone is welcome to work on a content bug, using the process outlined at <a href="/en-US/docs/MDN/Contribute/Fixing_MDN_content_bugs">Fixing MDN content bugs</a>.</p>

<h2 id="overall_triage_process">Overall triage process</h2>

<p>At a high level, the process for triage looks like so:</p>

<p>Triage preparation:</p>

<ul>
<li>Decide on triagers — Who will do the regular triage?</li>
<li>Set initial labels — As soon as a new bug comes in, give it the "needs-triage" label, to signify that it needs to be triaged, plus a "Content:" label to signify what topic area it is in, e.g. "Content:HTML". Anyone can do this as they spot bugs coming in, but the MDN core team will keep an active eye on this.</li>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we automate the needs-triage label?

Copy link
Contributor Author

@chrisdavidmills chrisdavidmills Mar 9, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. This already happens for the issues created via the new template. I've asked the dev team to add it to the ones created by the bottom-of-page links too, in mdn/yari#3166.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've also added a note in parens to this part "(this should happen automatically)"

<li>Set aside triage time — set out a regular 30-minute slot in which to do the triage, each week.</li>
</ul>

<p>Triage for each issue:</p>

<ul>
<li>Checklist — run through checklist to see if it is ready to triage.</li>
<li>Set priority measure — according to priority rules.</li>
<li>Provide further information to help other contributors start working on bugs more easily.</li>
<li>Set other labels — there are other labels to set, to help people to choose issues to work on.</li>
</ul>

<p>Check through old bugs — look at existing bugs, and see if there are any that are stalled, or need closing, etc.</p>

<h2 id="triage_preparation">Triage preparation</h2>

<h3>Decide on triagers</h3>

<p>We need an assigned triager to regularly triage bugs coming in on each MDN content area. We currently have the following triagers assigned:</p>

<ul>
<li>Accessibility — Chris Mills</li>
<li>CSS — Rachel Andrew</li>
<li>DevTools — Hamish Willee</li>
<li>HTML — Rachel Andrew</li>
<li>HTTP — Florian Scholz</li>
<li>JS — Florian Scholz</li>
<li>Learn — Chris Mills</li>
<li>Learn:CSS — Rachel Andrew</li>
<li>Learn:Express / Learn:Django — Hamish Willee</li>
<li>Media — Ruth John</li>
<li>Other — Chris Mills</li>
<li>SVG — Andre Janische</li>
Ryuno-Ki marked this conversation as resolved.
Show resolved Hide resolved
<li>WebAPI — Ruth John</li>
<li>WebExt — Caitlin/WebExt team</li>
</ul>

<h3 id="set_initial_labels">Set initial labels</h3>

<p>As soon as a new issue is filed, the MDN core team, and anyone else who wishes to help, will add the following labels to that issue:

<ul>
<li><code>needs-triage</code> — signals that this issue needs a proper triage, to get it ready to work on.</li>
<li><code>Content:<em>&lt;area&gt;</em></code> — specifies the content topic this issue relates to, e.g. <code>Content:HTML</code> or <code>Content:CSS</code>. This needed for the triagers to be able to find the issues in their specific areas.</li>
<li><code>l10n-fr</code>, <code>l10n-zh</code>, <code>l10n-ja</code> — specifies that the issue filed concerns an active non-en-US locale. The teams for those locales will pick these issues up and triage them.</li>
</ul>

<h3 id="set_aside_triage_time">Set aside triage time</h3>

<p>Triagers don't need to be actively triaging bugs all the time. Instead, they should set out a 30-minute slot in which to triage the bugs in their area of responsibility, each week.</p>
Ryuno-Ki marked this conversation as resolved.
Show resolved Hide resolved

<p>This doesn't have to be done as part of a synchronous meeting, or even at the same time as everyone else, but it should be done regularly, say once per week, to make sure that the backlog of untriaged bugs doesn't get too high.</p>

<h2 id="triage_process_for_each_issue">Triage process for each issue</h2>

<h3 id="checklist_to_determine_if_we_have_enough_information">Checklist to determine if we have enough information</h3>

<p>For each bug, run through the following checklist to make sure the issue contains enough information for someone to start working on the bug.</p>

<p>Does the issue contain:</p>

<ul>
<li>The MDN URL where the problem has been found.</li>
<li>The URL of any example page or repo related to the bug, if appropriate.</li>
<li>The specific heading on the MDN page where the problem can be found (if needed to find it).</li>
<li>A clear description of what the problem is.</li>
</ul>

<p>If this information is not present, then the triager should ask the submitter of the issue to provide these details, and not continue triaging the issue until those details are provided.</p>

<h3 id="set_priority_measure">Set priority measure</h3>

<p>For each bug, set a priority measure label to help people who want to work on the most important issues or areas (rather than the topics they are interested in).</p>

<p>The levels of priority are:</p>

<ul>
<li><code>P0</code> — A critical issue on any MDN doc.</li>
<li><code>P1</code> — A major issue on a Tier 1 MDN doc.</li>
<li><code>P2</code> — A minor issue on a Tier 1 MDN doc.</li>
<li><code>P3</code> — A major issue on a Tier 2 MDN doc.</li>
<li><code>P4</code> — A minor issue on a Tier 2 MDN doc.</li>
</ul>

<p>Definitions:</p>

<ul>
<li>Critical issue — Something that could damage MDN's reputation severely and/or harm users, which we need to fix as soon as possible, regardless of where it appears on the site. Examples include code examples that if used in production could create a severe security issue, undesirable content such as malware, profanity, pornography, hate speech, or other undesirable content, or links to such content.</li>
<li>Major issue — Something that could severely affect a page's usefulness, for example a significant amount of out-of-date information, a complex and important code example that doesn't work, a significant amount of prose that is badly written and hard to understand, a large number of broken links, etc.</li>
<li>Minor issue — something that doesn't look great but does not affect learning, or only has a minor effect on learning. Examples — Typos, bad grammar, a broken link, a small amount of out-of-date information or badly-written prose, a small code snippet that doesn't work.</li>
</ul>

<p>Generally speaking, critical issues should be fixed immediately, and would probably be handled by MDN staff/peers. And Tier 1 issues are more important than Tier 2 issues. Folks that are interested in tackling the highest priority MDN issues should always tackle Tier 0 issues if any are available, before moving on to Tier 1 then Tier 2 issues.</p>

<div class="note notecard">
<h4>Note</h4>
<p>For definitions of Tier 1 and Tier 2, see the <a href="/en-US/docs/MDN/Contribute/Documentation_priorities">MDN documentation priority list</a>.</p>
</div>

<h3 id="provide_further_information">Provide further information</h3>

<p>It is really useful for other contributors to provide them with further information to help them fix issues; we'd like to recommend that triaging each bug involves a time-box of up to 5 minutes in which the triager quickly describes some steps to take to fix the bug, to help the person who eventually tries to fix it.</p>

<p>For example:</p>

<pre>To whoever fixes this issue, it looks like the following is needed:

* Update the first paragraph below heading X to correct the problem with Y
* Add a description of X
* Update the compatibility data at Link-X</pre>

<h3 id="set_other_labels">Set other labels</h3>

<p>Next, set other labels as appropriate:</p>

<ul>
<li><code>10 minute task</code>, <code>30 minute task</code>, <code>1 hour task</code>, <code>multiple hour task</code> — Some people like to search for bugs based on how much time they've got to contribute, so we like to give a rough measure to allow people to choose.</li>
Ryuno-Ki marked this conversation as resolved.
Show resolved Hide resolved
<li><code>good first issue</code> — if the fix for the issue is really simple, and it would be a good practice issue for a newcomer just getting used to the system, mark it with this label.</li>
<li><code>help wanted</code> — this seems to be a very popular label for people to use to search for things to do on open source projects, so we set this as a matter of course on successfully-triaged bugs.</li>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the above are used by third-party system which lists GitHub issues via their API (see Hacktoberfest Details for beginners for a list of those).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. It'll be nice to be able to point Hacktoberfest participants towards some specific good bugs for them to work on next time around. Last year we have some really weird random submissions.

<li><code>broken-link-internal</code>, <code>broken-link-external</code> — use these if the issue involves a link to a non-existent internal page, or a broken external link.</li>
<li>Once the triage process is completed, <strong>don't forget to remove the <code>needs-triage label</code>.</strong></li>
</ul>

<h2 id="check_through_old_issues">Check through old issues</h2>

<p>At the end of your triage session, have a look through the older existing triaged issues in your topic area, and check to make sure none of the issues are being unnecessarily stalled or clogged up:</p>

<ul>
<li>Check assigned issues that are still open to see if the assignee is making progress. If they have done nothing after a week of being assigned, ask them if they still have to work on the issue. If another week passes and they have still done nothing, unassign them and say that you are opening this up again for others to take.</li>
<li>If a PR has been issued to fix the issue but it has not been reviewed for a week, give the reviewer a gentle ping to ask if they can get to it.</li>
<li>If a PR is waiting on review comments to be addressed after a week, then ask the submitter if they can respond to their review. If another week goes by, either fix the review comments yourself if you have time, or close the PR if not.</li>
</ul>
Loading