2018 · 27 citations · 27 references
Software MaintenanceSoftware Development TeamsEngineeringProject ManagementTask InterruptionTask AnalysisSoftware EngineeringSoftware AnalysisOrganizational BehaviorSoftware PracticeWorkload CharacterizationSoftware Development ProjectsSoftware Project ManagementCognitive ScienceBehavioral SciencesTask PerformanceDesignUser ExperienceSoftware DesignCognitive ErgonomicsSoftware DevelopmentSoftware TestingWork-related StressSoftware ManagementBusinessHuman-computer InteractionTechnology
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.
27
The Measurement of Observer Agreement for Categorical Data
J. Richard Landis, Gary G. Koch · Biometrics · 1977 · 76.3K citations · Full text
Cognitive Load During Problem Solving: Effects on Learning
John Sweller · Cognitive Science · 1988 · 7.6K citations · Full text
"Constant, constant, multi-tasking craziness"
Víctor M. González, Gloria Mark · 2004 · 687 citations
Memory for goals: an activation-based model
Erik M. Altmann · Cognitive Science · 2002 · 594 citations