Vertical slice
Description
Truncate one dimension, preserve another. The structural pattern where instead of building a complete horizontal layer first (full breadth at one depth), you build a narrow vertical column (full depth at narrow breadth). Common in agile MVP development, in single-feature end-to-end demonstrations, and in any context where validating end-to-end shape matters more than completing one layer.Triggers
User-initiated: User is wrestling with scope — either explicitly proposing a monolithic build vs phased approach, or implicitly when too-many-features-in-one-prototype force a scope-creep discussion. Trigger verbspolish and prototype are common; slice itself appears more often in responses than in user prompts. Vertical-slice is overwhelmingly a real-user-msg-triggered concept. Four recurring sub-shapes:
- Scope-creep diagnosis — a “polish prototype” turned into a slice; renaming the work to vertical-slice surfaces a phase-scoping decision that needs attention before it silently collapses a later phase’s scope.
- Middle-path strategic positioning — user is tempted to ship “the full production version” all at once or to spread it across many phases; vertical-slice is the third path that ships full vision at narrow scope (one user, one period, one entity) so the end-to-end shape gets validated cheaply.
- Downstream-of-structural-decision — the slice’s shape depends on an upstream structural-model choice; if the structural call is wrong, no scoping discipline saves the slice. The diagnostic is “is this a polish question or a structural-model question?” — and the latter must be answered first.
- MVP-grain choice on API/data — flatten one dimension for v1 while leaving a seam to widen it later (e.g., an API that returns a single primary record but exposes a count field that future versions can multiplex over).
Exclusions
- When horizontal-first is correct — building a complete data layer before any UI on it; some architectures have ordering constraints that vertical slicing fights.
- When the dimensions are inseparable — sometimes “narrow breadth, full depth” doesn’t decompose cleanly because the depth requires breadth to exist.
Structure
Relationships
- graduation-promotion — a vertical slice often graduates into a horizontal layer once validated end-to-end. The slice is the scaffolding; the layer is the adult form.
Examples
MVP / agile slice · computer-science
MVP / agile slice · computer-science
software development tradition: ship one feature end-to-end before expanding breadth.