Task Interruption in Software Development Projects: What Makes some Interruptions More Disruptive than Others?

Multitasking has always been an inherent part of software development and is known as the primary source of interruptions due to task switching in software development teams. Developing software involves a mix of analytical and creative work, and requires a significant load on brain functions, such as working memory and decision making. Thus, task switching in the context of software development imposes a cognitive load that causes software developers to lose focus and concentration while working thereby taking a toll on productivity. To investigate the disruptiveness of task switching and interruptions in software development projects, and to understand the reasons for and perceptions of the disruptiveness of task switching we used a mixed-methods approach including a longitudinal data analysis on 4,910 recorded tasks of 17 professional software developers, and a survey of 132 software developers. We found that, compared to task-specific factors (e.g. priority, level, and temporal stage), contextual factors such as interruption type (e.g. self/external), time of day, and task type and context are a more potent determinant of task switching disruptiveness in software development tasks. Furthermore, while most survey respondents believe external interruptions are more disruptive than self-interruptions, the results of our retrospective analysis reveals otherwise. We found that self-interruptions (i.e. voluntary task switchings) are more disruptive than external interruptions and have a negative effect on the performance of the interrupted tasks. Finally, we use the results of both studies to provide a set of comparative vulnerability and interaction patterns which can be used as a mean to guide decision-making and forecasting the consequences of task switching in software development teams.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/15/2018

Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption

In the constantly evolving world of software development, switching back...
research
06/22/2020

Multitasking Across Industry Projects: A Replication Study

Background: Multitasking is usual in software development. It is the abi...
research
01/17/2020

Predictability limit of partially observed systems

Applications from finance to epidemiology and cyber-security require acc...
research
04/16/2021

Exploring software developers' work practices: Task differences, participation, engagement, and speed of task resolution

In seeking to understand the processes enacted during software developme...
research
04/15/2022

Investigating the Impact of Forgetting in Software Development

Context: Forgetting is defined as a gradual process of losing informatio...
research
03/04/2021

Secure Software Development in the Era of Fluid Multi-party Open Software and Services

Pushed by market forces, software development has become fast-paced. As ...
research
02/10/2021

A Cognitive and Machine Learning-Based Software Development Paradigm Supported by Context

Advances in the use of cognitive and machine learning (ML) enabled syste...

Please sign up or login with your details

Forgot password? Click here to reset