RDEL #28: What type of interruptions impact developer productivity most?
This week we evaluate what types of interruptions disrupt developer flow most, as well as what tasks are most vulnerable to task-switching.
Welcome back to Research-Driven Engineering Leadership. Each week, we pose an interesting topic in engineering leadership, and apply the latest research in the field to drive to an answer.
Interruptions are omnipresent in the workforce, especially on distributed teams where teams are collaborating both in person and online. Though it’s impossible to avoid interruptions, they can also have a pretty remarkable impact on productivity, especially for software engineers. This week, we dig into that impact and ask: what types of interruptions impact developer productivity most?
The context
The role of software engineering requires a balance between time to focus on a single, challenging task and time to switch contexts between other tasks. Achieving developer “flow”, or deep focus, has emerged as one of the key factors to achieving productivity.
Achieving developer flow is not easy, especially with so many potential interruptions that come as a natural side-effect of the tools developers use for work. For example, it’s not uncommon for engineers to switch between a browser tab, a terminal, an IDE, and a communication tool all within 30 seconds as part of their normal working process. Interruptions can come in the form of external interruptions or self-interruptions. To better-understand how interruptions impact software engineers, we ask: which types of interruptions are most impactful for developer productivity?
The research
Researchers at the University of Calgary studied the various types of task interruptions in software engineering using a mixed-methods approach that included a longitudinal data analysis of almost 5,000 tasks as well as a survey of 132 software engineers. They used this research to understand what characteristics of interruptions have the biggest impact on developer tasks and which tasks are more vulnerable to interruptions.
The research showed that:
Self-interruptions (ie voluntary task switching) are more disruptive than external interruptions.
Interestingly, in surveys, developers self-reported that they believed external interruptions are more disruptive than self-interruptions. However the analysis from the longitudinal study found that self-interruptions was more disruptive in practice.
In general, compared to task-specific factors (ie priority or level), contextual factors such as interruption type (self vs external) or time of day were a stronger determinant of how disruptive an interruption might be.
Switching between programming and testing tasks, compared to other development tasks, makes developers more vulnerable to task-switching and interruptions.
The application
This paper offers an interesting perspective on how different interruptions impact software engineering productivity. Achieving consistent focus time happens with a combination of the right external factors, as well as the right cognitive state.
In order to reduce the impact of interruptions, consider these steps:
For reducing self-interruptions, limit the amount of work-in-progress. Carrying context on multiple tasks increases cognitive load, which increases the risk of interruptions. By focusing on getting a smaller number of tasks to completion, developers can more easily achieve their tasks without interruptions.
For reducing external interruptions, be mindful of asynchronous communication. Even though external factors are less impactful than self-interruptions, developers still need to have long stretches of uninterrupted time in order to achieve tasks. While meetings are more “scheduled” in nature, frequent collaboration through tools like Slack can contribute to constant interruptions from a developers work. This can be mitigated by creating time for developers to be deliberately unavailable, so they can focus without worrying about blocking others.
—
Wishing y’all a focused, impactful week this week. Happy Research Monday!
Lizzie
From the Quotient team