Managing defects is kinda like herding cats. It’s nearly impossible. Defects, like cats, can’t really be managed. To be honest, it’s more the process of managing defect resolution than the defects themselves. As a self-proclaimed software entomologist, I have seen defect management processes that range from absolutely nothing to totally burdensome and unuseable. Most are so detailed that they seem to severely micro-manage and tie the hands of most QA and development teams. Looking at their process diagrams reminds me of looking at a plate of spaghetti and meatballs. They make me hungry!
Managing defects isn’t rocket science. I like to keep my defect management process fairly simple and straight forward. Simple being the key word! I like as few states (or statuses) and transitions as possible (developers tend to get easily confused). You find the bug. You fix the bug. You retest the bug. OK, maybe not that simple. But close.
In my simple plan, every defect is defined by 2 basic characteristics: State and Owner.
State: Determines where a given defect currently resides in the overall defect lifecycle. Typical states may include:
Owner: For every given state, a defect is assigned an Owner. The Owner is the person responsible for reviewing, assessing, estimating level of effort to resolve it, and in most cases actually completing the resolution. Is the Owner always a developer? Not neccisarily. It could be a Product Manager, a Business Analyst, or even a tester! Your list of Owners will typically depend on your organizational structure. Some examples:
- Project Management
- Triage Team
Based on the assessment by the Owner, the defect may move, or Transition, to another state. Transitions are typically defined as action verbs.
Transition: Those actions that are available to a defect owner to move the defect from one state to another. Depending on a defect’s current state, the available transitions my be limited. I usually allow the projet manager to override the workflow otherwise I typically restrict a user’s actions. Transaction may include:
A final word or two, or three, or more. Most defect management tools will support customizing the tool to fit your process. Others – not so much. The not-so-much tools should be kicked to the curb. Always adapt the tool to fit your process. Never adapt your process to fit the tool!
If you want to learn more or have any questions, please feel free to contact me at email@example.com. I even have a really spiffy SOT (State-Owner-Transition) diagram that I can share with you.
Rollin’, rollin’, rollin’. Keep those kitties rollin’ Yee Haw!!!
After a brief period of unemployment and not paying a whole lot of attention to software testing – I have returned! Stay tuned for more riveting comments from the world of software testing.