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

01.12.2022

Sources of software development task friction

verfasst von: Nick C. Bradley, Thomas Fritz, Reid Holmes

Erschienen in: Empirical Software Engineering | Ausgabe 7/2022

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Fußnoten
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.
 
Literatur
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Č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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Lawrance J, Bellamy R, Burnett M (2007) Scents in programs: does information foraging theory apply to program maintenance?. In: Proceedings of the symposium on visual languages and human-centric computing (VL/HCC). https://doi.org/10.1109/VLHCC.2007.25, pp 15–22 Lawrance J, Bellamy R, Burnett M (2007) Scents in programs: does information foraging theory apply to program maintenance?. In: Proceedings of the symposium on visual languages and human-centric computing (VL/HCC). https://​doi.​org/​10.​1109/​VLHCC.​2007.​25, pp 15–22
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Venolia G (2005) Bridges between silos: a microsoft research project Venolia G (2005) Bridges between silos: a microsoft research project
Zurück zum Zitat Zhao S, Chevalier F, Ooi W T, Lee C Y, Agarwal A (2012) AutoComPaste: auto-completing text as an alternative to copy-paste. In: Proceedings of the international working conference on advanced visual interfaces (AVI). https://doi.org/10.1145/2254556.2254626, pp 365–372 Zhao S, Chevalier F, Ooi W T, Lee C Y, Agarwal A (2012) AutoComPaste: auto-completing text as an alternative to copy-paste. In: Proceedings of the international working conference on advanced visual interfaces (AVI). https://​doi.​org/​10.​1145/​2254556.​2254626, pp 365–372
Metadaten
Titel
Sources of software development task friction
verfasst von
Nick C. Bradley
Thomas Fritz
Reid Holmes
Publikationsdatum
01.12.2022
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 7/2022
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-022-10187-6

Weitere Artikel der Ausgabe 7/2022

Empirical Software Engineering 7/2022 Zur Ausgabe

Premium Partner