Platform/GFX/TriageSchedule: Difference between revisions

edits to the triage page
(add note about triage leaderboard and management review schedule)
(edits to the triage page)
Line 2: Line 2:
=== Overview ===
=== Overview ===


This is a pilot project starting in 2015.  The goal is to refine the process enough to understand what kind of time load this requires, what kind of latency we can accomplish, and collect enough data for a retrospective about best ways to measure the progress, any possible changes and next steps.
This started as a pilot project 2015.  The goal is to refine the process enough to understand what kind of time load this requires, what kind of latency we can accomplish, and collect enough data for a retrospective about best ways to measure the progress, any possible changes and next steps.


=== Process ===
=== Process ===
Line 9: Line 9:
* At this pace, everybody will get this duty once per quarter.  The schedule is in the shared calendar (see above), and it should be self-managing - if you want to trade your week with somebody else, you should be able to just move the item around.
* At this pace, everybody will get this duty once per quarter.  The schedule is in the shared calendar (see above), and it should be self-managing - if you want to trade your week with somebody else, you should be able to just move the item around.
* The goal is to make sure we don’t miss something important, completely or until “late”, and also notice any trends we may have with crashes or intermittent failures, or in any particular areas of the code.  The idea is to categorize the bugs as they come in so that we know which ones need a jump on, which ones can wait a bit, maybe ask for some information that is missing, maybe CC the right people, etc.
* The goal is to make sure we don’t miss something important, completely or until “late”, and also notice any trends we may have with crashes or intermittent failures, or in any particular areas of the code.  The idea is to categorize the bugs as they come in so that we know which ones need a jump on, which ones can wait a bit, maybe ask for some information that is missing, maybe CC the right people, etc.
* We will cover these components: Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib.
* We will cover these components: Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib, WebRender.
* Some guidelines:
* Some guidelines:
** A good guideline should be ~15 minutes per bug, which is probably about hour and a half a day for the two weeks, but lets see what we really need as we get going.
** A good guideline should be ~15 minutes per bug, which is probably about hour and a half a day for the two weeks, but lets see what we really need as we get going.
Line 33: Line 33:
** set the correct platform if it's obvious and we're reasonably certain (e.g., DirectX issue is going to be Windows);
** set the correct platform if it's obvious and we're reasonably certain (e.g., DirectX issue is going to be Windows);
** if we know how to reproduce it, set the "Has STR" field; if there is a regression range, set that as well.
** if we know how to reproduce it, set the "Has STR" field; if there is a regression range, set that as well.
 
* Set the priority field (P1-P5 under importance) at the time that you consider triaged. This will remove it from your queue. Here are some guidelines about priorities in Bugzilla: https://mozilla.github.io/bug-handling/triage-bugzilla#how-do-you-triage
* Set the priority field (P1-P5 under importance) at the time that you consider triaged. This will remove it from your queue.
** If you are not sure, set it to P3.
** If you are not sure, set it to P3.
** If '''you''' are going to fix it in this release, set it to P1.  Note - this is not the same as thinking it '''should''' be fixed in this release.  It's a scheduling note, not a priority setting.
** If '''you''' are going to fix it in this release, set it to P1.  Note - this is not the same as thinking it '''should''' be fixed in this release.  It's a scheduling note, not a priority setting.
Line 50: Line 49:
See [https://firefoxgraphics.github.io/graphicstriage/ dashboard] for the schedule and current counts.
See [https://firefoxgraphics.github.io/graphicstriage/ dashboard] for the schedule and current counts.


=== Future considerations ===
=== Old Feedback  ===
 
This is something JS team did at one point; when we're considering the next steps on this, we will want to consider it:
<pre>
JS team tried shared-triage-responsibility a few years ago. It didn't last very long,
but it was not scheduled or enforced. Eventually managers/project managers/tech leads
took over for the sub-components they were responsible for.
 
Before JS did coordinated triage, Dave Mandelin measured that there were about 11 new bugs
per day, half of which were internally generated by the team and didn't need triage
(developers triage their own bugs). So that was about 5/6 bugs a day across the component.
Of those, the most serious ones (~2 a week, I think?) were already getting fixed within
a release cycle. Based on the distribution we ended up with three priority tags:
 
  p1 = must do
  p2 = want to do <- general bucket
  p3 = may do <- usually idea/investigation/research bugs
 
And two follow-up tags:
  investigate = someone needs to spend a few minutes investigating
  nonactionable = nothing to do
</pre>
 
=== Thoughts and comments about the first round ===
* (Milan) Worth revisiting the query for the bugs you've triaged a few days, or a week after you've reduced the number to zero - sometimes the new ones show up because of the component change or bug getting reopened, or some such.
* (Kats) Current method gives people exposure to other parts of the the code, but without sufficient context to properly triage bugs (no history of what landed recently, or if other similar bugs were reported in the past week). I would still prefer a component-watching approach
* (Kats) Current method gives people exposure to other parts of the the code, but without sufficient context to properly triage bugs (no history of what landed recently, or if other similar bugs were reported in the past week). I would still prefer a component-watching approach
* (Kats) Intermittents are more challenging to deal with - if it's a low-volume initially and later increases in volume who is responsible for it?
* (Kats) Intermittents are more challenging to deal with - if it's a low-volume initially and later increases in volume who is responsible for it?
428

edits