Defect Process Information - quality-manager/onboarding GitHub Wiki
Useful Links
Run Team Member Tasks
- Severity/Priority Order:
- S1-Blocker > S1-Critical > S2-Major > S3-Normal/P1-High > S3-Normal/P2-Medium > S3-Normal/P3-Low
- If no unresolved defects are owned contact the Run Team Lead.
- Fixes should include tests to cover the fixed functionality. Members should use their judgement to determine if creating the tests are feasible and cost-effective.
- Code review response times
- S1-Blocker and S1-Critical - < 12 hours
- S2-Major, S3-Normal, and S4-minor - < 24 hours
- Code review response times
- When resolving a defect and it is unclear what to set the resolution state as contact a team lead or manager for guidance.
Lifecycle of a Defect
- When starting a defect
- Accept them from your Inbox to Current Work
- Set the "Estimate"
- Set the "Planned For" for the current milestone
- Set the "Status" to "In Progress"
- When working on the defect keep the "Time Spent" up to date.
- Always reproduce the defect. If it can not be reproduced then Resolve it appropriately.
- If a fix is created
- Make sure all relevant code to the fix are in changeset(s).
- Attach the associated changeset(s) to the defect.
- When you have completed the fix move to "In review".
- Request a code review. These should be conducted by other Run Team members if available. If not it can be conducted by anyone on the Run Team.
- Add one approved for the team leader and 1 review for code review.
- If the code review is rejected improve on your solution and request another review. Repeat this process until the code review is accepted.
- Delivering code
- After the defect has a accepted code review deliver the associated changeset(s)
- Change the state of the defect to Resolved.
Defect State Overall Picture
Defect Status States and Actions
Status | Description | Owner Actions on Entry to State | Notes |
---|---|---|---|
New | The initial state of a defect when it is raised. | The development owner should evaluate the defect - is it valid? is it a duplicate? Is enough information provided? If so they should close it as invalid, or a duplicate, or ask for further info and put it into 'Awaiting Information' state. Otherwise it should be put into 'Triaged' state. | |
Triaged | Defect considered "valid" by development, on the queue for investigation | Ensure the Planned For field correctly represents the intended value. The 'Owner' field should be unassigned unless immediate action is intended. Note that the pruning of invalid, duplicates etc should already have been carried out (see above) before entering this state). | |
In Progress | Defect under investigation | Ensure the 'Owner' field is the developer working on the defect. | In active investigation and fixing. |
In Review | Defect under review | Your fix is ready for review | |
Resolved | Defect claimed fixed by Development, pending verification | Ensure the Planned For field is correct for the sprint the fix was delivered to. | |
Closed | Defect closed, the "Resolution" field gives further detail | e.g. Closed/Invalid, Closed/Duplicate, Closed/WAD, Closed/Verified etc | |
Reopened | Defect failed verification or has reoccurred | The Owner should examine the defect and move to another state, just as for a 'New' defect. | |
Awaiting Fix to Adopt | Awaiting a fix in a third party component that we will adopt. | Owner should monitor the third party defect and should move to 'In Progress' and adopt the fix, once it becomes available. | Used when we need a fix in a third party component, but that is not enough and we will need to make further changes to our code to fix the original problem. |
Tracked Elsewhere | Awaiting a fix in a third party component that will cure this issue. | Owner should monitor the third party defect and should move to 'Resolved', once the component with the fix in it is included in the Nightly build. | Used when we need a fix in a third party component, and once that changed component is included, the original defect will be addressed. |
Verified | The defect has been tested and verified to be fixed | Typically the owner does not resolve it to this state. Someone from the group who created the defect will change the defect to this state after they have tested it. |
Defect Resolution States
Resolution | Meaning |
---|---|
Fixed | Defect has been resolved by the code in the attached changeset |
Won't Fix | Although this is a defect, there are no plans to fix it (normally for cost reasons) |
Duplicate | This defect is the same as a previously raised one, and this defect points at it. The reproduction steps need to be similar. Not just the symptoms. If the symptoms are the same but the reproduction steps are not then use the Fixed Indirectly resolution with a Resolved By link to the fixing work item. |
Fixed Indirectly | The defect was addressed by a previously delivered fix and this defect specifies exactly which fix or code change addressed the defect. Ideally should include a link to the item/task that fixed the issue |
Not Supported | Used where the defect involves a scenario or environment that is not supported |
Resolved Elsewhere | The defect was due to an issue in third party code, but a fix has now been delivered into the codebase. |
Works as designed | When it is not really a defect |
Not enough information | When we can't reproduce after a reasonable investigation |
Finished Troubleshooting | Defect required Development investigation, but was in fact an environmental/configuration issue, with no change to the product required. |