Defining User Stories and Agile Development
A core tenet of modern development processes is agile development. This development methodology stresses using small, bite-sized user stories to define what a system does from a user perspective, not a technical one. A user cares if a product is fast, easy to use, and solves their problem. They do not care if it follows a 3-tier architecture, has Mongo DB, or if it is using Rails or Asp.net.
User Stories:
- Are easy to understand, and anyone can participate
- Work iteratively; they can and should be changed or amended frequently
- Align developers, users, and business specialists around common goals and expectations
- Are a lot easier to read than 400-page requirement documents
Storyboard That provides an ideal platform to create agile user stories and spark conversation in a format that is much less taxing than a wall of text.
Epic
In the context of user stories, an “epic” is simply a very broad story that will later be broken down into many specific user stories. Starting with an epic aligns everyone with a single, high-level vision. The epic story anchors a project from the top down, and if it doesn’t make sense to construct an epic, supporting work is also going to be a waste of effort.
In this story, it is very clear what the long term vision is and what success should look like. A good epic story should include:
- Setting or Context
- Actors or Users
- Goals and Objectives
- Activities and Events
Defining Users
Especially when designing software, it is important to have a good vision of what the users will be like. Not every user will match this vision precisely, and there may be multiple categories of user, but these discrete visions need articulation. Thinking about users first guards against over-engineering and over-complication, preventing a new product from having something for everyone and being useful to no one.
Creating a Story
Once an epic has been established and users have been defined, smaller, more specific stories can be constructed about particular user experiences. The stories below break down the outlined above into two narratives: looking up an order and re-ordering a product.
These narratives do not contain technical information; the users do not care how the results are achieved, so long as it performs the desired tasks. Similarly, the UX is depicted generically, to avoid stifling innovation or forcing a path. In general, stories should be:
- Small – Under 10 days work
- Valuable – Once completed they should deliver something usable
- Estimable – Able to create a ballpark estimate of how much effort is involved
Looking Up an Order
Performing a Reorder
Conversation & Planning for Testing
These stories should invite conversation and questions, such as:
- Are these the right stories to match our epic?
- What other stories should be created?
- Are these stories consistent with what we know about our users?
It is perfectly reasonable to create many stories; in fact, it should be encouraged. Some of these stories will never be used, but it is important to see the path they set down. This collection of stories will flush out additional requirements and influence testing.
The stories should provoke and inform discussion about how the software will be tested and what business rules need to be explicitly defined. For example:
- How fast does a lookup need to be?
- Is there a time limit on re-orders?
- What should the system do if it is the second re-order? Fifth?
- What tests and follow up questions would you have?
© 2024 - Clever Prototypes, LLC - All rights reserved.
StoryboardThat is a trademark of Clever Prototypes, LLC, and Registered in U.S. Patent and Trademark Office