- Define and publish a process to handle issues in a structured manner.
- Issue handling process
- Issue stages
- Roles
- SLA
- All incoming issues should be assessed. These are items that a Triager would look at on a daily basis
- Every issue triaged should be assessed for its workability. If assessing the workability of the issue requires more information, the Triager would collaborate with the OP until workability is determined.
- Workability Classification (also below are label names):
- feature-request
- enhancement
- bug
- wontfix
- docs
- Workability Classification (also below are label names):
- Workable issues should be prioritized and labeled as one of 3 priorities
- P0 = Critical (Drop everything and work on it.)
- P1 = Important (Work on it if no P0 are present. Use judgment to prioritize items within a list of P1s)
- P2 = Low (Work on it when no P1 are left or some one from community wants to contribute)
- Prioritized and workablity classified issues are considered as ready-for-work. This should signal to any contributor willing to help that they can work on this issue.
- Once a contributor is working on this issue, the issue should be assigned to them. (Assigned issues are considered to be in in-progress stage.)
- Once work is complete and the issue has been resolved, simply close the issue. A closed issue with associated merged PR is considered as completed.
Stage | Meaning | Action | Label |
---|---|---|---|
triage-me | Ticket is ready for triage. | No classification or priority labels | - |
ready-for-work | Ticket triaging has been completed and is up for grabs to be picked up to be worked on by a contributor. | Ticket is labeled based on the workablity classification and one of 3 priorities. | See workablity classification and priorities section |
in-progress | Ticket is actively being worked upon by a contributor. | Contributor who has picked up this ticket shall assign the ticket to themselves. | - |
in-review | Implementation work related to the ticket has been completed. Work related to a Review and/or any changes requested as part of the review is in progress. | Issues with a PR associated with it will be considered as in ‘In Review’ | - |
completed | Work for this issue has been completed and reasonably tested. | No label is needed. Issue is simply closed. | - |
blocked | Issue is blocked for one reason or another. Typically where the delay or waiting period is more than 5 days. | Ticket should be labelled ‘Blocked’ | blocked |
will-not-fix | Issue is not workable. | Issue should have comment indicating why it is not fixable. | wontfix |
-
Triager:
- Person who is triaging the issue by determining its workability. This person is responsible for getting the ticket to one of two stages - 1) ready-for-work 2) wontfix. They are responsible for triaging by working with the OP to get additional information as needed and analyzing the issue and adding relevant details/information/guidance that would be helpful to the resolution of the issue.
-
OP:
- Original Poster. This is the person who has opened or posted the issue.
-
Contributor:
- Person(s) that are actually doing the work related to the ticket. Once work is done, they work with the Reviewer and the Contributing Reviewers to get feedback implemented and complete the work. They are responsible for making sure issue status label is up to date.
-
Reviewer:
- Person(s) whose Approval is needed to merge the PR
-
Contributing Reviewer:
- Person who provides feedback on an PR but whose Approval is not necessarily needed to merge the PR.
- Triager: Daily (Business Days) review of untriaged issues with initial feedback to OP or issue transitioned to ‘ready-to-work’ within 3 days of last activity.
- Reviewer / Contributing Reviewer: Provide feedback within 3 days of the last activity on a PR
- Contributor: 3 day updates as comments on the PR to indicate activity