Impact of task switching and work interruptions on software development processes
Reviewed by Greg Wilson / 2021-09-19
Last month's review of Abad2018 proved quite popular, so we decided to look at another study of the effect of interruptions on programmers' productivity. Unsurprisingly, Tregubov2017 found a moderately strong correlation between the number of projects someone is working on and the frequency with which they are interrupted. What was surprising was that working on more projects didn't correlate with cross-project interrupts, so it's possible that organizations that require people to multitask are simply more interrupt-prone. (Note that students are typically required to timeslice five simultaneous courses; given that the frequency of interruptions correlates negatively with productivity, it's not surprising that they often feel overwhelmed.) Finally, the authors did not find support for Weinberg's heuristic that predicts a 100% increase in multitasking overhead for every addition project, which means I need to take that out of my lecture notes…
Tregubov2017 Alexey Tregubov, Barry Boehm, Natalia Rodchenko, and Jo Ann Lane: "Impact of task switching and work interruptions on software development processes". Proceedings of the 2017 International Conference on Software and System Process, 10.1145/3084100.3084116.
Software developers often work on multiple projects and tasks throughout a work day, which may affect their productivity and quality of work. Knowing how working on several projects at a time affects productivity can improve cost and schedule estimations. It also can provide additional insights for better work scheduling and the development process. We want to achieve a better productivity without losing the benefits of work interruptions and multitasking for developers involved in the process. To understand how the development process can be improved, first, we identify work interruptions that mostly have a negative effect on productivity, second, we need to quantitatively evaluate impact of multitasking (task switching, work context switching) and work interruptions on productivity. In this research we study cross-project multitasking among the developers working on multiple projects in an educational setting. We propose a way to evaluate the number of cross-project interruptions among software developers using self-reported work logs. This paper describes the research that found: a) software developers involved in two or more projects on average spend 17% of their development effort on cross-project interruptions, b) the amount of effort spent on interruptions is overestimated by the G. Weinberg's heuristic, c) the correlation between the number of projects and effort spent by developers on cross-project interruptions is relatively weak, and d) there is strong correlation between the number of projects and the number of interruptions developers reported.