A significant aspect of agile projects is the breaking down of the goal into little units of work called user stories. User stories are tiny or little units of work that explain a feature or the capability to perform a specific task or action from the perspective of an end user.
Any organization that seeks to use the agile approach for their projects must find a way of breaking their work or goals into user stories.
Is there a specific method or approach for breaking work into user stories? No, there isn’t. The method to be used depends on your organization and what you want to achieve.
You’ll find various tips and guides on creating user stories, but no one will tell you that you must use a specific method for your project. Creating user stories is a multifaceted process that takes some time to master. You will need to practice with various techniques to become adept at it.
We’ll be examining various techniques that can help you create awesome user stories.
How To Break Stories Into Little, Vertical Slices
Teams that are adopting the agile approach for the first time will need to change from horizontal splitting to vertical slicing. This can take some time to get used to. A lot of teams aren’t used to working this way. They feel that this approach won’t work for their users and they think that their system is too complex.
But they are almost always wrong. Vertical slicing works for everyone and every kind of organization.
Engineering is all about breaking large problems into small ones to make them easier to solve. Both horizontal and vertical splitting involves breaking large systems into smaller ones.
Brief Overview of Horizontal Splitting
Traditionally, when big features are being built, the work to be done was broken down at the architectural level. Let’s take a look at web services.
To build a web service, the features of the web services are broken down into the client components, the server components and the database components. Specialists will build each component separately and all components will be assembled together at the integration phase. Tests will be carried out to ensure that all components worked together seamlessly.
This method works, and it ensures that experts are created in each architectural layer. But the method had a slow feedback loop depending on how large the feature was. Each component had to be completed before integration and before testing could be carried out.
The use of the architectural layer approach is called horizontal slicing. It involves decomposing large features at the architectural layer.
To resolve the slow feedback loop of horizontal slicing, teams can adopt vertical slicing. Vertical slicing involves taking a large feature and breaking it down into a lot of small pieces that cut through each architectural layer.
Each feature is broken down into small slices. This method allows for building, integrating and Software testing slices within a few days. Every slice requires work to be done within an architectural layer. All integration and testing are carried out very early as opposed to waiting till the end. If you use a scrum approach, each of the vertical slices can be ready within 24 or 48 hours.
Advantages of Vertical Slicing
• Teams get quality feedback earlier.
• Teams get value for work done faster.
• Teams become adept at releasing quality deliverables because working software is the sole measure of progress.
• Teams ensure that value is well-defined and expressed in their backlog.
• Teams rarely make low-value changes.
• Teams focus more on value.
• Teams can assess their inventory and constraints faster and make necessary adjustments.
Is Every Vertical Slice A User Story?
Not necessarily. But there will be a lot of vertical slices that users will find valuable. At the beginning, you may not have enough to create a user story. But as time goes on, you will find so many useful bits that will help you tell user stories.
When you are just starting out, you aren’t focusing on user stories yet. You are looking for ways of validating your system and determining if the integration works or not. You are trying to find out if you’ll get expected results from what you are building or if there is a need to finetune your design. Vertical slicing will help you detect problems much faster than horizontal slicing.
Vertical slicing is great, and it can be used at every level of detail, both for small and large efforts. Your teams will get a lot of value from using this approach. But on a very large scale, you might need to reorganize your team and project methodology in a specific way. You could decide to use feature teams or a combination of methods focused specifically on delivering features. You might also need to consider if you need things on a large scale, or if you’ll rather go back to smaller details.