May 28, 2006

bug; alvorlighet, hyppighet, omfang, risiko

kanskje noko å få inn i bug-rapport, dvs alle desse sidene ved ein bug. 
dvs, truleg berre risiko som manglar hjå oss.

My life as a Code Economist
Should we fix this bug or not?
There are four questions to ask yourself about every bug:

Question One
When this bug happens, how bad is the impact?  Severity

Question Two
How often does this bug happen?   Frequency

Question Three
How much effort would be required to fix this bug?   Cost

Question Four
What is the risk of fixing this bug?    Risk

Two of them are "customer questions", and the other two are "developer questions".

i tillegg såg eg i ein kommentar:

"But the most important question of all is missing:
Question 0. Do you know exactly what is causing the bug, and how?"


1 comment:

Okie said...

Good point...however, I would append that your most important question can/should be asked in conjunction with question 2 rather than as question 0.

Question 2 implies question 0 because in order to know the frequency, you must have some idea of what causes it...otherwise, there's no idea of knowing how often those particular steps will happen.

If I encounter a bug, I try to first determine the impact/severity.

Then I begin working to reproduce the bug. If I begin to have trouble reproducing the bug, then I refer to question 1. If the severity is low...doesn't cause any major problem...then I'll try to repro for a few more minutes, make a note to keep an eye out for it, and move on without submitting a ticket. However, if the potential impact is bad (data loss, crashed system, legal implications, etc) then I will again keep trying to repro. I may even submit a ticket without full repro steps in the hope that perhaps the developer of that code area may provide some insight.

In other words, Question Two implies your Question Zero. However, if the severity indicated in Question One is not high enough, then it's possible that the flow will end and we'll never fully progress to the subsequent questions because it is unnecessary.