Any
business requirement that needs to be formulated in user stories can be best
justified if the writer knows the user roles for which the requirement will be
mapped. To identify users, user role modeling is important. For example, if we
want to develop a direct-sales website, we must keep our focus on buyers,
sellers, admin, executives, etc. When the user roles have been identified, then
the requirements can be mapped to user stories, keeping each identified user in
view. More effectively, if we can associate a persona for each user, it helps
broaden the thought process for that particular user, and it results in
effective story writing. As the saying goes, "put yourself in someone
else's shoes."
Following is an example of a requirement and
how to visualize it from different perspectives:
Requirement:
To make a toy train for kids.
What all are the user roles here?
- Kids (obviously)
. . . and. . . ?
- Parents
- Toy manufacturer (yes, sometimes we need to consider the manufacture also)
- Anyone else whom we can tie to this requirement (later users with the same requirements can be merged and one role can be chosen)
Once the user roles have been identified,
effective user stories can be written. Below I have provided role-specific
sample user stories. These user role-specific stories not only help developers
understand the requirements of the feature but also help QA identify the scope
of testing.
Expectations
related to different user roles:
- · As a child, I want to see the toy train in attractive colors so that I crave it.
- · As a child, I want to have fun using this toy with my friends so that I will enjoy it for a long time.
- · As a parent, I want to be excited by the look of the toy so that I will purchase it for my child.
- · As a child, I want to count the compartments of this train so that I can learn counting also.
- · As a manufacturer, I want to provide my information on the toy box so that customers can contact me to buy other toys from me.
- · As a parent, I want to be sure that the toy has no sharp edges that might hurt kids.
- · As a parent, I want to verify that this toy is appropriate for kids two to three years old (my kid's age group) so that they are able to understand it and like it.
- · As a parent, I want to buy a nontoxic, excellently made toy so that it will be safe for kids.
- · As a parent, I want to learn about the manufacturer of the toy so that I can buy more toys from them.
More expectations (or user stories) can be
added here. Also, a few can be merged, or "conditions of
satisfaction" can be added to one user story. For example, "nontoxic,
excellent grade of plastic" and "no sharp edges" can be taken up
as conditions of satisfaction.
Now tell me which user has the highest set of
expectations for the toy. Children? :-)