Dear AGILE –
I’m having trouble getting my team to create clear acceptance criteria on their user stories. This causes a lot of frustration. Do you have any recommendations for improving acceptance criteria clarity?
Unclear in Urbanna
Well Unclear, let’s see if we can help you out.
There are three considerations when it comes to acceptance criteria:
- Understanding what clarity may look like
- Having an agreed upon Definition of Ready
- Understanding the collaboration techniques you use to gain that clarity
With regard to clarity, a key aspect for having a good user story is for it to follow the principle of INVEST. The ‘T’, for testable, is where acceptance criteria chiefly plays. Whether you use a bullet point format or the “Given, When, Then” format of Specification by Example, you want to be as specific on the needed business function as possible. Let’s look at a bullet point format for simplicity:
- “Select a low weight value” isn’t verifiable; what constitutes ‘low’?
- “Select a value that is below one standard deviation of the average from collected weight data” is very clearly verifiable. Now a developer can envision what method to write and a tester can think of the data set to input and a result that needs to be returned.
When talking about the Definition of Ready, what is important is that the team agrees on it so that there is consistency from one user story to the next. When adding items such as all user stories have been prioritized by the Product Owner, reviewed by a particular stakeholder, references are included, etc., we help ensure that clear and successful acceptance criteria are to follow.
And lastly, how a team goes about defining acceptance criteria can make a world of difference. You want to develop these in a facilitated session and remember you need the perspective of all three of the amigos.
About the Author
Paul Boos is an Agile Coach who, for the last 20+ years, has been passionately exploring improving software development, and particularly the leadership needed to make it successful. Paul works with executives, teams, and those in-between to develop pragmatic approaches to achieve enterprise agility applying Lean, Lean Start-up, or Iterative approaches, and portfolio management techniques. He straddles both the practical (hands-on) as well as theoretical (what could be done) and looks for unique applications for the people with which he works.