User Stories vs. Requirements
Stories. You have hundreds of them if you are a product manager. Each one describes the awesome experiences you want your customers to have while using your product. And like any good storyteller, you need your stories to be clear and impactful.
All of the best product managers I know are responsible for sharing what customers really want through user stories.
But here is when being a product manager is hard work. There are also times when you are expected to define the requirements for what your development teams need to build — without providing the “why” from the user’s perspective.
While most new functionality should be defined from a user’s perspective, that is not always feasible or even helpful. For example, consider security features or infrastructure requirements that are not always customer facing.
So the question becomes: When do you use these different vessels? Before you can answer that, you need to understand what makes them different.
There is one major distinction between user stories and requirements: the objective.
The user story focuses on the experience — what the person using the product wants to be able to do. A traditional requirement focuses on functionality — what the product should do. The remaining differences are a subtle, yet important, list of “how,” “who,” and “when.”
Here is how user stories and requirements differ:
How is it written?
User stories should be written in one or two sentences and capture who the user is, what they want, and why. A simple structure for defining features or user stories can look something like this: As a ____, I want to achieve ____ so that I realize the following benefit of ____.
Example: As a user, I want to be able to reset my password so I can get back into the system if I forget it.
Requirements tend to be very detailed and take a longer time to write. These often go into specific detail (sometimes highly technical) on how the software should work. Those details then guide the development team on how to build a new feature or functionality.
Example: The user is allowed to reset their password once they have received a password reset email. The email should contain a unique link for resetting the password and that link should expire after two hours.
Who writes it?
User stories can be written by just about anyone close to the software — developers raising issues, a QA tester who discovers a flaw in the UX — as long as it represents the end user’s perspective. But it is the product manager or owner who maintains the backlog of user stories.
Requirements are written by the product manager, product owner, or business analyst. Technical leads are often involved as well as the engineers who will be responsible for working on the features or improvements.
When are they written?
User stories are written throughout the building of a product. And updating the stories (or adding new ones) can happen at any time. For agile teams, the product backlog serves as a prioritized list of the functionality that needs to be developed. This is where the user stories are kept until they are worked on — typically during development sprints.
Requirements also can be crafted at any time. However, it is best to define what is desired from the user standpoint first if both stories and requirement definition is required. The further along a team is with their planning, the more the team understands the user and business needs. So, defining hard requirements too early can result in having to change them later — or building something that does not fully deliver the customer’s desired outcome.
Although the objective of a user story or requirement differ, the goal is always the same — building a product that customers love.
Whether you are writing a user story or a requirement, you need to focus on what matters most: describing the desired outcome for the customer and giving development what they need to build it successfully.
I know that it can be confusing to decide what to write. So here is a simple guide to making that choice.
If what you are requesting to build has a direct benefit to your end users, write a user story. If it is more central to the core of a product or infrastructure, jump to defining requirements.
What differences would you add to the list?