标签:
One of the teams I have recently coached quickly got a grasp of how to phrase user stories but found it hard to relate to the concept of acceptance criteria.
I wrote this short FAQ as an attempt to make it easier for my team to work with acceptance criteria and hope that other teams might find this useful too:
Acceptance criteria*:
Define the boundaries for a user story/feature
Help the product owner answer what she needs in order for this feature to provide value (typically these are the minimum functional requirements)
Help the team gain a shared understanding of the story/feature
Help developers and testers to derive tests
Help developers know when to stop adding more functionality to a story
*The little pictures above are created by Nathanael Coyne (@nathanaelb).
Good acceptance criteria:
Example user story:
As an internet banking customer
I want to see a rolling balance for my everyday accounts
so that I know the balance of my account after each transaction is applied
Example acceptance criteria:
Another example user story:
As a Snapper cardholder
I want to be able to pick up my pending credit from MySnapper (Note: MySnapper is a client applications for users to top up their ePurse, check their balance etc)
so that I have money on my ePurse
Example acceptance criteria:
(Personally, I like the “I”-format for acceptance criteria to keep focus on the user perspective rather than system centric view.)
What about details such as e.g.:
These kind of details normally come up in the conversation about the story with the product owner. This would be at the sprint planning meeting or when the team starts coding this particular story.
The details the team capture before coding go into two places:
1. Team internal documentation
The purpose of team internal documentation is solely to serve as a reminder for (potentially forgetful) team members. How much of the details need to be written down depends on the team and whether people write down any details at all is entirely up to them. (Note that this is different from external documentation such as e.g. a user guide which would be part of scope)
2. Automated acceptance tests
Acceptance criteria can be expressed in (almost) plain English for use by the chosen testing framework. This means that tests provide value as documentation, automated acceptance tests and as a feedback loop for developers doing BDD (An example using Cucumber here: http://cukes.info/ )
ACCEPTANCE CRITERIA FOR USER STORIES
标签:
原文地址:http://www.cnblogs.com/MinieGoGo/p/4397448.html