Critical Bug Fix Checklist

When I have to address a critical bug, I try to approach it warily. Even more, I try to approach it like the bug is a plane and I'm about to fly it across the country.

To do that, one of the tools I use is a checklist, that I force myself to walk through. I've found that a bug fix checklist has lowered the number of returned defects by 60%. That's a major increase in productivity.

This is my checklist below for fixing a critical bug, and deploying a patch to the production server.

Critical Bug Fix Checklist


  • I have identified the branch to which this patch must be applied
  • I was able to duplicate the bug in the original environment
  • I have duplicated the bug on my local dev environment
  • I was able to track the workflow through my debugger to the source of the problem
  • I have described the bug fix to a second person, who concurs with my conclusion


  • Code comments were added appropriately, explaining the fix
  • The bug ticket/tracking number referenced in the code comments
  • I reviewed the  SVN diffs on changed code
  • A second developer has looked at the SVN diffs
  • I have shown the fix to the person who reported the issue

Unit tests & QA

  • I have written unit tests
  • All new unit tests pass
  • My changes did not break any existing unit tests
  • If no unit tests were written, and unit tests can be written, a ticket has been filed as technical debt, to complete the tests, and the ticket is linked to the ticket I am working on now
  • I have manually tested the fix and got the expected results
  • I have tested on IE
  • I have verified that no javascript errors 
  • I have described a test case on the bug ticket, expected results, and areas of impact

Documentation & Bug Ticket

  • A description of the bug cause was added
  • I have documented on the ticket the possible areas affected
  • I have identified the root cause
  • I have indicated how this situation could be avoided in the future

Before  Deployment  Checklist

  • I have verified the fix is in the correct branch
  • I have rebuilt this branch on the testing server
  • The fix has been verified on the testing server
  • I have verified that there is no currently non-releasable patch in this branch that cannot yet be uploaded

Post Deployment Checklist

  • I have verified which sites and servers are to receive the upload
  • A dry run has occurred
  • I have uploaded to a single site/server to verify
  • I have uploaded to all servers
  • I have verified the fix on the original site on which the issue was reported
  • An email has been sent to the relevant parties or representatives, indicating that the issue has been resolved, taken live. The email also identifies the area of concern and what users should now expect to see. 

No comments:

Post a Comment