The short answer: pick a small daily overlap window, protect it for the handful of conversations that genuinely need everyone live, and make everything else async by default. Most distributed teams settle on 2-4 hours of overlap. Then rotate the few unavoidable synchronous meetings so the same person isn't always taking the 6 a.m. or 10 p.m. call. Managing time zones isn't a scheduling trick you pull off once; it's a set of defaults you decide on and then enforce. Get the overlap window and the async habits right and a team spread from California to Berlin to Bangalore can ship faster than a co-located one, because work stops waiting on the next meeting to start moving.
Map the spread before you decide anything
Start by writing down each person's working hours in UTC, not in their local label. Local names mislead you: "9 to 5" in three cities can mean eight shared hours or zero, and daylight saving shifts the picture twice a year. Convert everyone to a single reference, then you can see the real overlap at a glance. UTC works as that reference because it never changes.
Next, sort people into bands by how far apart they sit. A team running from US Pacific to Central Europe spans roughly 9 hours; add an India-based teammate and you're at 12-13. The number that matters is your widest gap, because that decides whether a single overlap window is even possible. Up to about 8 hours of spread, one daily window usually works. Past 12 hours you're effectively running two partly-overlapping shifts, and you should design a handoff rather than chase a meeting that fits everyone.
A quick way to find your real overlap
- List each member's start and end in UTC. For example: US Pacific works 16:00-01:00 UTC, Central Europe works 07:00-16:00 UTC, India works 03:30-12:30 UTC.
- Find the latest start time and the earliest end time across the whole team. In that example the latest start is 16:00 (Pacific) and the earliest end is 12:30 (India) — they don't meet, so there's no all-hands window.
- Drop the outlier and re-check. Pacific and Central Europe alone share exactly one hour: 16:00 UTC, the moment Europe's day ends and Pacific's begins. That single hour is your real budget, not the comfortable three you assumed.
- Re-check in March and November. In 2026 the US springs forward March 8 and the EU on March 29, so for three weeks the transatlantic gap is an hour off from normal and your overlap can shrink. Confirm current dates against an official source like timeanddate.com before you publish anything.
How many overlap hours you actually need
There's no universal minimum, but here are honest ranges from how distributed teams operate. Fully async companies run on as little as 0-2 hours and lean hard on writing — GitLab and Zapier have both published detailed playbooks on doing exactly this. Most teams that still want some live collaboration target 3-4 hours of daily overlap. If your work is tightly interdependent — real-time pairing on a gnarly bug, live customer incidents — you'll want 4+ and may have to ask one band to shift their day to get it.
Rough guidance by overlap available
- 4+ hours: You can keep some synchronous habits — a daily standup, ad-hoc calls — without much pain. Still fence off the rest of the day for deep work.
- 2-4 hours: The sweet spot for most distributed teams. Reserve the window for decisions and unblocking only; push status updates to async.
- 1-2 hours: Treat the window as sacred. One short meeting per day at most, and everything else, standups included, moves to written form.
- 0-1 hours: Go fully async. Replace meetings with structured handoffs and recorded video, expect a response cadence of roughly one business day, and design the work around that gap instead of fighting it.
Whatever you land on, publish it. "Our core hours are 15:00-18:00 UTC, Tuesday through Thursday" is a sentence every new hire should read on day one. Ambiguity is what produces the 11 p.m. "quick sync" that quietly burns people out three months in.
Rotate meetings so the pain is shared
When a meeting genuinely needs people across a wide spread, someone is going to be uncomfortable. There's usually no magic slot that works for all, so don't waste a week hunting for one. Spread the discomfort fairly over time instead of dumping it permanently on whoever lives furthest east or west.
A rotation that actually feels fair
- Define two or three candidate slots, each painful for a different region — one early for the Americas, one late for Asia-Pacific, maybe one that splits the difference.
- Rotate weekly or biweekly on a fixed, published schedule, so people can plan childcare, gym, and dinner around it instead of finding out on Monday.
- Cap the bad hour: no recurring meeting before 7 a.m. or after 9 p.m. local for anyone. If a slot breaks that rule for a whole region, it's off the table.
- Record every session and post notes within an hour, so whoever rotates out that week loses the live discussion and nothing else.
- Let people skip a slot that lands badly that week, as long as they read the notes and add their comments async.
A common pattern for two far-apart bands: alternate an Americas-friendly time one week and an Asia-friendly time the next. Over a month everyone takes two convenient meetings and two awkward ones, instead of one band always eating the awkward slot every single time. Write the rotation into a shared calendar a quarter ahead so nobody has to renegotiate it every week.
Make async the default, not the fallback
The biggest unlock isn't scheduling — it's deciding that most communication doesn't need to happen at the same time. Async versus sync isn't all-or-nothing; the skill is matching the mode to the task. Spend synchronous time on things that are genuinely interactive: a contested decision with real disagreement, sensitive feedback, building rapport with a new teammate, a live incident. Push nearly everything else to async, especially status, code review, documentation, and brainstorming, where written ideas are easier to build on a day later.
Sync vs async, in practice
- Default to async: status updates, code review, spec feedback, design critique, FYIs, most brainstorming — anything you'd otherwise stuff into a standup.
- Go sync when: a decision is still stuck after one async round, the topic is emotionally charged or about someone's performance, you're onboarding a new hire, or a customer-facing incident is live.
- Escalation rule: if a thread bounces more than two or three times without converging, that's your signal to grab 15 live minutes — not the opening move.
Habits that make async work
- Write decisions down somewhere searchable — a doc or a ticket, not a buried Slack thread. The next time zone needs the record, and so does future-you.
- Replace the daily standup with a written one in a channel: yesterday, today, blockers. People read it when their own day starts.
- Record a 3-5 minute Loom instead of scheduling a call to explain something; the viewer watches it at 1.5x on their own time.
- Set a team-wide expected response time — say, one business day in your own zone — so silence reads as "heads down," not "ignoring you."
- End every async request with the deadline and the decision owner, so a 9-hour reply gap doesn't stall the whole chain.
The tools worth using
You don't need a big stack. A handful of well-chosen tools covers scheduling, async communication, and the daily "what time is it for them" problem. The ones below are widely used as of 2026, but pricing and features change constantly — check current plans before you commit budget.
- Finding a slot across zones: World Time Buddy and Every Time Zone show overlapping working hours visually; Google Calendar's secondary-time-zone and "Find a time" features do the same inside your calendar.
- Scheduling without back-and-forth: Calendly, Cal.com (open source), or SavvyCal let people book in their own zone with automatic conversion, which kills a whole category of email confusion.
- Async video: Loom or Vidyard for recorded walkthroughs in place of live demos.
- Async written work: a real docs home (Notion, Confluence, or a Git-based wiki) plus threaded chat (Slack or similar), with the discipline to put decisions in docs, not just chat.
- Always-on awareness: set teammates' time zones in your chat tool so it shows their local time, and pin a global-clock widget or a simple table of who's where.
A starter playbook
- Week 1: Convert everyone to UTC, calculate your true overlap, and publish core hours.
- Week 1: Move the daily standup to written async, keeping at most one optional live sync inside the overlap window.
- Week 2: Audit every recurring meeting. Kill the ones that could be a doc, and put a fair rotation on whatever survives.
- Week 2: Pick your scheduling and async-video tools, and set time zones in chat for the whole team.
- Ongoing: Default to writing, record decisions, and re-check overlap whenever daylight saving shifts or someone relocates.
Treat all of this as defaults you can bend, not laws. Some weeks a launch needs more live time; some teammates genuinely prefer a call. The point of fixing the overlap window, rotating the unavoidable meetings, and writing things down is that the exceptions stay exceptions — instead of every day quietly drifting back toward "let's just hop on a call" at a time that's miserable for half the team.