What is a User Story?
Simply put, it is best to think of a User Story as a description of something a user can do with a product (which in our world is a website or app). It should be concise, and the benefit that this story has to the user must be considered.
The most fruitful way of creating and collating user stories is to hold a face-to-face workshop with the users of the existing product (or at least a sample of the known target audience), stakeholders, and the team working on the new project. A workshop leader starts by explaining the purpose, and process for writing the user stories. The format of a User Stories workshop often varies due to factors such as the type or scale of a project.
With a new project, having a kick-off meeting and a User Stories workshop is the best way to get to know a new client-side team. Even more importantly, the focus starts to be more about how we can collaborate to provide the best possible experience for users, rather than listing features that would be 'nice to have' but do not necessarily bring any value for users.
Frequently at these workshops, new features or tweaks to the raw, original project contract may well crop up, as all involved begin thinking more deeply, and empathetically, about end user needs. This is totally fine, and can be assessed as to whether they should be considered 'in scope' or parked for a next phase of development. Sometimes it can make sense to hone down some features that become redundant through a newly discovered lack of benefit to users.
After the User Stories workshop, all involved should feel that they have had the opportunity to input into a specification of the project, and had an opportunity to empathise with users, in order to ensure that there is clear value for users from these requirements.
Example User Stories
Here are a couple of examples to help you on your way. I have articulated the type of user, generally called a Persona, in square brackets.
On a materials exchange website or web-based app, a valid user story may be:
[Guest Users] can search for available materials.
There are clear benefits for the user in this story. The story also provides a scenario that can be further detailed, and used to specify the requirements for the Search feature. Written in the right way, this can also double up as part of an automated testing process once development is in progress.
[Author Contributors] can sort their blog posts by date published.
Again, this represents functionality that has real benefits for the user/Persona in this story.
User Stories in automated testing
User Stories can also form the scenarios required to succeed on the various features of a project to deem these features complete, at least within a particular iteration of an agile project. If you like the sound of this, we've got more detail about that in this article.