According to the book,
"The SMART acronym offers concrete and (hopefully) memorable guidelines: Specific, Measurable, Achievable, Relevant, and Timeboxed."
- Engineering Long-Lasting Software
What is a User Story anyway?
User stories are the basic requirements for the Behavior-Driven-Development, which is one of the phases of the Agile lifecycle. (I have explained what Agile Lifecycle is in my blog - 'The Reformation of Software Engineering Process: Agile Lifecycle') User stories are there to help development stay on track as expected and be how it is expected to be.
Going back to the SMART user stories, each word in the acronym has specific meaning and purpose to it, so I would like to introduce that below, one by one:
- Specific - Is the story specific?
- Measurable - Can the story be tested and measured through evaluating the output?
- Achievable - Can the story be implemented within each Agile iteration?
- Relevant - Does the story have business value "Why is it needed?" to one or more stakeholders?
- Timeboxed - Does each story have a specific time budget?
Following this SMART check list for creating a good user story makes it possible to plan and prioritize development, thus have more efficient and stable Agile lifecycle. I personally have not created any user stories or done Agile development, so I will definitely try it in the future :)