session · build & review
Daily standup
15 minutes. Same time, same place, every working day. Three lines per person — yesterday, today, blocked. Solving happens after standup, not during. The session that holds the day; not the session that runs the project.
When
- Every working day, same time. Held even when only two people show up.
- First thing in the team's day — before deep work begins, not after lunch.
Who
- Whole working team — Trio plus developers actively pulling.
- Standing, if physical. Standing keeps the session short. Remote: same energy, no chairs comfortable enough to settle into.
Time-box
15 minutes. Hard limit. If the standup overruns once, it's a blip. If it overruns twice in a week, the format is broken; investigate at the next retro.
Inputs
- Yesterday's work, freshly remembered.
- The pull tracker / kanban.
- Any blockers the team should know about.
Agenda
Each person, in order, three lines:
| Line | Content |
|---|---|
| Yesterday | One specific thing. "I finished the negative-balance scenario in PR #211." Not "I worked on grading." |
| Today | One specific thing. "I'll pull the language-pack story." Not "More grading." |
| Blocked | Specific or none. "Need a 10-minute walkthrough with Esti on the idempotency-key approach." Not "Some stuff." |
No solving. A blocker is named, not resolved in standup. The blocker-resolver pulls the affected person aside after the standup. The PO writes the blocker list as it surfaces.
Outputs
- A blocker list for the day — owned by the PO.
- A flag for the trio if any blocker crosses 24 hours unresolved.
What good looks like
Standup ends in 8–12 minutes. The room knows what's happening today without anyone reading the kanban. Blockers are surfaced and routed, not solved.
When a difficult question arises — "how do we handle the migration's rollback?" — the response is "let's grab Esti after standup", not a 20-minute group debate. The decision happens later, with the right people, in the right room.
Anti-pattern
Status report theatre. Each person reads their JIRA tickets aloud. No information emerges that isn't already in the tracker. Fix: the three lines exist to surface what's not yet on the tracker — yesterday's surprises, today's risks, blockers nobody knows about.
A second anti-pattern: standup becomes a debugging session. Two engineers fall into a technical conversation; the rest of the team waits; 20 minutes pass; standup hasn't finished. Fix: the PO calls it: "that's a great conversation — take it offline, the rest of us are 15-minute people."
A third: the PO solves blockers in standup. The PO promises to "look into it" for everything. The standup ends with seven action items on the PO. That is not standup; that is a queue forming. Fix: the PO names who owns each blocker; the PO owns only their own blockers.
See also
- Canon — implicit throughout Volume IV; the cycle's day-by-day rhythm
- Adjacent session — Three-confirmation review (the next-up sync the team holds)
- Anti-pattern — what to do if standup drifts: A retro that listed names a similar drift in retros