Oskar Dudycz

Pragmatic about programming

15 tips on how to run meetings effectively

2022-02-23 oskar dudyczCoding Life


It’s always worth talking things through! But is it worth meeting? During my career, I have seen many projects and companies where the “meeting culture” was killing employee performance. “The more meetings, the better the job goes.” More than once, I have commented so sarcastically on a new meeting that should have been an e-mail. Today I decided to share a set of tips that can help you eliminate or at least reduce this problem.

  1. Meetings are great for nuanced discussions or agreeing on different perspectives, brainstorming, etc. Especially when you see faces and emotions, so turn on the camera, don’t be shy. If you’re in a mess, no worries! You can change the background in most current video conferencing apps.

  2. If you need to, you can skip meetings. Really. It’s also okay if someone can’t attend your meeting and refuses you.

  3. Prefer a written asynchronous form over meetings to share your status.

  4. Avoid scheduled, repetitive meetings if they are not needed. If you really need a status meeting, make sure it’s as infrequent as possible, focused, and short. Separate status meetings from problem-solving. Even if you feel a status meeting is needed, ask others to share your perspective. You may find that you are the only one who finds such a meeting useful.

  5. Avoid meetings that could be a status update via message/document/e-mail on Slack. The most important thing is to know the blocking impediments and resolve them. The status update can usually wait. Besides, the status itself is generally of minor importance. What is essential is to know about emerging problems or new risks. They have to be solved. Why do you need the information that “it’s going okay”, “I’m still working on the same as yesterday” if it doesn’t mean a deviation from the original plan?

  6. If you need to solve problems, arrange a dedicated meeting with interested parties. Don’t solve specific problems with lots of uninterested people. Again, a status meeting is not a problem-solving meeting. It’s a meeting to find obstacles.

  7. Make sure you schedule meetings in advance, respecting time zones. Don’t postpone or cancel appointments right before them without good reason.

  8. Make sure the meeting has a clear agenda and purpose. Determine who is required or optional. Please state why this meeting is necessary. This will give the invitee information whether they need to attend the meeting or not. Do you remember? It should be okay to miss a meeting.

  9. If the meeting has no agenda, anyone can decline the meeting right away.

  10. Prepare a document with an agenda/topic for discussion. Ideally, if it contains the context of the meeting, the proposal(s) will be the basis for discussion. It is much more effective to discuss something based on a suggestion than to invent something from scratch during the meeting. The document should be concise and focused on the merits. Suggested ways to share documents are: Pull Request with a markdown file, Google Docs, Github Discussion or Issues.

  11. Begin the meeting by reading the written agenda/problem (this could be reading all or someone referring it). This way, you make sure that there is a common understanding of what is discussed.

  12. Concentrate on the purpose of the meeting. If other ideas came up during the meeting, deal with them separately or at the end of the session so that uninterested people can leave them.

  13. Make sure that one of the participants is taking notes regularly on the discussed document during the meeting. In this way, we enable other interested parties who could not join to see the discussion results. Doing this on an ongoing basis will avoid the problem that writing a “minute” after the meeting is tedious and overlooked due to other priorities. Taking notes enables people to skip the meeting. Joining meetings because there is no other way to know the outcome is one of the main reasons people are in meetings just in case. Usually, there is nothing essential, and people sit there and don’t listen, doing something else in the background. It also causes meetings to be dragged and inefficient.

  14. Make sure there are actionable decisions from the discussion. If there are no decisions, then specific actions to get them later. Assign specific people to them if you don’t want the matter to blur as “I thought Jim would take care of it”.

  15. Finally, a controversial piece of advice: stop sharing calendars. It will make it difficult to create meetings based on “I saw that Jane is available, so I will throw this meeting on her”. Making undesirable effects more difficult is often sufficient to prevent them. People will think two or three times before writing to multiple people and organizing a shared appointment. Perhaps this will be enough motivation to write down your thoughts and prevent the meeting.

Don’t get me wrong, meetings are beneficial. If they are well-organized, they can solve in fifteen minutes what would be impossible to solve in the communicator chat for hours. They’re also less argument-prone. When we see ourselves, we hear ourselves, our level of empathy increases. Unfortunately, most projects and organizations have a shortage of valuable meetings and too many unnecessary ones. The worst thing is that a more significant number of meetings often affect the most important people: leaders, senior programmers, architects, etc. They become less accessible, making them limp about what they should do, design and management. This, in turn, has a significant impact on the entire team. As a leader, one of the necessary things is to be assertive and be aware of it. Don’t create bottlenecks in that way.

In this article, I also appeal for respect for others, preparation and I am offering tools that can help in this. Here are some more links:



👋 If you found this article helpful and want to get notification about the next one, subscribe to Architecture Weekly.

✉️ Join over 5600 subscribers, get the best resources to boost your skills, and stay updated with Software Architecture trends!

Event-Driven by Oskar Dudycz
Oskar Dudycz For over 15 years, I have been creating IT systems close to the business. I started my career when StackOverflow didn't exist yet. I am a programmer, technical leader, architect. I like to create well-thought-out systems, tools and frameworks that are used in production and make people's lives easier. I believe Event Sourcing, CQRS, and in general, Event-Driven Architectures are a good foundation by which this can be achieved.