Over the past couple of days, I’ve been helping to write user stories. For those that don’t know, user stories are the form that requirements take in some agile development methodologies. These requirements are usually (at least from what I’ve seen) a combination of business and user requirements. As myself and my coworker were going through the process of writing these stories I found myself asking the same question over and over again when validating if the story was written correctly. That question: Can someone test this story?
When we write user requirements/stories we are writing them for several different audiences. The two most important are developers and QA testers. Sometimes, however, I think that we tend to forget the testers. We want to be sure that developers can code our ideas and designs to spec, however that means nothing if they are tested improperly and are released into production in an incorrect state.
The idea behind user stories is to break down the requirements, features and intended functionality into the smallest bits possible. When you are done, someone should be able to take a story and turn it into a test case in order to test just that one piece of the pie. Writing these stories becomes an art (in a weird sense) because you want to be sure you include all the factors needed to write a test case properly. For example there is a huge different between “the user should be able to purchase the product in order to be happy” and “the logged in user should be able to purchase the product in order to be happy”. I’m pretty sure you wouldn’t want a bug in your system that allows non-logged in users to do logged-in type functionality. However, according to the one user story, the tester wouldn’t need to be logged in to test the functionality.
The moral of the story is when you are writing user requirements ensure that from them the developers cannot only code your designs, but that they can be tested successfully. This is a huge part of how you as the UX Designer can ensure a quality experience for users.