As developers, we deplore being interrupted. A stream of Twitter posts lament that a five minute meeting can harm productivity for hours. But it doesn't have to be like this: we can dramatically decrease the cost of being interrupted with a simple technique. What's more, implementing this technique makes us more effective and confident in our work.
I can't talk about this without first critiquing it. The framing of these complaints is often adversarial.
That five minute meeting with a developer... pic.twitter.com/xPgYwDzCnY— Richard Campbell (@richcampbell) June 21, 2019
When we create a "developers vs. others" mentality, we decrease the level of trust and psychological safety on our teams. Instead, we should seek to understand the "other" in our midst; why does our PM have to ask a dev a question so often? Is our documentation bad? Are we changing direction too quickly?
A good working relationship allows both sides to understand each other better. If we want to decrease the amount of interruptions we experience, posting divisive tweets is a strategy that may actually have the opposite effect in the long term.
Working alongside every member of our team is a much better strategy for creating change than spreading insular, us vs them ideas.
We aren't helpless here; we can change our own behavior to address this issue. Here's what's been most effective for me: taking notes. It's a simple but powerful technique. A solid set of notes enables us to change contexts with confidence, knowing that returning to a previous context will be easy.
Because of the time/effort it takes to gain, well, context on a certain task, context switching is hard. Human brains have limited capacity for remembering things like "What line was it that was causing that exception?" or "Which features were most important in the last training of this model?". Conveniently, computers are great at this kind of thing.
While I started taking notes to avoid keeping too much state in my brain, I have realized a couple other benefits:
So how do we take good notes? Here's what works for me. Each project gets a document. While working on the project, I append things:
This is a fractal process, so I find it useful to use bulleted lists with multiple levels.
The particular medium we use for this isn't important. I use OneNote (because its free tier offers everything I need), but there are a slew of other products you can use. Digital note apps are convenient because they sync across devices, but you could also use plaintext documents, paper notebooks, or even a whiteboard if you prefer.
You may think that creating this set of notes is more trouble than it's worth. What surprised me when I started doing this was that writing down my progress ended up being fairly easy. All in all, it beats the heck out of losing your place because someone interrupts you.
Of course, this isn't a panacea. Being interrupted still can cause us to lose track of things we haven't quite written down yet. And we do have to build the habit of making good notes. But the costs are worth it.
A written log of work gives us confidence that we can execute on our projects. Because we track state for each project, we can stop worrying about forgetting something valuable. Every time we step up to a task, we have a helpful record of what our goal is and the ways we've tried to achieve it. We free up space in our brain for more useful tasks.
A five minute meeting doesn't have to ruin your productivity. By letting computers do what they're good at, we free our brains to do the difficult, valuable intellectual work that most fulfills us. Take notes as you work–it's your new superpower.