I continue summarizing what happened at the Agile Testing Days in Berlin, starting with one of the key notes, given by Lisa Crispin called Limbo Lower Now : An Agile Approach to Defect Management.
In this talk, Lisa used the metaphor of Limbo dancing to explain why we should try to progressively lower the bar by reducing the number of defects in our applications.
In a traditional approach to defect management, bugs have to be documented in a Defect Tracking System (DTS), which provides information for analysis and metrics, and can be considered as a knowledge base.
However, Lisa explained how Mary Poppendiek told her once that defects should be considered as a queue of rework, or waste. In a more Lean approach, the ultimate goal of a team should be to tend towards zero defects. Bugs should be considered as technical debt and addressed as soon as possible. The thing to do would then be to write a test to reproduce the defect, fix it and move on. The test documents the bug and prevent it from ever coming back. It’s also a kind of metric.
According to her, using a DTS presents some advantages
- Knowledge base
- Distributed teams
The major disadvantages of a DTS being
- Communication impediment
- Duplication with tests
- Some bugs will never get fixed so why track them
Hence her recommendations
- Always write a test before you fix a bug to prevent it from coming back.
- Fix a bug immediately when it’s found during development. This eliminates the need of logging it in a DTS.
- Consider defects that are found after development as stories in your backlog, so that you can estimate and prioritize them.
- Don’t waste time on tracking things that will never be fixed : feature to be rewritten, low risk issues.
- Defects should be considered as a team problem. Do what works for your team.
Agile is all about inspect and adapt. You can start simple, with no DTS at all. Then if needed, you can log bugs on index cards, put them on your storyboard and treat them as any other story in your backlog. Eventually you can end up with a DTS if you feel that something is still missing. You can even duplicate the DTS issue on a index card to get the best out of both.
Lisa ended her talk by insisting on one point. Whatever your approach to defect management, do not loose tack of the ultimate goal, which is to prevent defect in the first place.
All in all, nothing really new in this talk. Lisa basically summarized what I have been doing within my team on my current project. Unfortunately, we are not yet at a zero defect level for our application. But we are getting close to it. Bugs found during development are not logged, since they are fixed right away. Major defects are eliminated from one sprint to another, and several minor issues are fixed in the mean time.