User Stories – The Confusion Continues

If you spend any time Google’ing “Agile User Stories” your soon come around the almost default template:

As a <type of user>, I want <some goal> so that <some reason>.

Unfortunately, there appears to be still some confusion by teams around what the different is between and Epic and a User Story – so again I refer readers to Mike Cohn write-up.  Agile 101 has a diagram that helps clarify the different story types.  The nice thing about Agile 101’s diagram is that it includes Tests, which are often missed in various blogs when stories are discussed 😦

Which leads us to acceptance criteria/testing.  Unfortunately, there is further confusion here by teams.  First, there is the question of what is the difference between criteria and test?  Then there’s the question of what should be written in a criteria/test.  In my view acceptance criteria are at a high level than acceptance tests.  This is similar to the Epic and User story difference.  I see acceptance criteria mapping to Scenario’s (from a BDD perspective), whereas an acceptance test would map to a GIVEN-WHEN-THEN (behavior).

I agree with Dan’s view that behavior is a far better word than test.  The word ‘Behavior’ provides far more context and less ambiguity than the word “test“, and leads to more focused thought when write the GIVEN-WHEN-THEN (effectively Pre-Condition-Action-Post-Condition).

So why are I writing this posting on user stories, when I’ve written about user stories before?  Well, primarily its because the few paragraphs above do improve the clarity and aid coaching to teams attempting to continue to strive for improvements in their agile’ness.  Further, as per the title of this posting, there is still considerable confusion in my view from teams who think they are following agile, when in fact they are not.  If team could only work from an improved backlog, with less ambiguity, then in my view they avoid a number of mid iteration/sprint issues which generate frustration within the team, and lead to late nights and long hours.

Finally, I think there is still more required by both project managers, user experience and developers to embrace the whole agile process, other than just assume that since their on a n week sprint, with a game planning meeting, they are agile.


~ by mdavey on November 18, 2012.

One Response to “User Stories – The Confusion Continues”

  1. We have a slight disagreement on what is an acceptance criteria and what is an acceptance test.

    To me, the criteria is a description of what is expected the application to do under certain conditions, the test verifies that the application actually behaves as expected under those conditions.

    Usually to verify a simple criteria like “the calculator is capable of adding two numbers” you will need to create multiple test, like “the calculator sum of 1 and 1 is 2”, “the calculator sum of 1 and -1 is 0” and so on…

    To move from criteria to test you need to use testing tactics (boundary analysis is just an example) to create the proper suite of tests to verify the expected behavior is matched.

    As such both criterias and tests are scenarios, while the Given/When/Then sections are there to describe the scenario in a step-like manner: more than often the tests referring to the same criteria will have different `givens` and `thens` but the same `whens` 😉

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: