Improving Team Productivity by Reducing Context Switching

Improving Team Productivity by Reducing Context Switching

A challenge that many engineering teams face is project and task fragmentation. Engineers often work on multiple projects in parallel and can be severely interrupt-driven by operational issues and partner support requests. It can seem like every partner request is urgent and team members often drop everything to work on the most recent urgent request. Context switching hurts efficiency, impacting longer-term project deliverables and resulting in missed commitments. Team morale also suffers. How can we, as an engineering leaders, smooth this speed bump and help our teams improve velocity and meet project commitments?

Context Switching: Productivity Killer

Much has been written about the effect of multitasking and context switching on team productivity.  In Quality Software Management: Systems Thinking, Gerald Weinberg explains that, as with computing systems, humans often incur overhead when stopping work on one project or task and then picking it back up after addressing another project or task. Switching between projects or tasks results in operational overhead for the team member to figure out where they left things, what is still needed, etc. 

As illustrated below, an engineer with multiple tasks in multiple projects will be better served by addressing the related tasks for each project in succession, versus switching between projects. 

No alt text provided for this image

Not only is time lost when context switching, but quality is also impacted. Context switching can result in more bugs, unavailability of team members and missed tasks. Joel Spolsky explains how switching tasks can take a “really, really, really long time” because “a programmer coding at full throttle is keeping zillions of things in their head at once”. If that programmer gets distracted by other things or takes time away from the primary task, “the human brain seems to move it out of short-term RAM and swaps it out onto a backup tape where it takes forever to retrieve.”

Individual Strategies for Reducing Context Switching

Some strategies that individuals can use for reducing context switching include:

  • Favor asynchronous communication. Avoid constant monitoring and instant responses when using instant messaging (e.g. Slack) and chat apps. Resist the urge to respond to every ping, or better yet, disable notifications when you need heads-down coding or "deep work" time. Let your teammates and/or partners know you'll be away for a while.
  • Stay away from your inbox. Schedule a few times a day to triage, read, file, and trash your email messages. Avoid checking email constantly and disable desktop and phone alerts.
  • Recognize and prioritize the important vs. urgent: there will always be urgent issues that you need to handle. There are also things that are important, but not necessarily urgent. One model that has been widely adopted for prioritizing tasks is the Eisenhower Decision Matrix:
No alt text provided for this image

Tasks are organized by urgency and importance. Spend more time on the truly important tasks, prioritizing the urgent and important tasks above all else. If importance is low, delegate or delete the task.

  • Schedule focus time on your calendar. Book a conference room, grab a chair outside or in a common area, drive to the local coffee shop with free WiFi, or go home for a few hours. Plug in your headphones and open your IDE. Code! 
No alt text provided for this image

Role of Leaders in Helping Teams Reduce Context Switching

Leaders must set the tone and lead by example, as well as provide context, guidance and practices to help our teams optimize productivity. Some strategies I've employed include:

  • Practice “Context, not control”. A very important component of the Netflix Freedom & Responsibility culture is “Context, not Control”, in other words, “high performance people will do better work if they understand the context.” In practice, this means that if your team is aware of their purpose and how it aligns to the company’s and/or organization’s priorities, they will make good decisions and will accomplish great things, without a “helicopter manager” hovering over their heads and dictating everything that must be done.  When the team has the appropriate context, we trust them to make decisions that are in the best interest of Netflix. We provide team members the appropriate context around projects and priorities so that they can identify what’s most important in their queue of projects and tasks. 
  • Avoid interrupting developers!  Apply the Eisenhower Decision Matrix and if a request is not both urgent and important, make a note and let it go. Or, handle it yourself if you can.
  • Adopt an OOPS rotation. Many teams (ours included) at Netflix subscribe to the “operate what you build” approach to DevOps. We use an OOPS (Operations, On-Call and Partner Support) rotation, whereby we have one member of the team on-call for a week at a time to handle all production issues, pipeline management, partner support questions and anything else out of the ordinary that arises.  This allows the other members of the team to focus on project work and avoid interruptions and context switching. We build the OOPS week into each person’s project schedule and the intent is that no project work is done during the week that someone is on-call. If the on-call person does happen to have excess bandwidth, we try to focus on paying off technical debt and ensuring alignment across the dozen or so services that we support. 
  • Group meetings into one or two days a week.  For example, I try to schedule team meetings, sprint retrospectives, sprint planning and big project meetings on Mondays and all one-on-ones on Thursdays. We have “no meeting Wednesdays” and some team members work from home. Team members may have other meetings spread throughout the week, but by grouping team meetings into one or two days, and bundling interruptions together by scheduling meetings back-to-back, they have a much better chance to find big blocks of time on their calendars for heads-down work.

What your your thoughts or experiences on context-switching and productivity? How do you help your teams reduce context-switching and maintain high productivity and morale? Join the discussion below and share how you remove roadblocks for your team.

Karen Casella is an Engineering Leader at Netflix, the world’s leading internet television network, with over 86 million members in over 190 countries streaming more than 125 million hours of content per day. Karen strongly believes that removing roadblocks is a key responsibility of any engineering leader: provide clear direction, get the heck out of the way, and let super talented engineers be wildly successful at writing beautiful, supportable, scalable, reliable, resilient code. Connect with Karen on LinkedIn or Twitter.


One company I worked for had a standing rule of "no meetings without a legitimate reason". so weekly status meetings were stopped. helped us enormously.

Why not go a step further and introduce "meeting Thursday".

Andy Bacon

Event Director/Owner at EX2 Adventures

7y

Great post! The last company I worked with had "no meeting Thursdays" and it was heaven.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics