what causes defects
- The previous topic has gotten repetitive. (Summary: If an item isn't done, it goes back to the product backlog and certainly doesn't count as velocity. If a new requirement is discovered, add it to the product backlog. Avoid the word "bug" because no one agrees what it means.)
Raghuveer raised a more interesting tangent.
On Jan 21, 2011, at 4:33 AM, Raghuveer Rao wrote:
> If you try to get to the root cause of your bug they would fall into two major categories
> 1. Programmer errors
> 2. Missed Requirements.
Isn't category 1 (programmer errors) like saying the root cause of plane crashes is gravity? In Scrum, a cross-functional *team* is responsible for a potentially-shippable product increment. Humans always make errors, and there are Agile team practices that help reduce them, such as test-driven development, continuous integration, pair programming, working in a team room, working at a sustainable pace, reducing work in progress, and having a ScrumMaster protecting the team from distractions and harmful management practices.
Most teams devote too much attention to "programming" (without TDD, for instance) for the amount of energy they devote to testing. It's too bad we've failed to make great testing a sexy career, because we need great testers more than ever. I've even seen managers get angry at testers for finding problems.
Of course I agree category 2 (missed requirements) happens often. It can be reduced a little with better communications and more exploratory testing. But isn't this why we do iterative development in the first place? If customers could have specified exactly what they wanted up front, we might have gotten further with waterfall. Showing people the wrong thing sooner, and getting feedback, is a quicker path toward getting them what they'll really want.