Opinion
July 29, 2024

Productive Developer Meetings

by Tamás Szabó
Example H2

Introduction

Software development is incredibly complex. It is both logical and artistic. Code is read by humans and machines, needs to work as soon as possible, and must still function years later. Adding to this complexity are multiple vendors providing numerous services, libraries, and frameworks that all comprise an application. It is safe to say that there are a lot of things to discuss.

Meetings among software developers can have several pitfalls that are very much avoidable and I would like to share some tips on how we get the most out of our team meetings here at KOPE.

1. Stay on track

The number one problem that I encounter in dev meetings is the discussion losing focus. When discussing how the implementation of a new feature would fit into an existing codebase, it can be tempting to detail every side effect that the change will cause, possible improvements, or necessary refactoring of legacy code. The discussion might still be related to the general area of the new feature, but it is no longer focused on answering the question of "how do we do this?".

So tip #1 is Focus on staying on track. If you feel a discussion has been going on for a while, ask

Are we still having this discussion to find an answer to a problem?

If so, good. If not, however, then it's time to move on. If it was an off-topic but important discussion, take a note to revisit it another time.

2. Visualize

Software is hard to explain. I can tell you what happens when you apply a product to a model in KOPE.

You click the button in the frontend, where the application gathers all the data you configured and sends it to our relevant backend service. This service puts a message in a queue, which is picked up by a job that downloads your model, applies the product, generates some output, then uploads that to a database. It then sends a message on another queue that it has finished. In the meantime the frontend is periodically requesting updates from the backend service, which will finally give you your updated model and details.

Quite a mouthful. Hard to conceptualize, especially if you lose your train of thought halfway through. If I spend 2 minutes visualizing it however...

Does it still need explanation? Yes. Is that explanation easier to follow? Definitely. Read through the same description above but connect each point to the diagram and your mental image will be much clearer.

Tip #2 Visualize what you can. Doesn't have to be pretty, it just has to show instead of tell. Most online meeting software has whiteboarding functionality built-in for quick scribbles, or you can always use a site like excalidraw. It is best to be prepared though, and create necessary drawings in advance using your favourite tool.

At KOPE, we are a very visual team and this approach has helped us map out and explain some very complex problems from the industry - both software and construction.

3. Document decisions & assign action items

This one might seem fairly obvious, but for someone with a bad memory like me, it is crucial. If we spend an hour discussing something on a Friday afternoon but write nothing down, come Monday it's like the meeting didn't even happen. It also ties well into the first tip. Once you get into the habit of asking what question you are trying to find the answer to, it becomes easy to write down both the question and the answer in your notes once you have them.

It is also handy when finding an answer requires further research into a topic. It's a better use of your team's time to assign this investigation to one person instead of everyone browsing a piece of documentation simultaneously. Create an action item, assign it to a person, and have them summarize their findings asynchronously.

By documenting decisions and assigning action items (Tip #3), you can ensure that meeting results are not forgotten and also use it as a recap for members who could not attend.

Example note structure from a recent meeting

Conclusion

In summary, by keeping meetings focused, using visuals to explain complex ideas, and documenting key decisions and action items, software developer teams can greatly improve the productivity of their meetings. None of these ideas are groundbreaking, but they do require constant attention and an intent to get things done. And getting things done is something we are not in short supply of here at KOPE as we build the world's first purpose-built solution for Offsite products.