How Do I Write Requirements Using Stories and Acceptance Criteria?—Part Two


to elicit requirements and gain consensus is a critical success factor in delivering something of commercial or operational business value iteratively and incrementally. I recommend conducting a Story elicitation brainstorming workshop every few weeks to refresh and create new Stories for the Product Backlog. To run a group brainstorming session effectively, do the following:

  • Set up a comfortable meeting environment for the workshop.
  • Appoint one person to record what comes from the workshop.
  • If people aren’t already used to working together, use a warm-up exercise or ice-breaker.
  • Make it clear that that the objective of the meeting is to identify Stories based on the Product Vision. The details of the what, why, when, and how of the Product Vision is another question and answer included in my upcoming book.
  • Ensure that no train of thought is followed for too long – time-box conversations.
  • Start analyzing who wants what and why within the context of the Product Vision.  Step into the “ who’s” shoes to understand their wants and reasoning.  Record what you discover in a table as depicted in Table 1.0.
  • Role playing can be fun, so enjoy the brainstorming exercise.  You’ll be amazed and the insights you’ll discover.

Who (Role)

What (Action)

Why (Reason)


  • Have administrative privileges to access Wine Club member information; both canned and ad-hoc
  • Learn about winery’s clientele  to  be able to increase revenue
  • Learn about winery’s market to  be able to increase revenue


  • Browse and order complete selection of wine online; including viewing wine specific information
  • Enter billing information
  • Enter shipping information
  • Update order information; including canceling an order
  • Update Wine Club membership information
  • Sign up for e-newsletter
  • Secure login/logout


  • See what's available for purchase
  • Specify the wine I wish to purchase
  • Deliver orders to address of choice
  • Knows where to ship order
  • Get current winery news
  • Keep my membership current
  • Manage my membership


  • Add, change and delete wine lists
  • Add, change and delete customer information
  • Add, change, and delete company information
  • Current wine information is displayed on the website
  • Current authorized customer information is displayed on the website
  • Current winery information is displayed on the website


  • Track all changes for each customer
  • Need audit trail available at anytime for all transactions


Table 1.0 – Story Brainstorming

Final Thought
Traditional system-software development attempts to first document all of a product’s requirements and then freeze those requirements for the duration of the project. The assumption is we can come to a complete understanding of the product (system-software) before developing code. More often than not, dynamic business environments, incomplete project/requirements knowledge, and inherent project risk and complexity make static requirements impractical.  What a shame that new and possibly better ideas must be rejected because they weren’t raised during the business requirements phase.

However, Agile has a wonderful technique to overcome the requirement process limitations of traditional software development: the User Story.  The written words of a Story and all the conversation about the Story enables the Product Owner and the delivery team to effectively communicate the product features ( who, wants what, why ).  Requirements can and do change; the iterative nature of Agile allows the team to refocus on new or lower priority Stories during every Sprint Planning session.  Thus, in Agile when asked for a new feature you will never say, “I’m sorry but that wasn’t in the requirements.”

A Story is a means to an end. Stories first and foremost serve as a communication mechanism leveraging effective collaboration between those who possess requisite knowledge , authority and responsibility for the requirement, the Product Owner (aka the Business

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.