What are acceptance criteria?
Acceptance criteria are statements of requirements that are described from the point of view of the user to determine when a story is “done” and working as expected. It would bring in lot of certainty to what team is already building. Acceptance criteria are emerging and evolving and assumed to be flexible enough to change until the team starts working on it.
Example Story:
As a customer, I would like to have an email sent to my normal email address when my account goes into overdraft so that I know that I need to put money into my account.
Acceptance Criteria:
When and account goes into overdraft, the system will issue a secure message to the user’s account, then the system will:
-
- Check to determine if the user has a valid email account in their file
-
- If there is a valid email address on file, the system will send a message to that address indicating that a message is available
- If there is not an email address on file, the system will flag the account as incomplete
-
- The message sent to the customer’s email address will match the text provided by marketing
- The email sent by the system will be formatted for HTML viewing and will match the graphic design specifications sent by marketing
- The email will contain a hyperlink which allows the user to jump instantly to the online banking site
- Check to determine if the user has a valid email account in their file
In the above example, Acceptance criteria are merely set of statements that represent the requirements “conditions of satisfaction. It also contains boundaries and parameters that determine when a story is completed and ready for acceptance. It expressed clearly in simple customer language without any ambiguity on what is expected as outcome. It must be easily actionable and translated into one or more manual/automated test cases. When the development team has finished working on the user story they demonstrate the functionality to the Product Owner, showing how each criterion is satisfied.
The format of an acceptance criteria can be understood as: “When I enter X & Y, I will check for Z as the result “. It should always relate to testable outcome. The focus must be on inputs, outcomes and business flow. Anyone in the team like business analyst, QA and developers can help the PO in reviewing the acceptance criteria.
The 3C’s
Nearly around 10 years ago, Ron Jeffries mentioned the Three C’s of the user story
- Card – stories are traditionally written on story cards, and these cards can be appended with extra details as required
- Conversation – additional information which are not part of the acceptance criteria are conversed between the team and PO, the team tries to understand the PO intensions behind creating a user story.
- Confirmation – acceptance tests confirm the story is finished and working as intended.
Advantages of Acceptance Criteria:
- It will trigger the thought process for the team to think through how a feature will work from end user perspective
- It also helps the team to write the accurate test cases without any ambiguity to understand its business value.
- Eliminate unnecessary scope that will add no value to the story, in other words, it will keep the right content.
- Wireframes can be attached to acceptance criteria, so that the team can discuss during the planning meeting.
Making Wireframes
The primary purpose of wireframe is that it will easily depict the screens designs and layout plan according to which the end user processes the information. It may be also treated as mockup blueprint of two-dimensional black and white diagram for developers to understand the intent, before they build the actual product. For example, wireframes can contain various states of button on a screen or menu behaviors or drop downs that make an impact to the screen that is being designed. Wireframes are created to accomplish a particular purpose of dealing with various interface elements, navigational systems and the website content.
Wireframes may also be hand sketched on a white board without using complex commercial software applications and tools. However, there are some commercial tools available in the market exclusively for making wireframes. Wireframes are generally are created by Product Owners or business analysts, user experience designers or developers that have overlap with information architecture and user research.
Wireframes focus on:
- The relative priorities of the user elements and information available on the screen.
- The end to end functions available on the screens.
- The versatility of the information displayed
- The business rules that relates to the UI elements.
- The effect of different scenarios on the display.
Some of the wireframe tools that are available in the market are: