Skip to content

Running Effective Team Meetings

By default, we are an asynchronous team and communicate via our mailing lists or GitHub issues for anything that involves discussion. We also do ephemeral communication on Matrix.

But sometimes, meeting synchronously is the fastest way to get something done. Here’s how you should approach meetings.

These steps should definitely be applied to any meeting with more than two people, The general mindset should also be helpful for 1:1 meetings.

Before scheduling

  1. Think about whether you need a meeting.

    Meetings are costly, e.g. a one hour meeting with five people costs five hours of people’s work + whatever time it takes to context switch before and after.

    The outcome of the meeting should be worth the time spent. If a one hour meeting with five people saves six hours of back and forth on email, then it is barely worth it (and might not be, with context switching costs taken into account).

  2. Determine the desired outcome for the meeting.

    The purpose of the meeting should be clearly stated and written down.

    At the end of the meeting, every participant should be able to clearly determine whether the outcome was achieved.

  3. Designate a Meeting Owner.

    The Meeting Owner is responsible for:

    • Determining who should attend
    • Handling any asynchronous preparation
    • Running the meeting and facilitating discussion
    • Ensuring that the desired outcome is reached within the allotted time
    • Clearly communicating next steps and action items to participants
    • Ensuring that comprehensive notes are taken
    • Publishing the notes on the wiki

    If you’re scheduling a meeting, this is you.

  4. Determine Attendees.

    Make sure this list is the minimum set of people that actually need to participate in the discussion. If someone just needs to be informed of the outcome, then the notes should serve that.

  5. Handle Asynchronous Preparation.

    • Meetings should only involve discussion.
    • Determine what resources attendees should read ahead of time and send them an email asking them to.
    • If there are updates or opinions that can be shared ahead of time, please ask attendees to do that.
  6. Create an agenda with time boxes for each topic.

    • This will help you ensure that the meeting is on track.


You can now schedule the meeting. Make sure to send the agenda and asynchronous preparation checklist to all attendees.

We have a HackMD template to make this easier, you can use it like so:



At the meeting

  • If the async preparation hasn’t been done by attendees, then reschedule the meeting.
  • Designate a note taker (or two)
  • Keep the conversation focused on the desired outcome.
  • Obey the time limits you’ve set for given agenda items and for the entire meeting.

After the meeting

  • Clean up the notes and publish them on the wiki, see Meeting Notes.
  • Follow up with participants and other interested parties with decisions and action items.

Additional resources