We’ve all experienced the “quick question” ping that breaks our concentration and completely derails our work. Not only is it annoying, but it turns out these innocent questions can be detrimental to productivity, work quality, and well-being. Even though there are times when interruptions can be pivotal to unblocking colleagues, it’s important to maintain a balance so they don’t slow your organization down.
The need for interruption-free work is especially true for developers, who need ample time to focus on solving tough problems. That’s why we built our Chat Interruptions feature to help organizations monitor their messaging trends to make sure they aren’t getting in the way of work. For this Q&A, we sat down with Anne Sallaska, the brains behind this feature, to discuss recent upgrades to the model that powers the metric and how Uplevel users can make the most of one of our favorite features.
Can you give us a high-level overview of the Chat Interruptions feature? Why is it important and how does it tie into other key Uplevel metrics?
To understand Chat Interruptions, we first need to talk about Deep Work, another Uplevel metric. Deep Work essentially measures time available to focus. We derive this information from calendar data and look for open blocks or scheduled focus time of two hours or more. Our Chat Interruptions feature monitors the messaging activity during those blocks to see how often a developer is pulled in different directions. It also measures interruptions during other times of less deep focus, though those interruptions are probably less detrimental to developer productivity.
The interruption calculation is actually a pretty simple one if you have already defined what messages consist of a single “conversation.” That is where the real complexity and compute power enters. In a given chat channel, any number of conversations may be going on simultaneously and will have messages that are interspersed temporally with other conversations. Dissecting which message belongs to each conversation is a big challenge from an algorithmic perspective. Think about an in-depth conversation going on in a channel with multiple participants and, right in the middle of it, a scheduled announcement message gets posted that’s unrelated to the current topic. Humans reading messages may be able to easily identify which messages belong to which conversation, but teaching a computer to do that on its own is not easy.
However, after conversation blocks are determined, the interruption calculation proceeds naturally. If someone else is chatting in a given conversation and you respond within a certain amount of time, that counts as an interruption for you (but not for the other person). Short messages and conversations count as less of an interruption when compared to long messages with a lot of back and forth. Based on this data, we’re able to estimate the amount of time developers are interrupted and how much it impacted their focus time.
We built the Chat Interruptions feature because we wanted to give organizations a way to quantify this issue. By doing so, they become aware of how much interruptions can impact developer productivity, helping them set goals and implement practices to mitigate the issue.
Tell us more about these new updates. What are you most excited about?
The first version of this model was a simple set of heuristics to identify messages that belong to a conversation and did not include any machine learning models. No organization uses Slack perfectly, as many of us know. Though we only get actual message content from public channels, Uplevel redacts private channel and DM message text entirely, so we had to build a new method to understand conversation patterns with just metadata, such as timestamps and message author. This version’s upgrades include two machine learning models backed by a rules engine to help define conversations and identify them more accurately, which is awesome for our users. No model will ever be 100% accurate, but this version helps us get closer to that goal.
How can Uplevel users take full advantage of this feature?
The first step is to understand their baseline. By taking a look at their data, they can see where they currently stand and what their trend over time is. Every organization is unique, so there isn’t one “right” number that works for everyone. It is important to get feedback from developers to see how they’re feeling to find the right sweet spot when it comes to messaging, before it causes diminishing returns. I would emphasize that having zero interruptions is bad, as some are really necessary to help unblock colleagues and improve the workflow of the organization as a whole. If they want to improve their Slack interruptions, they should set goals, implement changes, and track their progress. Continue having an open dialogue about this with the goal of continuous improvement in mind.
How do you and your team use this feature to maximize productivity?
At Uplevel, we check in to see how Slack is impacting our productivity. Especially since we’re growing quickly, we want to make sure that we don’t let practices that worked when we were half our size impact our productivity as we hire more and more folks. Some of us even prefix some messages with certain emoticons to give an indicator of message priority. It’s an org-wide initiative to make sure we have a culture where we’re able to block out the time we need for ourselves to get our work done. If something spikes, we look into it and talk about the root cause and fix it if we need to. Having this data helps us all stay on the same page.
Uplevel is an engineering intelligence platform to help tech leaders meet commitments, deliver value, and maximize team health.