Skip to content
  • Services
    Our Approach
    Personalized, in-depth technical guidance on a global scale that helps organizations achieve their digital transformation goals.
    Learn more
    • Our Approach
    • Development
    • Design
    • Digital Experience Platform
    • Data & Analytics
    • Cloud & DevOps
    • Support
  • Work
    Our Work
    Through our expertise in strategy, design, and engineering, we help clients deliver digital transformation at scale.
    Learn more
    • Our Work
    • Healthcare
    • Finance
    • Manufacturing
    • Agriculture
    • Education
  • About
    About us
    For over 20 years, we’ve partnered with companies of all sizes and industries to solve their most complex business problems.
    Learn more
    • About us
    • Leadership
    • Locations
    • Events
    • News
  • Careers
    Join our Team
    Take your career to the next level. We offer exciting opportunities across every stage of the software development life cycle.
    Learn more
    • Join our Team
    • Open Positions
    • Application Process
    • Benefits
    • Learning & Development
  • Insights
    Our Insights
    Read our latest blogs, watch our recent videos, and browse our library of e-books — all full of insights from our experts.
    Learn more
    • Our Insights
    • Blog
    • Videos
    • Downloads
  • Contact
Menu

Choosing Between Horizontal and Vertical Story Splitting

Learn why adopting either horizontal or vertical story splitting could make all the diference for a product owner.

Annika Hey

Annika Hey

Design Principal

Atanas Atanasov

Atanas Atanasov

Software Development Manager – Agile Frameworks

Björn Stansvik

Founder & Chief Executive Officer

Daniela Nazim

Daniela Nazim

MentorMate Alumni

Dimitar Dobrev

Dimitar Dobrev

MentorMate Alumni

Craig Knighton

Chief Operating Officer

Eleonora Georgieva

Global VP, Delivery

Georgi Dormishev

George Dormishev

System Administration Manager

Ivaylo Kostadinov

Director, Software Engineering - .NET

Jamie Bolseth profile picture

Jamie Bolseth

MentorMate Alumni

Jay Miller

President

Jeni Kyuchukova

Director, Quality Engineering

Jessica Anderson

VP of Finance and Administration

Liz Spolyar

Global Director, Continuation Engineering

Nick Curran

Nick Curran

Technical Architect

Nikolay Lyubchev

Global Director, Talent Acquisition, MentorMate

Stefan Tsvyatkov

Director, Software Engineering - Mobile

Stefan Tzanev

Chief Financial Officer

Vesselin Dobrev

Vesselin Dobrev

General Manager (Bulgaria)

Sylvia Vassileva

Sylvia Vassileva

Software Development Manager - Spok

Filip Gajtanovski

Software Development Manager - Storyworks

Krasimir K. Nikolov

VP of Technology

Katherine Kelly

Director of Operations (USA)

Carrie Siewert

Strategic Account Manager

Brady Swanson

Global Director, Marketing

Eve Poeschl

MentorMate Alumni

Ryan Peña

MentorMate Alumni

Vassil Vassilev

Software Development Manager - .NET

Pavel Petrov

Director, Software Engineering - LAMP&FE

Ivan Peev

Senior Technology Manager

Bob Reuss

MentorMate Alumni

Vera Kasapova

QA Manager

Greta Yamacheva

QA Manager

Robert Samuelsson

General Manager (Sweden)

Kyle Simmons

Solutions Architect

Robin Thomas

Solutions Architect

Nataliya Naydenova

MentorMate Alumni

Adam Malone

Alexander Dimitrov

Enterprise Architect

Andrea Kates

CEO, LaunchPad Central

Andrew Eklund

CEO, Ciceron

Andrew Marinov

Angel Nikolov

MentorMate Alumni

Anurag Shukla

Aron Wolde

MentorMate Alumni

Ashley Goodridge

Office Assistant

Benjamin Gramlich

MentorMate Alumni

Chris Black

MentorMate Alumni

Christa Haeg

MentorMate Alumni

Colin Lee

MentorMate Alumni

Deyan Stoynov

MentorMate Alumni

Dimitar Danailov

MentorMate Alumni

Dobrinka Tabakova

Doug Leatherman

Emily Genco

MentorMate Alumni

Fanka Vassileva

Gabriela Zagarova

MentorMate Alumni

Gary Conkright

CEO, physIQ

Gary Fingerhut

Executive Director, Cleveland Clinic Innovations

Gavin Finden

MentorMate Alumni

Georgi

Graham Klang

Hyusein Hyuseinov

Senior Automation QA

Ian Good

Global VP, Operations

Iva

Jack Cosentino

James Williams

John Byrne

Kaloyan Stoilkov

MentorMate Alumni

Kosta Hristov

Krasimir Gatev

Senior Android Developer

Lazar Petrakiev

Lyubomir Dobrev

Senior .NET Developer

Lubomir Velkov

Marin Yotovski

Mark Smith

MentorMate Alumni

Martin Dimitrov

MentorMate Alumni

Martin Kalyonski

Mike Hagan

MentorMate Alumni

Nikolay Andonov

Nikolay Arhangelov

Riley Panko

Guest Contributor

Roger Ferguson

MentorMate Alumni

Ryan Sysko

Chairman, WellDoc

Ryan Blake

MentorMate Alumnus

Sarah Rockholt

MentorMate Alumni

Sean McDevitt

CEO, Sensei

Siyana Slavova

Stanislas Walden

MentorMate Alumni

Stanislav Atanasov

Stanislava Bogdanova

MentorMate Alumni

Stefanie Trimble

MentorMate Alumnus

Stephen Fluin

Stoyan Stoyanov

MentorMate Alumnus

Tessa Cacek

Staffing Manager

Tom Clemens

MentorMate Alumnus

V8 JavaScript Engine

Viktor Mitev

Yolanda Petkova

Marketing Design Lead

Pete Anderson

Lead Product Owner, Target

MentorMate Software Development Lead Vasil Nonchev

Vasil Nonchev

Java Software Development Manager

Dilyana Totseva

QA Manager

Stanimir Nikolov profile picture

Stanimir Nikolov

Software Development Lead - iOS, MentorMate

Rosen Kolev

Technology Principal

Dimitar Mihaylov

MentorMate Alumni

Nikola Genov

Software Architect - .NET

Neli Todorova

Software Development Manager - LAMP

Yavor Dimitrov

MentorMate Alumni

Georgi Karanedyalkov

Software Development Lead - Android, MentorMate

Denislav Ganchev

Technology Principal

Stefan Shopov

QA Manager

Konstantin Rusev

Java Developer

Borislav Dimitrov profile picture

Borislav Dimitrov

Senior Android Developer, MentorMate

Tsvetelina Lazarova

MentorMate Alumni

Dimitar Gadzhev

Developer

Plamen Stoev

Software Development Manager - Front-end

Jake Nelsen

Senior Experience Designer

Zlati Pehlivanov

Zlati Pehlivanov

Senior Software Engineer II

Kate Tolmie, MentorMate Senior UX Designer

Kate Tolmie

Senior Experience Designer

Martin Angelov

Director, Software Engineering - LAMP&FE, MentorMate

Dimitar Zhelev

Senior .NET Developer

Joel Swenson, MentorMate Content Writer

Joel Swenson

Content Manager

Kiril Ivanov

Quality Assurance Analyst

Viktor Hristoskov profile picture

Viktor Hristoskov

Software Development Lead - iOS, MentorMate

Violeta Nikolcheva

Database Developer

Biliana Kadakevlieva

Senior Quality Assurance Analyst

Chris McLeod

Senior Solutions Consultant

Antonii Georgiev

Junior .NET Developer

Alexander Rusev

Front-End Developer

Matt Erickson, MentorMate PR and Social Media Manager

Matt Erickson

MentorMate Alumni

Brian Buchkosky

Global Director, PMO

David Tran, MentorMate VP of Solutions

David Tran

MentorMate Alumni

Kristin Krueger

MentorMate Alumni

Magdalena Chervenkova

Business Analyst

Denny Royal

Chief Design Officer

MentorMate Technical Account Strategist Joe Bodell

Joe Bodell

MentorMate Alumni

Viktoriya Chuchumisheva - MentorMate HR Manager

Viktoria Chuchumisheva

HR Manager

Kalina Tekelieva Headshot

Kalina Tekelieva

Senior Content Marketing Artist

Daniel Rankov profile picture

Daniel Rankov

MentorMate Alumni

MentorMate Senior Business Analyst Alexander Alexandrov

Alexander Alexandrov

BA Lead

MentorMate

Clint Rowles

VP, Business Development

Nikola Donev - SysAdmin

Nikola Donev

SysOps & DevOps Lead

Tseko Tsolov

Frontend Developer

Denislav Lefterov

Automation QA Analyst

MentorMate Content Writer Dilyana Kodjamanova

Dilyana Kodjamanova

MentorMate Alumni

MentorMate Project Manager Emma Jorstad

Emma Jorstad

Project Manager, Lead

Georgi Georgiev profile picture

Georgi Georgiev

Software Development Lead - LAMP, MentorMate

Martin Panayotov profile picture

Martin Panayotov

Senior iOS Developer, MentorMate

John Blake

John Blake

Senior Account Manager

Tyler Compton

Tyler Compton

Solutions Architect

MentorMate Software Developer Nikola Peevsk

Nikola Peevski

Software Developer — Lamp & Front-End

Aaron Whitney

Director of Client Strategy

MentorMate Senior Cloud Engineer Veliko Ivanov

Veliko Ivanov

Senior Cloud Engineer

MentorMate Senior Project Manager Suzanne O'Brien

Suzanne O’Brien

Senior Project Manager

Svetlin Stanchev profile picture

Svetlin Stanchev

Software Development Lead - Front-end, MentorMate

MentorMate Senior Cloud Engineer Todor Todorov

Todor Todorov

Senior Cloud Engineer

MentorMate Senior QA Analyst Kate Stamatova

Kate Stamatova

Senior QA Analyst

Frank Anselmo profile pic

Frank Anselmo

Global Director, Project Management

Gyuner Zeki Headshot

Gyuner Zeki

Solutions Architect

Galin Stanchev

QA Analyst

Sarah Hoops

Business Development Manager

Brenden Diehl

Business Development Manager

Anna Krivova profile picture

Anna Krivova

Software Development Lead - Front-end, MentorMate

Ivelina Kavalova profile picture

Ivelina Kavalova

Senior Business Analyst, MentorMate

Paul Sanders

MentorMate Alumni

Jim Cikanek

Senior Client Strategist

Samuil Yanovski profile picture

Samuil Yanovski

Software Development Manager - Android, MentorMate

Krasimir Gatev profile picture

Krasimir Gatev

Senior Android Developer, MentorMate

Kristina Goryalova headshot

Kristina Goryalova

Talent Acquisition Manager

Elena Petrova Headshot

Elena Petrova

HR Specialist

Jay Matre

Senior Business Architect, MentorMate

Lilyana Dimitrova

QA Specialist

Josh Marquart

Chief Strategy Officer

Mario Gorki

Senior Mobile Developer

Simeon Zhekov Headshot

Simeon Zhekov

Cloud Engineer

Hristo Stoyanov Headshot

Hristo Stoyanov

Cloud & DevOps Lead

Ben Wallace

Enterprise Architect

Boyan Stoyanov

Data & Dota Specialist

MentorMate Director of Software Engineering Petya Ivanova

Petya Ivanova

Director, Software Engineering - Java

Sebastian Ortiz-Chamorro

VP of Engineering, Latin America

Consuelo Merino profile pic

Consuelo Merino

Director of Operations

Imagine arriving at an intersection with multiple road directions all leading towards the same destination. Some roads may take faster to drive, others — less traffic lights to pass through. But which way do you go? And how do you make up your mind which one is the best, given different circumstances?

Such is the case for user stories too. On one hand, their basic structure follows a straightforward format, regardless of the work items included:

 

As a [role], I want to [action], so that I [business value].

 

On the other hand, tending to any external demand for a user story entails making a much more thought-out decision. It necessitates a series of conversations about the various levels of detail and functionality. Stories are first and foremost meant to serve as a tool to enhance teamwork. Equally as important though, is to further show the value of the team’s work to the project’s stakeholders and all potential or existing users. This is where the verbal coordination needs major adjusting. Since the level of technical understanding on both sides is vastly different, software service teams need to bridge the gap by mustering the right approach to take users on board with their development.

Teams, stakeholders, and end users often come into contrasting opinions due to their own distinct levels of technical understanding.

 

Understanding Story Splitting

Building user story layers is the mantra in the work of any well-organized development team. But it’s one thing to stack a solution with layers of functionalities and another conveying the engineered progress to the client. To tick all checkboxes when immersing users into a user story, let’s adopt the following cake analogy.

Just like developing and stacking layers, it would take much less time to slice a cake horizontally. While still edible and somewhat tasty, the cake servings will be uneven and dull in taste and will probably drive most ordinary consumers away — those craving for the full spectrum of flavours. Naturally, that’s what stakeholders want too — a symbiosis of all tastes and layers. In other words, they want a piece of the entire product. A wholesome introduction to all features and layers works differently — and oftentimes better, than the individual examination of singular components.

 

Horizontal Slicing

To illustrate this approach, let’s take a step back and imagine a product owner coming with a request to build an ATM. To assemble it would require a debit or a credit card and a type of a UI that will enable them to select a sum and prompt them to use a PIN to then receive money.

Expectedly, the requested software would carry a considerable amount of layers — a database, an API, security and network layers, and a functional UI. Given that they all need to comply with either banking or ATM protocols and procedures, it becomes difficult to encapsulate all elements needed for a simple, small portion of a feature that’s being described and documented. Therefore, teams are incentivized to split requirements into layers based on the scale of engineering, rather than by end-user or stakeholder value.

 

Disadvantages

Minimal transparency — Involving people external to the team’s daily project advances is never an effortless process. After all, it’s clients who are the prime decision-makers and as such they yearn to maintain a level of close communication with the engineering team — a practice that continuously takes longer and harder to coordinate.
Obscure priorities — Mismatched priorities are a team’s worst enemy. Prioritization is always key, but when it’s done improperly, it could passively increases delivery risk.
Logical lapses — The work of developers often pushes towards the next logical component in the system that needs to be built, rather than what the end user needs most often. This could be observed with ATMs too. While withdrawing money accounts for about 90% of any ATM’s usage, other features like checking the balance or changing the PIN are also there for the sake of user convenience. Developing them could easily be moved post-MVP.

 

Vertical Slicing

Unlike horizontal splitting, this model considers the purpose and goals of the average product owner. A PO is usually someone constrained by a budget limit, driven to achieve a specific goal within a specific timebox while showing constant progress to other stakeholders. Their interest is to observe something visual, which, in turn, would justify the spent budget. Just like them, users will think of an application in terms of the behavior they find most valuable.
This explains why it’s simply impractical to build software the same way users think about and use that software. Instead they need to receive ‘slices’ of functionality, or splitting user stories into vertical chunks. While the size of any story can vary, the best practice is to shape them so that they fall under shorter timeframes to complete — usually within a day or two.

It also allows the engineering team to prioritize its focus on a set of stories within a specific portion of the system. This process isn’t intrinsically easy, but it is well worth the effort because it gives the ability to create a constant flow of valuable, usable functionality for the users.

Nevertheless some stories cannot be split, due to either:

  • Ambiguous requirements
  • Uncertainty in the depth of the implemented technical details
  • Enormity of some items which are too big to be logically split

 

Advantages

The crucial and often underestimated value of splitting stories vertically is the boost in communicating with the development team. The multiple merits — continuous conversation, improved engineering process, and tending to the business value — help set the tone for understanding the scope and complexity of any project.

Other conveniences of vertical splitting include:

  • Asking the team to proactively participate and engage, which:
    • Improves the synergy between members
    • Improves the quality of the product
    • Improves the building speed, thus making everyone more efficient
  • Delivering specific features that stakeholders could ‘see and touch’ more frequently
  • Enhancing the client-team relationship
  • Setting reasonable expectations for all parties involved
  • Eradicating project ambiguity
  • Allowing for better estimates 
  • Diminishing requirement-related risks 
  • Allowing the PO to prioritize highly valuable items without any overhead
  • Increasing steady delivery of features, which then increases the feedback coming from real users

 

The Main Challenge

Essentially, software products resemble more of an iceberg than a cake. That’s because, until the release date, the larger part of the software usually remains ‘hidden’ from the stakeholders. Here’s why it’s so integral for teams to find the most practical, easy-to-use way to adopt the vertical splitting inside the project.

Applicable in the case of building the ATM too, this strategy would allow for a simple withdrawal of money, implying that the security protocols are met. It would further register proper money deduction from a person’s account and instantly confirm the new bank account value.

 

Summary

With no ready-made template for adopting either horizontal or vertical splitting into any project, it’s in the engineers’ hands to weigh on the better match. In either case, keeping track of work progress on a constant basis and breaking down technical tasks into sub-tasks appears the most sound approach for tying product owners to the team’s daily progress.

Creating software with slices of value is never easy. But as part of the principles of Agile development, it provides the network for creating a constant flow of valuable, usable functionality for users, while striving for maximum simplicity and streamlined team objectives.

Tags
  • Company
  • Support
Share
  • Share on Facebook
  • Share on LinkedIn
  • Share on Twitter
Share
  • Share on Facebook
  • Share on LinkedIn
  • Share on Twitter
Sign up for our monthly newsletter.
Sign up for our monthly newsletter.

Read what's next.

Blog

Introducing MentorMate Paraguay

Blog

Career Growth at MentorMate

  • Twitter
  • LinkedIn
  • Instagram
  • Facebook
United States
MentorMate1350 Lagoon Ave, Suite 800
Minneapolis
, MN 55408

+1 612 823 4000
Bulgaria
67 Prof. Tsvetan Lazarov Blvd.
Sofia 1592, Bulgaria,
+359 2 862 2632
Sweden
Drottninggatan 29
411 14 Göteborg

+46 3 199 0180
Paraguay
Carlos M. Gimenez 4855
Asunción, Paraguay

+595 21 327 9463

Copyright © 2023 MentorMate, Inc.

  • Cookies
  • Privacy
  • Terms
  • Continuity Policy
This site is registered on wpml.org as a development site.