Page 198 -
P. 198
Chapter 6 • agile Modeling and prototyping 165
WRITING USER STORIES. Even though the title of this section is “Writing User Stories,”
the emphasis in the creation of user stories is on spoken interaction between developers and
users, not written communication. In user stories, a developer is seeking first and foremost
to identify valuable business user requirements. Users will typically engage in conversations
every day with the developers about the meaning of the user stories they have written. These
frequent conversations are purposeful interactions that have as their goal the prevention of
misunderstandings or misinterpretations of user requirements. Therefore, user stories serve as
reminders to the developers that they must hold conversations devoted to those requirements.
The following is an example of a series of stories written for an ecommerce application for
an online merchant of books, CDs, and other media products. The stories give a fairly complete
picture of what is needed at each of the stages in the purchase process, but the stories are very
short and easy to comprehend. The point here is to get all the needs and concerns of the online
store out in the open. Although there is not enough of a story to begin programming, an agile
developer might begin to see the overall picture clearly enough to begin estimating what it will
take to complete the project. The stories are as follows:
Welcome the customer.
If the customer has been at this site before using this same computer, welcome the customer
back to the online store.
Show specials on homepage.
Show any recent books or other products that have recently been introduced. If the customer
is identified, tailor the recommendations to that specific customer.
Search for desired product.
Include an effective search engine that will locate the specific product and similar products.
Show matching titles and availability.
Display the results of the search on a new web page.
Allow customer to ask for greater detail.
Offer the customer more product details, such as sample pages in a book, more photos of a
product, or to play a partial track from a CD.
Display reviews of the product.
Share the comments that other customers have about the product.
Place a product into a shopping cart.
Make it easy for the customer to click on a button that places the product into a shopping
cart of intended purchases.
Keep purchase history on file.
Keep details about the customer and his or her purchases in a cookie on the customer’s
computer. Also keep credit card information for faster checkout.
Suggest other books that are similar.
Include photos of other books that have similar themes or were written by the same authors.
Proceed to checkout.
Confirm the identity of the customer.
Review the purchases.
Allow the customer to review the purchases.
Continue shopping.
Offer the customer a chance to make further purchases at the same time.
Apply shortcut methods for faster checkout.
If the identity of the customer is known and the delivery address matches, speed up the
transaction by accepting the credit card on file and the remainder of the customer’s prefer-
ences, such as shipping method.
Add names and shipping addresses.
If the purchase is a gift, allow the customer to enter the name and address of the recipient.