All About Agile | Agile Development Made Easy

ScrumMaster Tales: The Team collaborate on Acceptance Criteria

by Mark Levison, 5 February 2013 | The Agile Blogosphere

This content is syndicated from Agile Pain Relief by Mark Levison. To view the original post in full, click here.

Image Credit: robinsonma

Image Credit: robinsonma

The team has just completed Sprint Planning, committing to four stories:


Right after Sprint Planning Kirby decides he wants to take: “As a first time book buyer I would like to read a review so I can see if a book is worth reading.” He invited Brad and Tonia to sit down with him and create some examples that illustrated the acceptance criteria to make sure they were completely fleshed out:

After 30 minutes they think they’ve fleshed out most of the edge cases, and Kirby invites Brad to pair with him as they start writing the first tests. Brad is skeptical, saying, “I’m a BA – how can I contribute while you write code?” Kirby persists, saying, “Let’s just try it for an hour.” Kirby makes a real effort to name the tests to describe the behavior he’s looking to build.

Sample Tests (Java pseudo code):

@Test public void simpleTwoPartName() {…} // Mark Levison
@Test public void oneNameAreNotEnough() {…}  // Levison
@Test public void initialsAloneAreNotEnough() {…} // J. C.
@Test public void initialsAndLastName() {…} // J. C. King

While he’s struggling to read the implementation code for now, Brad discovers it’s very easy to read the test code. In addition, his questions help Kirby to better name the domain objects because they’re forced to make sense to a non-technical person.

Kirby checks in as soon as the first part of the review system is completed – in this case just the business logic to process and store a review. That happens before reviews can be entered via the GUI, let alone be displayed with books.

The next day Kirby pairs with Ian as well and drives out the GUI for the story. However, they’re having a lot of trouble with trying to spot the difference between real names and user ID’s, i.e. “Mark Levison” vs. mlevison. Rather than get hung up, he shows Tonia (the world’s best Tester) what he’s got working so far and asks her to give that a test. While she is open to the idea, she’s still dealing with testing Stories that weren’t tested in the last Sprint. So Kirby asks Martin (Database guru) if he can pitch in. Martin protests that he has no testing experience. Kirby explains that a rough and ready test by another person is better than waiting. He points out that Tonia will still test the Story; he just wants early feedback. Martin downloads the application from the CI server and fires it up. He remembers hearing about buffer overflow attacks. He tries pasting in over 10,000 characters of text into the review text box. The app crashes. For his next act he tries pasting in all the Unicode Symbols into the review text box. Another crash. He shows Kirby, who laughs and then duplicates the tests and subsequent failures on his own machine. Before trying to solve the two problems Kirby writes two failing Unit Tests. Now he sets about solving the problems. Within half an hour he’s fixed both problems.


This time the team is doing better than it has in the past without anyone’s help. Here’s what I see going well:

What seems odd:

What do you find odd? What do you take away from the team’s experience this week?


Leave a Reply

What is 2 + 2 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)