Running Effective Meetings
Agenda, timeboxing, outcomes, and when to skip the meeting. Making meetings worth everyone's time.
Meetings are expensive—they multiply with every attendee. Run them well and they align teams and unblock work. Run them poorly and they drain time and morale. This guide covers how to run meetings that are worth having.
Do You Need a Meeting?
Many topics can be handled async: status updates (send a written update), simple decisions (Slack or doc with approval), or one-way info (record a short video or write a doc). Call a meeting when you need real-time discussion, alignment, or decisions that benefit from live debate. Default to "no meeting" and add one only when the cost is justified.
Quick test: If the only outcome is "everyone is informed," a written update or recording is usually enough. If you need to brainstorm, resolve disagreement, or make a decision that people will own, a meeting can be worth it. For hybrid or remote teams, default to async first and use meetings for the moments that truly need real-time interaction.
Agenda and Outcomes
Send an agenda before the meeting: what you'll cover and what you want to achieve (e.g. "Decide: approach A or B"). Allocate time per topic so you don't run over. Start on time; don't wait for stragglers (they'll learn). End with clear next steps and owners.
Agenda format: List 3–5 topics max, each with a time budget and a desired outcome (e.g. "Decide," "Align," "Review"). Put the most important or contentious item when energy is high—often early or after a short buffer. Share the agenda at least 24 hours in advance so people can prepare or suggest changes. If there's pre-read material, attach it and assume attendees have read it so you don't spend the meeting repeating it.
Timeboxing and Facilitation
Stick to the timebox. When a topic is running long, say "We have 5 minutes left—let's decide or park this." As the host, facilitate: invite quiet people in, cut off tangents, and summarize decisions. If you're the one presenting, leave time for questions and don't over-pack the deck.
Facilitation tips: Assign a dedicated note-taker or rotate so the host can focus on keeping the discussion on track. Use a visible timer so everyone sees when time is running out. If a topic needs more discussion, schedule a follow-up rather than letting one item consume the whole meeting. For recurring meetings, reserve the last few minutes for "parking lot" items and action-item review.
Async Alternatives
Consider async-first options: Loom for short updates, written RFCs with comments for design decisions, or a shared doc that people edit before a short sync. Reserve live meetings for the pieces that truly need real-time interaction.
When async works: Status updates, simple approvals, sharing a decision with context, and feedback on documents can all be done asynchronously. Use comments, threads, or short video updates so people can consume and respond on their own time. Live meetings then become shorter and focused on discussion and decisions that benefit from back-and-forth.
After the Meeting
Send a short summary: decisions made, action items, and owners. If someone couldn't attend, they should get the same summary. If there were no decisions or actions, question whether the meeting was necessary next time.
Summary format: Use a consistent template: "Decisions," "Action items (owner, due date)," and "Parked / follow-up." Post it in the same place every time (e.g. team wiki or Slack channel) so people know where to find it. Link to any docs or recordings. If the meeting was a one-off, the summary is the main artifact; for recurring meetings, the summary keeps everyone aligned until the next one.
Recurring Meetings: Keep Them Lean
Standups, retros, and planning sessions can easily bloat. Keep standups short (e.g. 15 min) and stick to the format. For retros, alternate formats so they don't become routine. For planning, do as much as possible in a doc or board beforehand so the meeting is about alignment and trade-offs, not reading tickets. Cancel a recurring meeting when there's nothing that needs the full group—replacing it with a short async update is often better.
Summary
Effective meetings have a clear purpose, a tight agenda, and concrete outcomes. Default to async; when you meet, make it count. Send agendas and summaries, timebox strictly, and reserve live time for the discussions that truly need it. Periodically ask the team which meetings could be shortened, made optional, or replaced with async updates—and act on the feedback.
Running Remote and Hybrid Meetings
For remote attendees, ensure they're on camera when possible and that someone is explicitly responsible for reading chat and bringing async comments into the conversation. Share the doc or deck in advance and use a single source of truth (e.g. shared notes) so everyone can follow. End with explicit next steps and owners so remote participants have the same clarity as those in the room.
Related articles
- Communication & InfluenceWriting Effective Slack and Async Updates
When to write, how to structure messages, and how to get responses without overwhelming. Async communication that works.
Read article - Communication & InfluencePresenting to Executives: A Technical Leader's Guide
Learn how to structure and deliver technical presentations that resonate with executive audiences—focusing on impact, timelines, and risk.
Read article - Communication & InfluenceAn Engineer's Guide to Storytelling
Discover why storytelling matters in engineering and how to use proven frameworks to craft compelling technical narratives that influence and persuade.
Read article - Communication & InfluenceWriting for Engineers
Why writing matters in engineering—and how to write clear documentation, effective messages, and professional content that advances your career.
Read article