ABSTRACT
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.
- Zahra Shakeri Hossein Abad, Guenther Ruhe, and Mike Bauer. 2017. Task Interruptions in Requirements Engineering: Reality versus Perceptions!. In Requirements Engineering Conference (RE), 2017 IEEE 25th International. IEEE, 6--15.Google Scholar
- Zahra Shakeri Hossein Abad, Mohammad Noaeen, Didar Zowghi, Behrouz H. Far, and Ken Barker. 2018. Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption. In Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering (EASE'18). ACM. Google ScholarDigital Library
- Zahra Shakeri Hossein Abad, Guenther Ruhe, and Mike Bauer. 2017. Understanding Task Interruptions in Service Oriented Software Development Projects: An Exploratory Study. In Proceedings of the 4th International Workshop on Software Engineering Research and Industrial Practice (SER&IP '17). IEEE Press, 34--40. Google ScholarDigital Library
- Zahra Shakeri Hossein Abad, Alex Shymka, Jenny Le, Noor Hammad, and Guenther Ruhe. 2017. A Visual Narrative Path from Switching to Resuming a Requirements Engineering Task. In Requirements Engineering Conference (RE), 2017 IEEE 25th International. IEEE, 442--447.Google Scholar
- Rachel F. Adler and Raquel Benbunan-Fich. 2013. Self-interruptions in Discretionary Multitasking. Computers in Human Behavior 29, 4 (2013), 1441--1449. Google ScholarDigital Library
- Erik M Altmann and J Gregory Trafton. 2002. Memory for Goals: An Activation-based Model. Cognitive science 26, 1 (2002), 39--83.Google Scholar
- John R Anderson. 1990. Cognitive Psychology and Its Implications. WH Freeman/Times Books/Henry Holt & Co.Google Scholar
- John R Anderson and Christian J Lebiere. 2014. The Atomic Components of Thought. Psychology Press.Google Scholar
- Jelmer P Borst, Niels A Taatgen, and Hedderik van Rijn. 2010. The Problem State: A Cognitive Bottleneck in Multitasking. Journal of Experimental Psychology: Learning, Memory, and Cognition 36, 2 (2010), 363.Google ScholarCross Ref
- Jelmer P. Borst, Niels A. Taatgen, and Hedderik van Rijn. 2015. What Makes Interruptions Disruptive?: A Process-Model Account of the Effects of the Problem State Bottleneck on Task Interruption and Resumption. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI '15). ACM, 2971--2980. Google ScholarDigital Library
- Jan Chong and Rosanne Siino. 2006. Interruptions on software teams: a comparison of paired and solo programmers. In Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work. ACM, 29--38. Google ScholarDigital Library
- Sten Erik Clausen. 1998. Applied Correspondence Analysis: An Introduction. Vol. 121. Sage.Google Scholar
- Luis C Cruz, Heider Sanchez, Víctor M González, and Romain Robbes. 2017. Work fragmentation in developer interaction data. Journal of Software: Evolution and Process 29, 3(2017).Google ScholarCross Ref
- Mary Czerwinski, Edward Cutrell, and Eric Horvitz. 2000. Instant messaging: Effects of relevance and timing. In People and computers XIV: Proceedings of HCI, Vol. 2. 71--76.Google Scholar
- Rico Fischer and Franziska Plessow. 2015. Efficient multitasking: parallel versus serial processing of multiple tasks. Frontiers in psychology 6 (2015).Google Scholar
- Victor M. González and Gloria Mark. 2004. Constant, Constant, Multi-tasking Craziness: Managing Multiple Working Spheres. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '04). ACM, 113--120. Google ScholarDigital Library
- Ioanna Katidioti, Jelmer P. Borst, Marieke K. van Vugt, and Niels A. Taatgen. 2016. Interrupt me: External Interruptions are Less Disruptive Than Self-interruptions. Computers in Human Behavior 63, Supplement C (2016), 906--915. Google ScholarDigital Library
- Andrew J Ko, Robert DeLine, and Gina Venolia. 2007. Information needs in collocated software development teams. In Software Engineering, 2007. ICSE 2007. 29th International Conference on. IEEE, 344--353. Google ScholarDigital Library
- J Richard Landis and Gary G Koch. 1977. The Measurement of Observer Agreement for Categorical Data. biometrics (1977), 159--174.Google Scholar
- Gloria Mark, Victor M. Gonzalez, and Justin Harris. 2005. No Task Let Behind?: Examining the Nature of Fragmented Work. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '05). ACM, 321--330. Google ScholarDigital Library
- Daniel C. McFarlane and Kara A. Latorella. 2002. The Scope and Importance of Human Interruption inHuman-computer Interaction Design. Hum.-Comput. Interact. 17, 1 (2002), 1--61. Google ScholarDigital Library
- A. N. Meyer, L. E. Barton, G. C. Murphy, T. Zimmermann, and T. Fritz. 2017. The Work Life of Developers: Activities, Switches and Perceived Productivity. IEEE Transactions on Software Engineering PP, 99 (2017), 1--1. Google ScholarDigital Library
- Andre N Meyer, Laura E Barton, Gail C Murphy, Thomas Zimmermann, and Thomas Fritz. 2017. The Work Life of Developers: Activities, Switches and Perceived Productivity. IEEE Transactions on Software Engineering (2017). Google ScholarDigital Library
- André N. Meyer, Thomas Fritz, Gail C. Murphy, and Thomas Zimmermann. 2014. Software Developers' Perceptions of Productivity. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014). ACM, 19--29. Google ScholarDigital Library
- Christopher A Monk, Deborah A Boehm-Davis, and J Gregory Trafton. 2002. The Attentional Costs of Interrupting Task Performance at Various Stages. In Proceedings of the human factors and ergonomics society annual meeting, Vol. 46. SAGE Publications Sage CA: Los Angeles, CA, 1824--1828.Google ScholarCross Ref
- Michael Boyer O'leary, Mark Mortensen, and Anita Williams Woolley. 2011. Multiple team membership: A theoretical model of its effects on productivity and learning for individuals and teams. Academy of Management Review 36, 3 (2011), 461--478.Google ScholarCross Ref
- Chris Parnin. 2010. A Cognitive Neuroscience Perspective on Memory for Programming Tasks. In In the Proceedings of the 22nd Annual Meeting of the Psychology of Programming Interest Group (PPIG).Google Scholar
- Chris Parnin and Spencer Rugaber. 2011. Resumption Strategies for Interrupted Programming Tasks. Software Quality Journal 19, 1 (2011), 5--34. Google ScholarDigital Library
- John Rieman. 1993. The Diary Study: A Workplace-oriented Research Tool to Guide Laboratory Eforts. In Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems (CHI '93). ACM, 321--326. Google ScholarDigital Library
- Dario D Salvucci and Niels A Taatgen. 2010. The Multitasking Mind. Oxford University Press.Google Scholar
- Dario D. Salvucci, Niels A. Taatgen, and Jelmer P. Borst. 2009. Toward a Unified Theory of the Multitasking Continuum: From Concurrent Performance to Task Switching, Interruption, and Resumption. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '09). ACM, 1819--1828. Google ScholarDigital Library
- Gregory Schraw, Michael E Dunkle, and Lisa D Bendixen. 1995. Cognitive Processes in Well-defined and Ill-defined Problem Solving. Applied Cognitive Psychology 9, 6 (1995), 523--538.Google ScholarCross Ref
- K. J. Stol, P. Ralph, and B. Fitzgerald. 2016. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). 120--131. Google ScholarDigital Library
- John Sweller. 1988. Cognitive Load During Problem Solving: Effects on Learning. Cognitive science 12, 2 (1988), 257--285.Google Scholar
- Alexey Tregubov, Barry Boehm, Natalia Rodchenko, and Jo Ann Lane. 2017. Impact of Task Switching and Work Interruptions on Software Development Processes. In Proceedings of the 2017 International Conference on Software and System Process (ICSSP 2017). ACM, 134--138. Google ScholarDigital Library
- B. Vasilescu, K. Blincoe, Q. Xuan, C. Casalnuovo, D. Damian, P. Devanbu, and V. Filkov. 2016. The Sky Is Not the Limit: Multitasking Across GitHub Projects. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). 994--1005. Google ScholarDigital Library
Recommendations
Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption
EASE '18: Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018In the constantly evolving world of software development, switching back and forth between tasks has become the norm. While task switching often allows developers to perform tasks effectively and may increase creativity via the flexible pathway, there ...
A diary study of task switching and interruptions
CHI '04: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsWe report on a diary study of the activities of information workers aimed at characterizing how people interleave multiple tasks amidst interruptions. The week-long study revealed the type and complexity of activities performed, the nature of the ...
Preparing to resume an interrupted task: effects of prospective goal encoding and retrospective rehearsal
Notification user interfacesWe examine people's strategic cognitive responses to being interrupted while performing a task. Based on memory theory, we propose that resumption of a task after interruption is facilitated by preparation during the interruption lag, or the interval ...
Comments