Skip to main content
Top
Published in: Empirical Software Engineering 7/2022

01-12-2022

Sources of software development task friction

Authors: Nick C. Bradley, Thomas Fritz, Reid Holmes

Published in: Empirical Software Engineering | Issue 7/2022

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Given a task description, a developer’s job is to alter the software system in a way that accomplishes the task, usually by fixing a bug or adding a new feature. Completing these tasks typically requires developers to use multiple tools, spanning multiple applications, within their environment. In this paper, we investigate how existing desktop environments align with and facilitate developers’ needs as they tackle their tasks. We examine how developers use their tools to perform their tasks and the ways in which these tools inhibit development velocity. Through a controlled user study with 17 subjects and a field study with 10 industrial engineers, we found that developers frequently formulate specific objectives, or goals, on-demand as they encounter new information when progressing through their tasks. These goals are often not achievable directly in the environment, forcing developers to translate their task into goals and their goals into the low-level actions provided by the environment. When carrying out these low-level actions, developers routinely perform extra work such as locating and integrating resources and adapting their needs to align with the capabilities of the environment. This extra work acts as a form of friction, limiting how quickly and directly developers can complete their tasks. Much of this extra work exists due to mismatches between current tools and environments and how developers actually work in practice. This work identifies seven types of development friction and provides design recommendations that future tools and environments could use to more effectively help developers complete their tasks.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Footnotes
2
We label the people evaluated in the controlled study participants (P1..P17) and those from the field study subjects (S1..S10) throughout the paper.
 
5
Including the IDE-integrated shell.
 
Literature
go back to reference Beller M, Gousios G, Panichella A, Zaidman A (2015) When, how, and why developers (do not) test in their IDEs. In: Proceedings of the joint meeting on European software engineering conference and the symposium on the foundations of software engineering (ESEC/FSE). https://doi.org/10.1145/2786805.2786843, pp 179–190 Beller M, Gousios G, Panichella A, Zaidman A (2015) When, how, and why developers (do not) test in their IDEs. In: Proceedings of the joint meeting on European software engineering conference and the symposium on the foundations of software engineering (ESEC/FSE). https://​doi.​org/​10.​1145/​2786805.​2786843, pp 179–190
go back to reference Bragdon A, Zeleznik R, Reiss S P, Karumuri S, Cheung W, Kaplan J, Coleman C, Adeputra F, LaViola J J Jr (2010) Code bubbles: a working set-based interface for code understanding and maintenance. In: Proceedings of the conference on human factors in computing systems (CHI). https://doi.org/10.1145/1753326.1753706, pp 2503–2512 Bragdon A, Zeleznik R, Reiss S P, Karumuri S, Cheung W, Kaplan J, Coleman C, Adeputra F, LaViola J J Jr (2010) Code bubbles: a working set-based interface for code understanding and maintenance. In: Proceedings of the conference on human factors in computing systems (CHI). https://​doi.​org/​10.​1145/​1753326.​1753706, pp 2503–2512
go back to reference Chattopadhyay S, Nelson N, Gonzalez Y R, Leon A A, Pandita R, Sarma A (2019) Latent patterns in activities: a field study of how developers manage context. In: Proceedings of the international conference on software engineering (ICSE). https://doi.org/10.1109/ICSE.2019.00051, pp 373–383 Chattopadhyay S, Nelson N, Gonzalez Y R, Leon A A, Pandita R, Sarma A (2019) Latent patterns in activities: a field study of how developers manage context. In: Proceedings of the international conference on software engineering (ICSE). https://​doi.​org/​10.​1109/​ICSE.​2019.​00051, pp 373–383
go back to reference Čubranić D, Murphy G C (2003) Hipikat: recommending pertinent software development artifacts. In: Proceedings of the international conference on software engineering (ICSE), pp 408–418 Čubranić D, Murphy G C (2003) Hipikat: recommending pertinent software development artifacts. In: Proceedings of the international conference on software engineering (ICSE), pp 408–418
go back to reference Dragunov A N, Dietterich T G, Johnsrude K, McLaughlin M, Li L, Herlocker J L (2005) Tasktracer: a desktop environment to support multi-tasking knowledge workers. In: Proceedings of the international conference on intelligent user interfaces (IUI). https://doi.org/10.1145/1040830.1040855, pp 75–82 Dragunov A N, Dietterich T G, Johnsrude K, McLaughlin M, Li L, Herlocker J L (2005) Tasktracer: a desktop environment to support multi-tasking knowledge workers. In: Proceedings of the international conference on intelligent user interfaces (IUI). https://​doi.​org/​10.​1145/​1040830.​1040855, pp 75–82
go back to reference Green T R (1989) Cognitive dimensions of notations. People and computers V, pp 443–460 Green T R (1989) Cognitive dimensions of notations. People and computers V, pp 443–460
go back to reference Henley A Z, Fleming S D (2014) The patchworks code editor: toward faster navigation with less code arranging and fewer navigation mistakes. In: Proceedings of the conference on human factors in computing systems (CHI). https://doi.org/10.1145/2556288.2557073, pp 2511–2520 Henley A Z, Fleming S D (2014) The patchworks code editor: toward faster navigation with less code arranging and fewer navigation mistakes. In: Proceedings of the conference on human factors in computing systems (CHI). https://​doi.​org/​10.​1145/​2556288.​2557073, pp 2511–2520
go back to reference LaToza T D, Venolia G, DeLine R (2006) Maintaining mental models: a study of developer work habits. In: Proceedings of the international conference on software engineering (ICSE), pp 492–501 LaToza T D, Venolia G, DeLine R (2006) Maintaining mental models: a study of developer work habits. In: Proceedings of the international conference on software engineering (ICSE), pp 492–501
go back to reference Pilzer J, Rosenast R, Meyer A N, Huang E M, Fritz T (2020) Supporting software developers’ focused work on window-based desktops. In: Proceedings of the conference on human factors in computing systems (CHI), pp 1–13 Pilzer J, Rosenast R, Meyer A N, Huang E M, Fritz T (2020) Supporting software developers’ focused work on window-based desktops. In: Proceedings of the conference on human factors in computing systems (CHI), pp 1–13
go back to reference Piorkowski D J, Fleming S D, Kwan I, Burnett M M, Scaffidi C, Bellamy R K, Jordahl J (2013) The whats and hows of programmers’ foraging diets. In: Proceedings of the conference on human factors in computing systems (CHI). https://doi.org/10.1145/2470654.2466418, pp 3063–3072 Piorkowski D J, Fleming S D, Kwan I, Burnett M M, Scaffidi C, Bellamy R K, Jordahl J (2013) The whats and hows of programmers’ foraging diets. In: Proceedings of the conference on human factors in computing systems (CHI). https://​doi.​org/​10.​1145/​2470654.​2466418, pp 3063–3072
go back to reference Piorkowski D, Fleming S D, Scaffidi C, Burnett M, Kwan I, Henley A Z, Macbeth J, Hill C, Horvath A (2015) To fix or to learn? How production bias affects developers’ information foraging during debugging. In: 2015 IEEE International conference on software maintenance and evolution (ICSME). https://doi.org/10.1109/ICSM.2015.7332447, pp 11–20 Piorkowski D, Fleming S D, Scaffidi C, Burnett M, Kwan I, Henley A Z, Macbeth J, Hill C, Horvath A (2015) To fix or to learn? How production bias affects developers’ information foraging during debugging. In: 2015 IEEE International conference on software maintenance and evolution (ICSME). https://​doi.​org/​10.​1109/​ICSM.​2015.​7332447, pp 11–20
go back to reference Piorkowski D, Henley A Z, Nabi T, Fleming S D, Scaffidi C, Burnett M (2016) Foraging and navigations, fundamentally: developers’ predictions of value and cost. In: Proceedings of the joint meeting on European software engineering conference and the symposium on the foundations of software engineering (ESEC/FSE). https://doi.org/10.1145/2950290.2950302, pp 97–108 Piorkowski D, Henley A Z, Nabi T, Fleming S D, Scaffidi C, Burnett M (2016) Foraging and navigations, fundamentally: developers’ predictions of value and cost. In: Proceedings of the joint meeting on European software engineering conference and the symposium on the foundations of software engineering (ESEC/FSE). https://​doi.​org/​10.​1145/​2950290.​2950302, pp 97–108
go back to reference Robertson G, Horvitz E, Czerwinski M, Baudisch P, Hutchings D R, Meyers B, Robbins D, Smith G (2004) Scalable fabric: flexible task management. In: Proceedings of the working conference on advanced visual interfaces (AVI). https://doi.org/10.1145/989863.989874, pp 85–89 Robertson G, Horvitz E, Czerwinski M, Baudisch P, Hutchings D R, Meyers B, Robbins D, Smith G (2004) Scalable fabric: flexible task management. In: Proceedings of the working conference on advanced visual interfaces (AVI). https://​doi.​org/​10.​1145/​989863.​989874, pp 85–89
go back to reference Singer J, Lethbridge T, Vinson N, Anquetil N (1997) An examination of software engineering work practices. In: Proceedings of the conference of the centre for advanced studies on collaborative research (CASCON), pp 21–36 Singer J, Lethbridge T, Vinson N, Anquetil N (1997) An examination of software engineering work practices. In: Proceedings of the conference of the centre for advanced studies on collaborative research (CASCON), pp 21–36
go back to reference Smith G, Baudisch P, Robertson G G, Czerwinski M, Meyers B R, Robbins D C, Andrews D B (2003) Groupbar: the TaskBar evolved. In: Proceedings of the Australian conference on human-computer interaction (OZCHI), vol 3, p 10 Smith G, Baudisch P, Robertson G G, Czerwinski M, Meyers B R, Robbins D C, Andrews D B (2003) Groupbar: the TaskBar evolved. In: Proceedings of the Australian conference on human-computer interaction (OZCHI), vol 3, p 10
go back to reference Strauss A, Corbin J (1994) Grounded theory methodology. In: Denzin NK, Lincoln YS (eds) Handbook of qualitative research. Sage Publications, pp 273–285 Strauss A, Corbin J (1994) Grounded theory methodology. In: Denzin NK, Lincoln YS (eds) Handbook of qualitative research. Sage Publications, pp 273–285
go back to reference Venolia G (2005) Bridges between silos: a microsoft research project Venolia G (2005) Bridges between silos: a microsoft research project
Metadata
Title
Sources of software development task friction
Authors
Nick C. Bradley
Thomas Fritz
Reid Holmes
Publication date
01-12-2022
Publisher
Springer US
Published in
Empirical Software Engineering / Issue 7/2022
Print ISSN: 1382-3256
Electronic ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-022-10187-6

Other articles of this Issue 7/2022

Empirical Software Engineering 7/2022 Go to the issue

Premium Partner