We like to say writing good stories is the heartbeat of Agile software development. Stories are used in Agile to capture an informal description of a software feature from the end-user’s perspective, user stories are written in natural language that encourages shifting the focus from writing about requirements to talking about them.
Why You Need Agile User Stories
Agile user stories let you define what benefits your product brings to your target audience. At Zibtek, we use user stories to better understand what our client’s product delivers to their end-users. They’re a great tool for driving collaboration and creativity, pushing team members to find practical development solutions.
It can be tempting to think user stories are merely software system requirements, but they’re much more. They give the development team important context and associate tasks with the value those tasks bring. Benefits to user stories include:
- Keeping the focus on the end-user. Unlike to-do lists where tasks are checked off one by one, a story keeps the team focused on solving real user problems.
- Improved collaboration with all team members working together to decide how best to serve the end-user.
- Engineers like to solve problems. Keeping the focus on end users builds morale and gives engineers the satisfaction of seeing their code help real people.
- Creating momentum as the development team feels encouraged and motivated by small wins.
How to Write Great User Stories
User stories should be short, concise, containing the minimum amount of detail necessary to fully define the value the feature is meant to deliver. When writing a user story, consider the following:
- User personas. Who is the end-user? Are there multiple users? If so, consider writing multiple stories.
- What you want to accomplish. Outline tasks or subtasks and decide the specific steps needed to complete them. Substacks in a story can include what the start date should be, how it should be renewed, the number of licenses to be given, etc. A dev checklist ensures tasks like boundary conditions, functionality tests, and code coverage are completed. A deployment checklist covers things like deployment times and code coverages. And a quality checklist list test to be run, such as smoke tests, regression tests, and manual testing.
- Time. We like to keep stories within eight to 10 hours. If the story is getting too large and is more than a day’s work, we split it up.
How a story will be split. Splitting large user stories into smaller ones improves the Scrum workflow. Many software developers split their stories horizontally, but we prefer to split them vertically. For instance, instead of breaking down features into work that has to be done at architectural layers, such as one story for UI, another for the database, etc., a horizontal splits slices into technical layers. The result is something functional gets into users' hands today. Even if isn't huge, it's one small thing that works end-to-end.
Invest in User Stories
The acronym INVEST is often used to remember the widely accepted criteria for assessing user story quality. It stands for:
Zibtek can help you become Dev ready by creating user stories that improve the value of your product, estimate development efforts in a practical way, and meet the team’s definition of ready. As a software development leader, we know just how crucial user stories can be as sources of truth for both moving a project forward and keeping it on track. Ready to learn more about user stories and Zibtek’s software project process? Reach out to us today with any questions you might have.