A2.01 · Decomposition
Value, not tasks
A unit of work is a unit of value a role can use — not a technical chore. The shift from a to-do list to a backlog of outcomes is the single most important habit in the workflow.
A task names work to do; a story names a change in what someone can do once the work lands. The test that separates them is demonstrability: a story can be demoed, a chore cannot. Value, not effort, then orders the backlog, and value cuts through the layers as a usable end-to-end thread. Three dives: name the outcome, name who benefits, cut it vertically.
The dividing line is demonstrability
Decomposition produces a backlog, and every item on it is one of two things. A chore is work to do — add a table, wire a socket, create a module. Real work, often necessary, but nothing a role can observe changed. A story is a change in what a role can do — browse the catalogue, enrol in a course. Once it lands, someone can do something new, and that change is visible.
The line between them is one question: can you sit a role in front of the result and show the change? A story can be demoed; a chore cannot. The sorter below runs that test over a fixed set of Portal work items. Switch the lens and the readout counts how many items it holds and, the point, how many can be demoed.
Eight Portal work items, sorted by demonstrability · switch the lens
A backlog item earns its place by being demonstrable — a change a role can use, not work done. Name the outcome, and the chores fall into place beneath it as the means.
The three dives
Each dive takes one edge of the value-not-tasks habit, in the arc name it → order by it → cut for it: what makes a slice a story rather than a chore, who it is for and why value orders the backlog, and how value cuts vertically through the layers. Read them in order — A2.01.1 starts.
Outcome, not chore
A task names work to do; a story names a change in what a role can do once it lands. The demonstrability test: a story can be demoed, a chore cannot.
Who benefits
Every slice names a role and the value to that role. Value, not effort, is the ordering key for the backlog — the most valuable buildable slice goes first.
The vertical slice
Value cuts through the layers as a usable end-to-end thread, against a horizontal technical chore — one whole layer that no role can demo.
After A2.01, the next module — A2.02 · The Connextra form and the three Cs — writes a story in a shared form: as a role, a want, and a reason, treated as a card, a conversation, and a confirmation. Return to the A2 chapter navigation to continue.
References
The sources for stories as value, the demonstrable increment, and the thin end-to-end thread, and where this module connects in the course.
Sources
- Cohn, M. — User Stories Applied — a story is a unit of value, not a unit of work.
- Beck, K. — Extreme Programming Explained — the increment is demonstrated to the on-site customer.
- Hunt & Thomas — The Pragmatic Programmer — tracer bullets: a thin, observable end-to-end thread.
Related in this course
- A2.01.1 · Outcome, not chore
- A2.01.2 · Who benefits
- A2.01.3 · The vertical slice
- A2 · Decomposition — the chapter this module opens.
- A1.04 · Two layers: roadmap and specs — the spec layer each story feeds.
- Companion · Functional Programming in Elixir — the Portal’s Elixir and OTP foundations.