When work doesn’t get finished in a Sprint, the temptation is to “roll it over” into the next Sprint. A better approach is to learn to slice work so that it does fit into a Sprint.
Slicing Backlog items like a cake – thin, vertical slices, is considered “best practice”.
When work extends beyond the Sprint boundary it’s often because tasks, such as development or testing, continue til they’re finished instead of being able to be completed within the boundaries of the Sprint.
This is called ‘Waterfalling your Sprints’.
If the item can’t be delivered in a single Sprint, then the team needs to break it down into smaller pieces. Each slice needs to be able to be completed, and achieve the Definition of Done, by the end of the Sprint.
The term “vertical slice” refers to a cross-sectional slice through the layers that form the structure of the software code base. It is mostly used in Scrum where the work is planned in terms of features. For example, as a very basic approach, a software product may consist of three layers (or components):
Horizontal slicing has a number of disadvantages to vertical slicing.
This makes vertical slicing a preferred practice over horizontal slicing.
This is where the ‘multi-layer cake’ metaphor was born. First espoused by Bill Wake (2003), he suggests:
While there is no ‘perfect’size for a Backlog item, to promote the best transparency possible, try slicing a Backlog item so that it can be delivered against the Definition of Done in 2-3 days.