“Vertical slice” is a shorthand for “a work item that delivers a valuable change in system behavior such that you’ll probably have to touch multiple architectural layers to implement the change.”
Vertically sliced stories facilitate deep collaboration and generate shared understanding of the objective of each story, rather than specifically a predefined solution/implementation
Every story delivers business value which can be tested with users (or even released to market), providing rapid feedback and opportunity to pivot the feature set where required
Smaller stories help us move faster, increase flow and reduce batch size
Small and similar sized stories allow us to forecast delivery dates (when required), rather than estimate each story
Stories are easily tested within the iteration they are developed as they are smaller and less complex
Prioritisation is simplified and transparent
Projects run leaner as often, by breaking features down, we realise what is important and can discard everything else
It’s all inclusive: we have the same goal of getting the whole feature completed (rather than just my bit).
This is contrasted with “horizontal slice,” which refers to a work item representing changes to one component or architectural layer that will need to be combined with changes to other components or layers to have observable value to users.
One advantage of slicing your application horizontally, is you get good communication and consistency within each slice. Everyone does things the same way.
PATTERNS FOR SPLITTING STORIES VERTICALLY
Split the user stories by visualising relationship between stories from the perspective of a person who deserves the new capability