10 min read • Guide 833 of 877
Async Standups and Communication
Not everyone can meet at once. GitScrum supports async communication patterns that keep distributed teams aligned across time zones.
Why Async
When Sync Doesn't Work
THE TIMEZONE PROBLEM:
┌─────────────────────────────────────────────────────────────┐
│ │
│ GLOBAL TEAM TIMEZONES: │
│ │
│ New York │████████████████████████│ │
│ London │ ████████████████████████│ │
│ Bangalore │ ████████████████████████│ │
│ Sydney │ ████████████████████████│ │
│ │
│ 0 4 8 12 16 20 24 (UTC) │
│ │
│ "Let's find a time that works for everyone" │
│ → There isn't one. │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ BAD SOLUTIONS: │
│ ────────────── │
│ │
│ ❌ "9 AM New York standup" │
│ London: 2 PM (fine) │
│ Bangalore: 6:30 PM (after hours) │
│ Sydney: 12 AM (middle of night!) │
│ │
│ ❌ Rotating times │
│ Everyone takes turns being inconvenienced │
│ No one has consistent schedule │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ ASYNC SOLUTION: │
│ ─────────────── │
│ Everyone posts update during THEIR morning │
│ Team reads updates during THEIR day │
│ No one sacrifices personal time │
│ Everyone equally included │
└─────────────────────────────────────────────────────────────┘
Async Standup Format
Update Structure
ASYNC STANDUP FORMAT:
┌─────────────────────────────────────────────────────────────┐
│ │
│ DAILY UPDATE TEMPLATE: │
│ ────────────────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 📅 Tuesday, January 21 ││
│ │ ││
│ │ ✅ DONE YESTERDAY: ││
│ │ • Completed API endpoint for user preferences ││
│ │ • Fixed login timeout bug (#234) ││
│ │ • Reviewed Sarah's PR on search ││
│ │ ││
│ │ 🔨 WORKING ON TODAY: ││
│ │ • Integration tests for preferences API ││
│ │ • Starting notification service design ││
│ │ ││
│ │ 🚧 BLOCKERS: ││
│ │ • Need design review on notification mockups ││
│ │ (tagged @sarah in Figma) ││
│ │ ││
│ │ 📢 FYI: ││
│ │ • Out 2-4 PM for dentist appointment ││
│ │ ││
│ │ Posted: 9:15 AM Sydney time ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ GUIDELINES: │
│ ─────────── │
│ ✅ Brief (2-3 min to read) │
│ ✅ Specific (what exactly, not vague) │
│ ✅ Actionable blockers (who can help?) │
│ ✅ Posted at start of YOUR day │
│ │
│ ❌ Novel-length updates │
│ ❌ "Continuing work on project" (too vague) │
│ ❌ Posted whenever you remember │
└─────────────────────────────────────────────────────────────┘
Tools and Channels
Async Infrastructure
ASYNC COMMUNICATION SETUP:
┌─────────────────────────────────────────────────────────────┐
│ │
│ OPTION 1: SLACK/TEAMS CHANNEL │
│ ───────────────────────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ #team-standups ││
│ │ ││
│ │ [Bot] Daily Standup - Jan 21 ││
│ │ Please post your update using the template below. ││
│ │ ││
│ │ 🧵 [Alex] 9:15 AM ││
│ │ ✅ Done: API endpoint... ││
│ │ 🔨 Today: Integration tests... ││
│ │ ││
│ │ 🧵 [Jordan] 9:30 AM ││
│ │ ✅ Done: Database migration... ││
│ │ 🔨 Today: Performance testing... ││
│ │ 🚧 Blocker: Need staging access ││
│ │ ││
│ │ 🧵 [Sam] 10:00 AM ││
│ │ ✅ Done: Frontend components... ││
│ │ 🔨 Today: Mobile responsive... ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ OPTION 2: STANDUP BOT │
│ ───────────────────── │
│ • Geekbot, Standup.ly, etc. │
│ • Prompts each person at their morning │
│ • Collects and aggregates responses │
│ • Posts summary to channel │
│ │
│ OPTION 3: VIDEO UPDATES │
│ ──────────────────────── │
│ • Loom or similar │
│ • 60-90 second video update │
│ • More personal, shows context │
│ • Good for complex updates │
│ │
│ OPTION 4: PROJECT MANAGEMENT TOOL │
│ ───────────────────────────────── │
│ • Update in GitScrum/Jira/Asana │
│ • Comments on tasks being worked │
│ • Status changes visible │
│ • Less personal, more structured │
└─────────────────────────────────────────────────────────────┘
Maintaining Connection
Human Element
STAYING CONNECTED ASYNC:
┌─────────────────────────────────────────────────────────────┐
│ │
│ THE PROBLEM: │
│ ──────────── │
│ Text updates lack human connection │
│ Easy to feel isolated │
│ Miss casual interactions │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SOLUTIONS: │
│ │
│ 1. OCCASIONAL SYNC TOUCHPOINTS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ • Weekly team call (rotate times) ││
│ │ • Retros synchronous when possible ││
│ │ • Sprint planning together ││
│ │ ││
│ │ Async daily + Sync weekly = Balance ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 2. VIDEO UPDATES: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Text: "Working on API" ││
│ │ Video: See face, hear voice, get context ││
│ │ ││
│ │ Mix in video updates for important updates ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 3. SOCIAL CHANNELS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ #random or #watercooler ││
│ │ • Share personal stuff ││
│ │ • Celebrate wins ││
│ │ • Share photos, jokes, life ││
│ │ ││
│ │ Not just work, also humans ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 4. VIRTUAL COFFEE: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Random pairing for casual chats ││
│ │ 15-30 min, no agenda ││
│ │ Build relationships across timezones ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
Handling Blockers
Async Problem Solving
BLOCKER RESOLUTION ASYNC:
┌─────────────────────────────────────────────────────────────┐
│ │
│ CHALLENGE: │
│ ────────── │
│ In sync standup: "I'm blocked, who can help?" │
│ → Instant discussion and resolution │
│ │
│ In async: Posted blocker, then... wait? │
│ → Could be hours before someone sees it │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SOLUTIONS: │
│ │
│ 1. TAG DIRECTLY: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🚧 BLOCKER: ││
│ │ Need staging access to test integration ││
│ │ @alex - can you grant access or point me to who can? ││
│ │ ││
│ │ Direct mention = notification ││
│ │ Specific ask = faster resolution ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 2. SEVERITY LEVELS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🟡 BLOCKER (can work around for now): ││
│ │ No rush, async resolution fine ││
│ │ ││
│ │ 🔴 BLOCKER (completely stuck): ││
│ │ Need response within 2-4 hours ││
│ │ Will escalate if no response ││
│ │ ││
│ │ 🚨 URGENT: ││
│ │ Use phone/immediate channel ││
│ │ Don't wait for async ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 3. OVERLAP WINDOWS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Identify 1-2 hour overlap between timezones ││
│ │ Use for synchronous blocker discussion ││
│ │ Quick call to unblock, then back to async ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 4. AUTONOMOUS WORK: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ If blocked: Switch to other work ││
│ │ Always have backup tasks available ││
│ │ Don't wait idle for response ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
Best Practices
Making Async Work
ASYNC COMMUNICATION BEST PRACTICES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ WRITE FOR CLARITY: │
│ ────────────────── │
│ ❌ "Having issues with the thing" │
│ ✅ "Login endpoint returns 500 when password contains │
│ special characters. Error: 'Invalid encoding'" │
│ │
│ Reader can't ask for clarification immediately │
│ Be complete the first time │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ USE CHANNELS APPROPRIATELY: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ #standups Daily updates only ││
│ │ #team-chat General discussion ││
│ │ #tech-help Technical questions ││
│ │ #urgent Time-sensitive issues ││
│ │ #random Social, off-topic ││
│ │ ││
│ │ Don't put everything in #general ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ RESPONSE TIME EXPECTATIONS: │
│ ─────────────────────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TEAM AGREEMENT: ││
│ │ ││
│ │ Standups: Read within 2 hours of your start ││
│ │ @mentions: Respond within 4 hours (work hours) ││
│ │ PRs: Review within 1 business day ││
│ │ Urgent: Response within 1 hour (during work hours) ││
│ │ ││
│ │ Document and share expectations ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ DOCUMENT DECISIONS: │
│ ─────────────────── │
│ Async discussions = Easy to miss │
│ Summarize decisions in central place │
│ "We decided X because Y (discussed in #tech-help Jan 21)" │
└─────────────────────────────────────────────────────────────┘
Hybrid Approach
Combining Sync and Async
HYBRID MODEL:
┌─────────────────────────────────────────────────────────────┐
│ │
│ THE BEST OF BOTH: │
│ ───────────────── │
│ │
│ DAILY: Async │
│ • Standup updates posted by each person │
│ • Read at your convenience │
│ • No meeting overhead │
│ │
│ WEEKLY: Sync │
│ • Team meeting (rotate times for fairness) │
│ • Face-to-face connection │
│ • Complex discussions │
│ • Relationship building │
│ │
│ AS NEEDED: Sync │
│ • Pairing sessions │
│ • Urgent blockers │
│ • Design discussions │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ EXAMPLE SCHEDULE: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ MONDAY: Async standup ││
│ │ TUESDAY: Async standup ││
│ │ WEDNESDAY: Async standup + Team sync (1hr) ││
│ │ THURSDAY: Async standup ││
│ │ FRIDAY: Async standup ││
│ │ ││
│ │ SPRINT START: Planning (sync) ││
│ │ SPRINT END: Demo + Retro (sync) ││
│ │ ││
│ │ Most days: Async efficiency ││
│ │ Key moments: Sync connection ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ TIMEZONE FAIRNESS: │
│ ────────────────── │
│ Rotate meeting times so no one always sacrifices │
│ Week 1: 9 AM NY (bad for Sydney) │
│ Week 2: 5 PM NY (bad for London) │
│ Week 3: 8 AM NY (bad for West Coast) │
│ etc. │
└─────────────────────────────────────────────────────────────┘