Effective Meetings for Software Engineers

Date: 2023-02-08 | creation-cycle | product-cycle | meetings |

In this post we're going to talk about meetings - common pitfalls, strategies for improving their effectiveness, and tips for applying these in the real world.

  • Problem: Meetings are expensive and many are ineffective.
  • Solution: Tips for running more effective meetings.
  • Results: Waste less time / money on meetings, identify meetings that are ineffective.

A note on scope: I have a background in Product / Technology and have used these techniques in 1000s of meetings. I believe these methods are generalizable to other industries but I don't have first hand experience to prove it so ymmv.

Meetings are Expensive

First I think it's important to nail down just how expensive meetings are. They're some of the most expensive things we do and yet they often have some of the worst ROIs.

A simple formula for understanding the cost of a meeting is something like this:

  • PersonCostPerHour = usdRatePerHour + opportunityCostPerHour
  • MeetingCost = durationHours * sum(PersonCostPerHour)

Where we're basically saying that each person in a meeting incurs the cost of:

  • usdRatePerHour - how much they are paid per hour
  • opportunityCostPerHour - what they could've otherwise been doing

When we look at a formula like this - it's clear that the more time and people spent on a meeting, the higher the cost is. So to make that meeting worthwhile - it must provide a proportionally larger amount of value.

If we assume an hourly rate of $50 and 0 opportunity cost:

  • A 30 minute 1:1 meeting = 0.5 * 2 * 50 = $50
  • A 1 hour meeting with 10 people = 1 * 10 * 50 = $500

That second meeting better be 10x as valuable as the first (and probably more given opportunity costs).

Just because meetings can be expensive doesn't mean we shouldn't have meetings. A good meeting can save weeks / months by simply getting the right people in a room to talk about important things.

Unfortunately many meetings happen and still don't talk about the important things. This is the worst case as not only have we incurred a huge cost to have a meeting, we'll probably need additional meetings to cover what the first missed. If we weren't able to have an effective meeting the first time, it's likely subsequent meetings will have the same problem unless we change how we run meetings.

Causes of Ineffective Meetings

So what causes ineffective meetings? The answer is - it depends. Different groups of people working on different projects will likely fall into different patterns and we can't cover all possible problems in one post.

But they do typically fall into patterns so we can cover a critical mass of problems most teams run into.

The top 3 problems I've observed lead to ineffective meetings:

Problem 1: Meeting has no goal / participants are not prepared

Without a goal for the meeting it is almost impossible for the rest of the meeting to go well.

  • If there's no clear goal, it's unlikely to be achieved
  • If there's actually no goal to a meeting (i.e. a reason for meeting) - then the meeting is a waste of time

On the flip side, if there is a goal but people are not prepared:

  • A lot of time will be spent getting people up to speed vs actually achieving the goal
  • Sometimes the whole meeting will fail since the requisite knowledge to make a decision / have a discussion doesn't exist

Outcome: Redo meeting

Problem 2: Meeting goes off track

Let's say that we have a goal and people are prepared for the meeting. Things can still go wrong.

The most common version of this is we start talking about things that are interesting and sometimes even important but that are not relevant to the current meeting and the goal we're trying to achieve.

This is a more insidious problem as it can be hard to determine whether this is valuable or not. In these cases, we talk about things that may seem important at the expense of accomplishing our actual goal.

Outcome: Redo meeting

Problem 3: Meeting is forgotten

Let's say that we did everything right - we had a clear goal, everyone was prepared, and we went down no tangents.

Great - you probably had a productive meeting.

But if we come back to the topic a month from now and forgot what we discussed / what the outcomes were then the meeting may as well not have happened - we'll have to do the whole thing again.

Outcome: Redo meeting

How to run Effective Meetings

A common strategy for improvement is to just solve the biggest problems. That's basically what we're going to do here - take the biggest problems that lead to ineffective meetings and implement solutions to prevent them.

Solution 1: Meeting has no goal / participants are not prepared

We can solve for meetings that don't have goals and meetings with ill-prepared participants by making the goals and required materials / expected discussion topics clear and sharing with participants beforehand.

Obviously you'll need to make sure everyone sees this and it won't help if someone doesn't actually look at it / do the work to prepare. But once people get used to this pattern, there's a certain level of social pressure to not be the only uninformed person in the room.

Solutions:

  • Clear goals
  • Clear discussion topics
  • Share to participants beforehand

Solution 2: Meeting goes off track

Humans are social creatures. We like to talk. We should be able to talk.

But off-topic talking is a common cause of ineffective meetings.

We can typically ensure that a meeting stays on topic by having a clear ordered list of discussion topics. This provides structure to the meeting and makes it harder for people to jump in with off-topic things because it's clearly off-topic.

Despite being harder to jump in with off-topic discussions, people will still do it. To combat this, we can typically suggest to table the discussion for later or take it offline. It's often useful to write this topic down at the bottom of the structured list so the originator sees they're heard and that it is scheduled (even if we never get there).

We can also deter some of these off-topic discussions by allowing some free time at the beginning of a meeting. This is often dead-time anyway as people join late / have AV issues so having a few minutes here for unstructured discussion can lower chances for later interruptions.

Solutions:

  • Clear ordered list of discussion topics
  • Schedule off-topic discussions for later by adding to end of topics list
  • Unstructured discussion time at the start of the meeting

Solution 3: Meeting is forgotten

Humans are busy creatures. We have notoriously poor memories. If we can't remember what we had for lunch a few days ago, why do we think we'd remember what we discussed a few weeks ago?

The easiest way to prevent a meeting from being forgotten is to write it down. Even better - write it down in an easily accessible and findable place.

Even better - organize it near things that are relevant to it - like similar meetings or a project that the meeting is related to.

The easier we can make accessing our notes, the more valuable it will be to us long-term.

Solutions:

  • Take notes of all discussions
  • Take notes in an easily accessible place - ideally a cloud document
  • Organize notes near relevant things - meeting series, projects, etc

How I run Effective Meetings

My basic approach to effective meetings is to try and make them:

  • Clear
  • Accessible

My method for implementing each of the above problems / solutions is to have a clear meeting agenda accessible to all meeting participants. I think this is the backbone of any well-run meeting - without this it's hard to get the other things right.

Tips: Meeting Agenda

  • One document for all meetings in a series / project
  • Document is cloud-based (Notion, GDocs, etc)
  • Add new meetings to the top of the document (most recent first)

Most meetings follow a similar pattern so we can use a generalized template:

- Greet
- Goals
- Discussion
    - [NAME] TOPIC
- Followups
    - [NAME] TASK
  • Greet - This gives people time to join / deal with computer issues and introduce each other / talk casually before we start.
  • Goals - This gives a purpose to the meeting. If this is an ongoing series, the goal is often to cover the most important topics for the group.
  • Discussion - This section serves as the ordered list of discussion topics. The person that suggested / leads the topic can have their name next to it so it's clear who will speak about what when. This also serves as a useful structure for documenting relatd questions / decisions under each topic.
  • Followups - Most effective meetings will have followups of some kind. We can use a similar structure to list tasks and owners.

Get the full Notion Meeting Template I use for my meetings.

Tips: Meeting process

Before the meeting:

  • Create an agenda in the meeting series document
  • Attach the meeting series document to the meeting invite
  • Share it out with all participants to prepare / suggest topics

During the meeting:

  • Follow the agenda
  • Add new topics as necessary - typically to the end

Next Steps

I hope these tips help you save time by avoiding ineffective meetings.

Want more like this?

The best / easiest way to support my work is by subscribing for future updates and sharing with your network.