Tuesday, November 13, 2012

SMART User Stories

While I was reading the textbook 'Engineering Long-Lasting Software', I found an interesting concept for creating a good user story, SMART User Stories, so I just would like to share it.
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:

SMART Checklist

  • 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 :)


  1. Great post Shohei. Lovely use of images. One minor note is at one point you say "(I have explained what Agile Lifecycle is in here)", which looks like you meant to add a hyperlink, but I can't find one. Perhaps add that in you have a chance. Also, note that if you were thinking of just hyperlinking the "here" word, that's generally seen as bad practice. Hyperlinks with titles like "click here" are generally seen as confusing since it may not be clear what you get when you are clicking, and are particularly confusing for those with disabilities who might be using screen readers etc. It is considered goo practice to do something like (check out my post on "What is Agile Development?") where the hyperlink title would be "What is Agile Development?" which is linking to your blog post which would also be titled "What is Agile Development?" or something very similar :-)

  2. Thank you very much for your comment, Sam! Through your comment, I have realized that I had not put my hyperlink to the text that indicates my previous post about agile lifecycle.. and thank you for your great advice with regard to actually putting the blog title to indicate where the hyperlink actually is linked to - I have revised my post and wrote as you have suggested me to do; I now also feel like this is better than just writing 'here' and then put hyperlink on it.. Mahalo! :)

  3. When I read ELLS, I got confused about concept of user story. your post is nice to describe and it helped me better understanding for its concept:)