Monday, 9 December 2013

Prevent defects, don't find them

Several times I came across the phrase “Acceptance Tests are used to prevent defects (not to find them)”. I want to use the 99 Test Ballons game to illustrate what that could actually mean.



At our last team coaching event we used a game* called 99 Test Balloons to illustrate the importance of Acceptance Criteria. The goal of the game is to draw smileys on balloons, which must meet certain criteria to be accepted (of course in the first round the team does not ask about those). As illustrated in the picture, the size of the eyes must be 2'', the height of the nose 1.5'' and so on. 

The first and most ineffective approach would be to draw a certain number of smileys and afterwards use a ruler to determine if each has the right proportions; this would be called testing. It helps us to find defects and validate if our work meets the requirements. However, this could potentially produce a lot of waste, as we get feedback very late and if adjustments would be needed, we would have to throw away all of them.

So the second approach is to create one smiley and immediately test it after its implementation.  We would get feedback quicker and thereby reduce the changing costs compared to the first approach. However, it is still about finding defects and not preventing them.

The third approach is to create a template (or example) with the exact dimensions first and use it to actually create the smileys. It helps us to prevent defects by using the specification and acceptance criteria/examples itself to form the implementation and build the right product. A prerequisite of course is that the acceptance criteria / examples are created collaboratively and point in the right direction.

James Shore wrote a detailed article about his attempt to prevent defects here.
 ____
*I highly recommend using such games in general, we got great feedback from the team about our exercises. You can find a list of agile games at www.tastycupcakes.com.

P.S. I’d love to talk to you on Twitter: here.

No comments:

Post a Comment