thin-edge / thin-edge.io

The open edge framework for lightweight IoT devices
https://thin-edge.io
Apache License 2.0
219 stars 54 forks source link

Implementing Defect Management - Defect (Bug) Triage #1368

Open gligorisaev opened 2 years ago

gligorisaev commented 2 years ago

What is ‘Defect Triage’?

Defect triage is a process where each bug is prioritized based on its severity, frequency, risk, etc. Triage term is used in the Software testing / QA to define the severity and priority of new defects.

Why do we need to have ‘Defect Triage’?

The goal of Bug Triage is to evaluate, prioritize and assign the resolution of defects. The team needs to validate severities of the defect, make changes as per need, finalize resolution of the defects, and assign resources. Mainly used in agile project management.

How often ‘Defect Triage’ needs to be conducted in a release?

The frequency of Defect triage meeting is not fixed. It depends on project situation. Here, are some important factors that decide the frequency of Defect Triage Meetings: These Important factors are:

Usually, Defect Triage Meetings are held two or three times in a week.

Who are the mandatory and other participants of ‘Defect Triage’?

Mandatory Participants

Below project members always take part in Defect Triage Meetings.

Optional Participants

Roles and Responsibilities of participants during ‘Defect Triage.’

QA Leader

Development Lead

Project Manager

What happens during ‘Defect Triage’ Meeting?

What is the outcome of the ‘Defect Triage’?

At the end of every meeting, Defect Triage Metrics will be prepared and given to all the attendees. This report acts as the meeting minutes which will prove helpful for future meetings.

Conclusion:

TheNeikos commented 2 years ago

Heya! Are you suggesting that the thin-edge.io maintainer team does this every week?

AFAIK we don't have a PM and it will be the maintainers who get to decide what gets into the project or not.

We've written down some aspects in the governance that come close to this, maybe you can suggest some improvements here. However, I do not think that any kind of schedule or so would be well received or needed here.

gligorisaev commented 1 year ago

Having in mind that we most probably will need to have defined some kind of "How to react" for incomming bugs from external customers, users ...etc. I gathered some points that we will need in that case in form of process description:

1. Defect Identification: Defects are identified through various means, such as user reports, testing activities, or monitoring systems.

2. Defect Logging: Once a defect is identified, it needs to be logged in a defect tracking system. The defect should be described with relevant details, including steps to reproduce the issue, expected behavior, and actual observed behavior.

3. Prioritization: Each logged defect needs to be assessed and prioritized based on its severity and impact on the system. This helps in determining the order in which defects will be addressed.

4. Assignment: Defects are assigned to the appropriate individual or team responsible for addressing them. This may involve assigning defects to developers, testers, or other relevant stakeholders.

5.Defect Resolution: The assigned individual or team works on resolving the defect by analyzing the issue, identifying the root cause, and implementing the necessary fixes or changes.

6.Testing: After the defect has been resolved, the software or system needs to be retested to ensure that the issue has been effectively addressed and that no new defects have been introduced.

7. Verification and Closure: Once the defect has been resolved and retested, it needs to be verified to ensure that the fix is satisfactory. If the defect is confirmed to be resolved, it can be closed in the defect tracking system.