Software Development: Productivity and Context switching

Mayumi Nishimoto
6 min readMay 18, 2020

--

Should work environments minimise less context switching in different knowledge domains to promote better team performance?

Photo by Lysander Yuen on Unsplash

Recently I interviewed someone to replace me in my previous QA position. This person indicated that they won an end-of-the-year company prize for being a great multi-tasker. This could be a good trait for this role since QAs in this team are normally part of concurrent projects, requiring Adhoc knowledge in different domains. There was nothing too odd about that, except that a week after I transitioned to a new role within the same company I was invited to participate in a workshop where the existing teams were going to be self-organised into groups responsible for specific domain areas.

One of the aims of this exercise was to reduce context switching within different knowledge arenas and therefore lessen the cognitive load required to process distinct information at the same time. Another outcome of this new team structure was to enable individuals to focus deeply on specific hard to master (cognitive) skills on business and technical areas.

These two experiences, where teams both within the same company were fostering opposite outcomes made me wonder about the impact of context switching in team productivity and the implications of motivating employees to work in different domain areas, requiring breadth rather than depth of knowledge. Moreover, it made me question the reason some teams or even some companies reward employees for doing several tasks in parallel, encouraging context switching, while others would structure their teams in a way that would minimize all of that.

Are multitasking and context switching positive?

Before discussing the consequences of context switching, I would like to consider some of the reasons juggling among different activities can be perceived as something positive. You might have a longer list, but I came up with the following, maybe multitasking and the ability to pick-up tasks in a broad field of knowledge is perceived as a better way to utilise one’s time or as an ability to complete more than one task in the same period as someone else completing a single task. Maybe it could prove that someone is apt to do work in different domains and display a diverse range of skills. Or moreover, it could show better use of someone’s skills in their capacity to provide different services in miscellaneous areas of expertise.

All these reasons may sound valid and if we also take into consideration today’s world of distractions and current demands — meetings, deadlines, slack messages, emails, some requiring more or less immediate action at the same time — multitasking and context switching seems to be almost unavoidable. Yet, what are the real implications of context switching in different knowledge domains?

Despite being an essential and at moments important human skill, context switching can corrode attention and prevent focus. Both of which seem to be intimately related to the ability to resolve complex problems.

Attention

The act of switching between two tasks can create what Sophie Leroy, a professor at New York University, calls attention residue. Attention residue is a situation where your attention is still engaged in the previous task when performing a current task. It is having two tasks occupying a limited cognitive space and processing system, which is the human brain.

Some people seem to be better than others in switching seamlessly between two unrelated activities, but what her studies concluded is that people might find it hard to disengage their attention from their previous task — mainly because we are seeking cognitive closure and that sense of achievement that completing an activity gives us.

The fact that we have limited cognitive resources — such as memory and capacity to process information — combined with our motivation to complete unfinished tasks can compromise performance and quality of concentration dedicated to the current activity. This difficulty could potentially be enhanced when switching tasks in different domains — that is why limiting the number of knowledge domains a team has to navigate to complete a task could be a good way to minimise the effects of attention residue and therefore, improve team performance.

Focus

Context switching can also have an impact on focus and the ability to concentrate on hard to master cognitive skills. Cal Newport argues in his book Deep Work that focus is indispensable in trying to learn hard and complex skills. He mentions an interesting study in neuroscience that correlates people’s performance on hard tasks and the quantity of myelin — a fatty substance surrounding the neurons — in the human brain. The more myelin you develop around the relevant neurons the more effective and effortless the corresponding circuit will respond to your call.

According to this study, one way to promote the production of myelin is by focusing intensely on a specific skill. The more you focus intensely on a specific skill the more you exercise specific neural circuits paths that will cement this skill. The reason lies in that repetitive use of specific circuits that will stimulate the production of myelin in that area. It might be useful to think of this recurrent focused work as snow sliders — the more you navigate that path, the more worn the path becomes and the quicker it is to slope down the hill.

Person sliding down a worn path of snow

Developing this ability to focus intensely without distraction seems to be crucial in mastering increasingly complex systems. This is especially important in the context of software and technology where teams are required to learn hard things quickly to resolve complex problems. Therefore, working in a work environment that promotes this type of focused activity is important to foster and sustain the practice of deep concentration.

Context switching in software development

Let’s consider context switching in technology companies, taking the complexity of software as an example — on a high level, considering all the systems involved, the various processes, services and building parts. Each of these services not only requires specific expertise and understanding of the business flow but they probably have code on specific domain areas stored in their repositories, requiring specific setups, dependencies and tools. It is not too rare to find that these services are each part of a distinct technology stack as well. As a consequence, working in a team that encompasses these various services will require a fair amount of context switching within areas that require complex and discrete knowledge.

A developer working in this elaborate network of inter-related systems probably has to pick up tasks from all these services. They likely spend a great amount of time just setting-up, understanding who to ask questions, adjusting to the new code base and familiarising with the current business flow. This precious time could have been used in going deeper on a subject, either debugging a difficult problem or understanding and resolving a business-critical issue. Apart from that, switching between tasks that belong to different cognitive domains could be a stressful and demotivating exercise, since it requires change, adjustment and that the individual starts all over from the beginning.

Summary

This recent experience where I encountered different perspectives about context switching and multitasking made me realise that it is important to be aware of how human attention and focus can work. This awareness is vital when making informed decisions on how individuals and teams should be structured. For example, are teams responsible for tasks that are within areas that require interconnected pieces of knowledge or do individuals have to frequently switch from one solution in one expertise area to the other? These are important questions we could ask if we want teams to perform at optimum performance.

After this reflection, I concluded that software development teams that operate within a work environment that promotes less context switching and are responsible for closely related knowledge domain areas could indeed be more productive, happier and more effective than the others. In this case, management plays an important role in influence the structuring of these teams, so much so that individuals are safeguarded by having to deal with heavy cognitive loads. It will be interesting to observe how this new team under this management will perform over time.

--

--

Mayumi Nishimoto

Software Engineer in tireless pursuit of improving my craft and in a journey to learn by sharing with the community.