Comparisons
Pairs engineers genuinely confuse — goal and implementation, MVP and bad prototype, prototype and spike, reversible and irreversible. Neither column wins; what decides is the problem. Each record leads with the confusion, because the confusion is what it costs.
Vertical slice vs horizontal layer
Horizontal layers feel like engineering — the schema is "done", the backend is "done" — and produce nothing anyone can use until the last layer lands, at which point the schema turns out to be wrong for what the page actually reads. A slice looks trivial (one product on one page) and proves the thing that matters most: the pieces connect, and the feedback loop is open. The strongest form of the layer side is that some layers really are shared foundations and building them once, well, avoids five inconsistent versions; the honest reply is that even then the first slice through the foundation is what tells you whether the foundation is right, so the foundation should be built to the thickness the first slice needs and grown from there.
When you need evidence early — that the layers connect, that the environment works, that the feature is what the user wanted — and when the requirements are still moving.
When the layer is genuinely shared and stable, and the team working on it is separate from the team consuming it — a platform team shipping an API for several product teams.
| Aspect | Vertical slice — one feature, thinly, through every layer: page, API, logic, database | Horizontal layer — one layer, completely: the whole schema, then the whole backend, then the UI |
|---|---|---|
| Unit of work | A feature, end to end | A layer, in full |
| First demonstrable moment | Day one or two | When the last layer lands |
| Where mistakes are found | In the first slice | In integration, at the end |
| Plan reads as | Product page, then cart, then checkout | Database, then backend, then UI |
| Proves | Connectivity and the feature | That the layer is internally consistent |
| Typical mistake | A slice so wide it is the product | A week of schema with nothing to show |