Friday, January 27, 2012

Severity Vs Priority

Severity and Priority are two completely different concepts when it comes to managing Software defects.
•    Bug severity indicates how much effect a bug is doing on the application.
•    Bug priority indicates how important or how quickly it is to fix that bug.

Severity defines the impact that a given defect has on the system.
They are classified in following sections
  1. Blocker
    Application crashes or fails to initialize. Database connectivity issue where system is unable to fetch data or fetches wrong data.
  2. Critical
    Important feature in test fails.
  3. Major
    Secondary feature in test is not operating as expected.
  4. Normal
    Secondary feature in test has some not so important issues. Minor feature in test is not operating as expected.
  5. Minor
    Secondary feature in test has some UI issues. Minor feature in test has some not so important issues.
  6. Trivial
    Minor feature in test has some UI issues or typos.
  7. Enhancement
    Any modification in the existing product which is not covered in requirements, but the stated modification shall be essential for look and feel or for business.
These days Normal and Trivial are not in much use, most of the bug reporting tool have Blocker, Critical, Major, Minor and Enhancement as severity values in their drop-down for Severity field.

Priority defines the order in which we should resolve a defect.
They are classified in following sections
  1. Priority 1
    -    Should be fixed as soon as possible.
    -    The application hangs or crashes (Blockers, Critical and Show stopper Issues).
    -    Data loss taking place.
    -    Memory Leakages are identified.
    -    Implementation is opposite to the requirement specified.
  2. Priority 2
    -    Should be considered to fix as soon as possible.
    -    Having important feature some logical issues. (Wrong functionality implemented).
    -    Performance Issues.
    -    Major Cosmetic Issues
    -    Important Typo errors to be fixed
  3. Priority 3
    -    Should be considered to fix.
    -    Having secondary or other feature some logical issues. (Wrong functionality implemented).
    -    Minor Cosmetic Issues
  4. Priority 4
    -    Should be considering to be fixed before build is released to clients.
    -    Minor Cosmetic Issues.
    -    Other Typo Errors.
  5. Priority 5
    -    Enhancement and Suggestion.
Some bug reporting tool as High, Medium and Low as their Priority values in their drop-down for Priority values.

Following are the examples where different combination of Severity and Priority can be clubbed.
  • High severity, High priority
    If we need to print some data on paper or display some data on screen, and you observed that the data is not printed. For example a Mobile number which is a mandatory field is to be entered in an application and it is to be printed, but it is not printed even though user has entered data. The scenario stated is of High Severity and High Priority. 
  • High severity, Low priority
    If we need to print some data on paper or display some data on screen, and you observed that the data is printed but not in order in which we expected. For example an address is to be printed as Building name, followed by Flat No but in actual implementation the order is not as per requirement. The scenario stated is of High Severity but with Low Priority. 
  • Low severity, High priority
    If we need to print some data on paper or display some data on screen, and you observed that the data is printed but it gets trimmed at the end. For example a Mobile number which is a mandatory field is to be entered in an application and it is to be printed, but it is not printed completed. For example user enters 10 digits and in actual implementation only 8 – 9 digits are printed even though there is more space which permits more digit to be printed. The scenario stated is of Low Severity and High Priority. 
  • Low severity, Low priority
    If we need to print some data on paper or display some data on screen, and you observed that the data is printed but some punctuation are missing as we expected. For example an address is to be printed as Building name followed by comma and Flat No but in actual implementation the comma is missing. The scenario stated is of Low Severity but with Low Priority.

Note: There are different process and methodologies followed in various organizations. The above content is as per my experience in industry so far.
Please feel free to write comments if you like my post or else if your opinion is different or you may like to add any more points in them.