One of the great things about agile is the flexibility it provides to business and information technology professionals. With agile, especially Scrum, you have the opportunity to follow a framework, but also develop your team norms. One critical component of the Scrum framework is that of acceptance criteria. The criticality of acceptance criteria to agile project success is paramount. Let us dig a bit deeper into what the concept is and why this is the case.
Acceptance Criteria Defined
The whole idea behind acceptance criteria is that it is an agreed upon target state. In Scrum, it is to be defined by the team, by the product owner, the scrum master, the user, and even stakeholders in some instances. Think of the criteria as a set of attributes that need to be met, checked off, before completion.
The criteria are the guiding light of the agile squad. Agile Squads have their product vision document they’ve created, gone through their forming, storming, norming and performing phases, and are now ready to execute. The whole team, including the product owner, work through defining acceptance criteria so that success can be both measured, as well as achieved.
What Makes Good Acceptance Attributes?
You can have very poor acceptance criteria, and as a result, your agile project may suffer. Clear and measurable are the two things you want to keep the top of mind when crafting the requirements. After writing the criteria, reading it back should result in the whole team having a firm understanding of what good criteria looks like.
When writing the criteria, use the form of “As a “blank,” I want “blank” so that "blank."" That is how you should be drafting each piece of criteria as it pertains to User Stories or incremental chunks of work, the agile team develops.
Let us use the example of an agile squad developing an iPhone application for used car buyers.
Vague or poor criteria for a User Story could be “As a car buyer, I want to search for used cars so that I can browse available inventory.” If you were an agile squad, would you know how to develop this? What is the search criteria the user wants to utilize in the search?
An improved version of this would be, “As a car buyer, I want to search for used cars by make, model, and zip code so that I can browse available inventory in my area.”
The agile squad now knows they need inputs for make and model, as well as the zip code to match up cars in a defined geographic area. Clearly defined and measurable attributes are critical!
Closing the Sprint
Acceptance criteria are the set of defined and specified conditions needed before a piece of functionality can be accepted by the customer. In an agile project, the criteria detail the expectations of a customer and allow the meeting of needs of that set of individuals. As an agile squad, practice defining these and continue to evolve your effectiveness in doing so. It is a skill that is pivotal to the success of any agile project!