...

Vertical Slicing and Horizontal Slicing in Agile: User Story Slicing Techniques

Picture of Sujith G
Sujith G
Vertical Slicing and Horizontal Slicing in Agile User Story Slicing Techniques
Table of Contents

Introduction to Vertical Slicing and Horizontal Slicing

Agile is all about delivering value incrementally and iteratively. Gone are those days where teams develop and deliver features once in 3-6 months. Teams in these modern days, plan just enough, develop small increments and continuously deliver small features which can be used by the users. But one of the major problems the teams face today is when the requirement is too big to deliver in an iteration. We have seen a lot of teams breaking a story based on the skillset of components involved like, Design story, frontend story, backend story and then QA story with the intention of completing some part of the story. But is this the right approach? While completion of some part of the story is a good intention, what can be demoed to the product team at the end of the iteration? Are the answers:

  • Screens and UI? Can the users use it?
  • Backend APIs? What feedback can we get on that?
  • Can we demo the story without testing? Because the QA story is to be picked up in the next sprint?

Well, it does not add value to anyone if these are your increments. This is a glorified waterfall approach trying to fit in agile frameworks. Slicing a requirement in agile environments needs to be done to cater to incremental delivery rather than justification of efforts. And this blog is all about that. This blog aims at exploring:

  • What is slicing of user stories?
  • How can slicing of user stories help teams?
  • What is Agile vertical slicing and horizontal slicing?
  • Some practical user story slicing techniques and tools

What is slicing In User Stories?

Agile story slicing in simple words is nothing but the art of breaking a big work item (Epics / user stories)  into smaller, manageable and deliverable pieces. The idea is to break a big user story into smaller pieces to fit into one iteration that delivers a part of the value.

When the requirements are too big and the teams are unable to deliver that is say one iteration, teams use slicing techniques with the goal to create stories that are small enough that can be estimated, developed, tested and delivered incrementally while still providing value to the end user or the customer.

For Example: Imagine a team trying to deliver account management in an instagram application which is too big, the intention of slicing is to break that big story into multiple smaller chunks like say:

  • Story to recover password
  • Story to update profile pic
  • Story to update personal information

The golden question is, “If the entire account management takes more than a sprint’s time to deliver, can 1-2 of the above smaller stories can be delivered in the current sprint and still be used by the user?”.

Evolution of slicing techniques in agile methodologies

With traditional/waterfall approaches the teams developed a product by developing database first and then developing the backend followed by frontend and then integration along with testing. This is a typical horizontal slicing technique going by the skillset or the components involved in a requirement and often led to integration issues and delayed feedback.

But as teams and organizations adapted to agile ways of working they shifted their focus to deliver customer value early and often, the teams began to use vertical slicing techniques. The evolution is still not uniform. Different industries, team structures and project types have various mix of slicing approaches. The idea is to understand the system and slice the requirements such that there is value delivery after every iteration.

Over the course, slicing has not just become a technique, but a mindset that values user feedback, incremental progress and not just effort utilization.

The impact of slicing on project success

When the stories are sliced in the correct way, you can release them at the end of every iteration. Or at least demo it to the product team to get feedback. Bad slicing leads to delayed value delivery, delayed feedback cycle etc.

The impact of slicing on project success
The impact of slicing on project success

 

When teams slice the stories with the intention of value delivery at the every sprint they can: