Daily standups slip when people are traveling or juggling time zones. An async version works if it is structured, time-boxed, and easy to skim. Here’s a format that keeps signal high and noise low.
Use the same window every day
Pick a 30–60 minute window when everyone can post. Late updates create follow-up questions that bleed into the day. If someone misses the window, they post later but start with Late update: so it’s obvious.
Lead with a one-line headline
- Pattern:
Status — Headline - Example:
Green — Shipped billing retries; adoption spike on Teams.
Answer three prompts, no extras
- Done: What shipped since the last update (max 2 bullets).
- Next: What’s the single next outcome you’ll complete today.
- Blockers: What’s in your way and who can unblock.
Example block you can paste into /shortr:
Status — Green: Shipped billing retries; adoption spike on Teams.
Done: Rolled retry jobs to 50%. Fixed webhook alerting noise.
Next: Move retries to 100% and monitor error budget.
Blockers: Need @Nina to approve new SLO threshold before 3 PM.
Link to the source, don’t paste the source
Drop one link to the relevant doc, issue, or dashboard. Avoid screenshot dumps. If there’s nothing to link, say Link: n/a.
React to close loops, not to chat
Default reactions keep threads tidy:
- 👀 Seen it.
- ✅ Unblocked / done.
- ❓ Need clarification (follow with one question).
Escalate to live only when needed
Call for a huddle only when a blocker affects more than one person or a decision is ambiguous. Post the BLUF summary back into the thread so latecomers don’t have to watch a recording.
Run your async standup like this for a week and watch meetings shrink. The structure makes it easy to scan and gives you a log of decisions, blockers, and owners without extra ceremony.