Don’t let your buglets escape!

08Dec

I caught up with an Agile team this week and learned a new word: buglet.

We were discussing how the move to Agile methods has improved the quality of their products – the test lead pointed out that they have found and fixed a total of 8 defects so far in the project, previously there would have been hundreds by this stage of the project. During the discussion they mentioned not letting buglets escape, which intrigued me.

It turns out that buglet is the term they’ve adopted for in-iteration test failures, when a test fails the tester notes the circumstances and records a buglet against the story so the developers can address it as soon as possible. The whole team is focused on making sure buglets are squashed before the end of the iteration, making sure that stories are Done-Done-Done and keeping quality high.

A buglet is te result of a failed test INSIDE an iteration, the tester records the test failure details against the story and passes the story directly back to the developer working on it, the intent is to fix all buglets during the iteration they are found in, preventing defects from leaking into later iterations (it will always be quicker to fix the problem if it is found shorty after it is inserted).

A bug is the result of a defect that is identified against a part of the system that is not being worked on in the current iteration (the dreaded regression). When a bug is found it is recorded in a defect log and (severity 1 possibly severity 2) worked on immediately or (sev 2 / 3 or below) goes onto the backlog of work to be prioritised and sequenced along with the outstanding stories.

This focus on preventing defects from leaking out of an iterations is one of the reasons Agile projects often result in higher quality products.