Imagine you are driving at full speed on an empty highway and then oops… You are hitting an hour-long traffic jam. Your 8 hours trip becomes 9 hours. How does it feel?
Now imagine that getting back to the full speed takes at least 30 minutes, not ~10 seconds. Right, your trip is now 9 hours and 30+ minutes, 90 minutes longer.
The reason for 30+ minutes is that any intellectually intense work requires flow. Flow is a mental state when the brain is most productive. Getting into the flow state takes time.
Being in the flow is like driving at full speed on an empty highway. Being interrupted is like hitting a traffic jam.
Then you are driving forward and hitting two more 15-minute traffic jams hours apart.
Think you lost another 15+30+15+30=90 minutes? Unfortunately, it is a lot worse, you lost the whole day…
Getting into the flow requires a lot of energy. With every next distraction, it’s a lot harder.
That is why programmers and everyone else who is making great stuff don’t like meetings.
I’m not suggesting that you shouldn’t talk within a the team. You should! No meeting can generate so much waste as people running in opposite directions.
I’m also not suggesting that all communication should be in writing. It shouldn’t! As we know, most programmers also don’t like writing whole a lot of text.
Verbal communication is by far the most efficient, but only if you can keep short, small and at the right time.
The definition of short is 5–15 minutes. The definition of small is 2–4 people.
There are two simple rules:
This is how ideal programmer’s calendar looks:
Put in place this schedule for all programmers in your team. And you can ignore/forget all the lengthy advice out there on how to run “great meetings”.