A FUD (someone who spreads Fear Uncertainty, and Doubt) once said to me “this Kanban thing is rubbish, you don’t even have a defect tracking system”. My response was “why do we need to track defects, shouldn’t we just fix them?”. Of course, the FUD rolled his eyes in that smug, condescending manner, worthy of a power tag.
The traditional approach is:
- Chuck a load of software into test
- Testers log a load of defects in a tool
- Developers get around to the defects at some point and work through lists of defects P1, P2, P3 as prioritised by the project manager.
- Goto step 1 for the next few months (sometimes years)
The Scrum approach is:
- Chuck smaller batches of software into test
- Testers create defect cards (normally red in colour) and stick them in the dev column on the scrum board / card wall
- Developers tackle the red cards, placing them back into the test column upon completion
- End of iteration is approaching, pressure is on, lots of shortcuts taken to meet velocity figures (I know this isn’t what Scrum says but this is a common trait of iteration driven teams)
- Goto step 1 for next few weeks
The Kanban approach is:
- Chuck a single story into test.
- Tester finds defects, grabs developer by scruff of neck and says “WTF!”.
- Developer immediately stops what they’re doing and works with the tester to resolve the issues. No defects are logged. No red cards are created. Automated tests are updated.
- All focus is on getting the story into an acceptable state.
- Ship story to live/production.
The approach outlined above is strictly for in-development defect management. But, what about defects that don’t get detected and make it into a live environment? In Kanban, these Live Defects are added to the backlog and prioritised along with the rest of the product backlog. It might be the case that it get’s expedited but that’s a choice for the Product Owner and other stakeholders to make.
Defect Density KPI’s are nothing but shizzle. They do not provide any useful metric of quality and cannot serve any purpose other than to manipulate and abuse developers. I class Defect Density KPI’s as a form of workplace bullying. Stop it, please.