Small Batches
Large batches feel efficient and are the opposite: work queues up invisible, risk
compounds silently, and feedback arrives only after everything is wrong. From Toyota's
lean manufacturing to Ries's startups, the rule is the same — shrink the batch until
the cost of finding a mistake approaches zero. This skill audits batch pathology and
re-cuts plans into slices that ship and learn.
Why Small Batches Win
The famous envelope-stuffing example: fold, stuff, seal, stamp one envelope at a time
looks slower than running each step in bulk. It is not. Small batches finish
end-to-end sooner (first feedback arrives at envelope one, not after all hundred),
surface defects at the cheapest moment, and keep work-in-progress visible. Big batches
hide every problem until the moment it is most expensive.
Modes
Audit mode (default — user pastes a roadmap, epic, backlog, or release plan)
- Read
references/batch-pathologies.md before flagging.
- Number every item, feature, or workstream.
- Flag each pathology present: big-bang release (everything ships at once),
integration-at-end (pieces merge only when all are done), requirement hoarding
(months of specified-but-unbuilt work), done-but-unshipped (work finished, waiting
for a batch to join), invisible WIP queue (work started but not completable soon).
- Measure the batch: time from first work started to first user learning. That
number — not story points, not task count — is the batch size that matters.
- Verdict — "Slicing well" (learning under 2 weeks), "Batching up" (2–6 weeks),
"Batch pathology" (6+ weeks or unmeasurable because nothing ships until the end).
Re-slice mode (audit done, user wants the re-cut plan)
- Find the slice axis: the thinnest path through the work that ships something to a
real user and produces learning. Usually vertical — one user, one job, end to end —
never horizontal ("the database layer," "all the UI").
- Re-cut the work into slices. Every slice passes three tests: it ships (deployable
on its own), it learns (a real user's behavior changes measurably), and it is
smaller than the last one that hurt.
- Sequence the slices by learning value, riskiest first (the build-measure-learn
loop governs the order; the roadmap does not).
- Write the re-slice from
templates/slice-plan.md with the integration and release
checkpoint at every slice boundary — the moment work is "done" is the moment it
merges, not a date at the end.
- Name what gets easier to say no to: small batches expose work that no longer
needs doing. Killed scope is a re-slice deliverable, not a failure.
Hard Rules
- Batch size is measured in time-to-learning, never in task count.
- A slice that cannot ship alone is not a slice; it is a fragment.
- Integration is continuous or the batch is still big — merging at the end is the
pathology wearing a different hat.
- Every slice boundary has a release decision: ship it, or say out loud why not.
- If the plan cannot be sliced without shipping something embarrassing, the slice is
still right and the embarrassment is information.
Output Shape (Audit mode)
| # |
Item / plan feature |
Pathology |
Evidence |
Followed by the batch measurement, verdict, and the recommended slice axis. Keep
output in the user's language. Never re-slice without naming the learning each slice
produces.
1---2name: small-batches3description: Audit roadmaps, backlogs, and release plans for batch-size pathology — big-bang releases, quarter-long requirement queues, work that integrates at the end — and re-cut them into small shippable slices with learning checkpoints. Use when a release keeps slipping, when work sits done-but-unshipped, when integration happens in one painful merge, or when the user says small batches, why is this release taking so long, re-slice, batch size, big bang release, or WIP is piling up. Not for sprint mechanics, capacity planning, or personal productivity batching.4---56# Small Batches78Large batches feel efficient and are the opposite: work queues up invisible, risk9compounds silently, and feedback arrives only after everything is wrong. From Toyota's10lean manufacturing to Ries's startups, the rule is the same — shrink the batch until11the cost of finding a mistake approaches zero. This skill audits batch pathology and12re-cuts plans into slices that ship and learn.1314## Why Small Batches Win1516The famous envelope-stuffing example: fold, stuff, seal, stamp one envelope at a time17looks slower than running each step in bulk. It is not. Small batches finish18end-to-end sooner (first feedback arrives at envelope one, not after all hundred),19surface defects at the cheapest moment, and keep work-in-progress visible. Big batches20hide every problem until the moment it is most expensive.2122## Modes2324### Audit mode (default — user pastes a roadmap, epic, backlog, or release plan)25261. Read `references/batch-pathologies.md` before flagging.272. Number every item, feature, or workstream.283. Flag each pathology present: big-bang release (everything ships at once),29 integration-at-end (pieces merge only when all are done), requirement hoarding30 (months of specified-but-unbuilt work), done-but-unshipped (work finished, waiting31 for a batch to join), invisible WIP queue (work started but not completable soon).324. Measure the batch: time from first work started to first user learning. That33 number — not story points, not task count — is the batch size that matters.345. Verdict — "Slicing well" (learning under 2 weeks), "Batching up" (2–6 weeks),35 "Batch pathology" (6+ weeks or unmeasurable because nothing ships until the end).3637### Re-slice mode (audit done, user wants the re-cut plan)38391. Find the slice axis: the thinnest path through the work that ships something to a40 real user and produces learning. Usually vertical — one user, one job, end to end —41 never horizontal ("the database layer," "all the UI").422. Re-cut the work into slices. Every slice passes three tests: it ships (deployable43 on its own), it learns (a real user's behavior changes measurably), and it is44 smaller than the last one that hurt.453. Sequence the slices by learning value, riskiest first (the build-measure-learn46 loop governs the order; the roadmap does not).474. Write the re-slice from `templates/slice-plan.md` with the integration and release48 checkpoint at every slice boundary — the moment work is "done" is the moment it49 merges, not a date at the end.505. Name what gets easier to say no to: small batches expose work that no longer51 needs doing. Killed scope is a re-slice deliverable, not a failure.5253## Hard Rules5455- Batch size is measured in time-to-learning, never in task count.56- A slice that cannot ship alone is not a slice; it is a fragment.57- Integration is continuous or the batch is still big — merging at the end is the58 pathology wearing a different hat.59- Every slice boundary has a release decision: ship it, or say out loud why not.60- If the plan cannot be sliced without shipping something embarrassing, the slice is61 still right and the embarrassment is information.6263## Output Shape (Audit mode)6465| # | Item / plan feature | Pathology | Evidence |66|---|--------------------|-----------|----------|6768Followed by the batch measurement, verdict, and the recommended slice axis. Keep69output in the user's language. Never re-slice without naming the learning each slice70produces.