Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Exploring the Causes of Frustration for Software Developers

606 views

Published on

Presented at ICSE CHASE 2015

Paper can be found online inproceedings and linked from http://denaeford.me

Published in: Software
  • Be the first to comment

Exploring the Causes of Frustration for Software Developers

  1. 1. Exploring Causes of Frustration for Software Developers Denae Ford and Dr. Chris Parnin North Carolina State University @denaeford
  2. 2. 2 How many of you get frustrated? When is the last time you were frustrated?
  3. 3. 3 Source: http://goo.gl/v0CMhN Source: http://goo.gl/rUaoYb Source: http://goo.gl/4ju26f Source: http://goo.gl/UArPjK
  4. 4. 4 Source: http://goo.gl/PIVv28
  5. 5. 5 Frustration is… “An interference with the occurrence of an instigated goal- response at its proper time in the behavior sequence” (Dollard, 1939) An obstacle encountered in pursuit of an expected goal.
  6. 6. 6 Athletes do this because they want to. Source: http://goo.gl/ES9pfx
  7. 7. 7 Background • Frustration in other fields leads to low retention(Garner, 2010) • Tools for detecting frustration(Rodrigo, 2009) • Affects engagement and negative learning outcomes for developers in the classroom (Grafsgaard, 2013; Hansen, 2007) • Outlined the landscape of frustration aside from memoirs(Eisenstadt, 1997)
  8. 8. 8 Survey Asked developers to fill out a 16-question survey Ranked severity of frustrating programming tasks on Likert scale Open card sort on one question: When is the last time you were frustrated?
  9. 9. 9 Participant Pool Participants recruited through CS Forums and mailing lists 45 Self- Identified developers 23 Students 12 Industry employees 10 Both Industry and Student
  10. 10. 10 11 Causes 1. Mapping Behavior 2. Programming Tools 3. Size 4. New Project Adjustment 5. Unavailability of Resources 6. Programming Experience 1. Simple Problem 2. Fear of Failure 3. Internal Hurdles 4. Limited Time 5. Peers
  11. 11. 11 Mapping Behavior to Cause “I was frustrated when I couldn’t figure out why there was a random gap of space on my website...”
  12. 12. 12 New Project Adjustment “I was trying to set up some software for a study I’m working on. I expected some configuration obstacles, but I became frustrated...”
  13. 13. 13 Unavailability of Resources “The server I needed for my files was not letting me log in and the only person who could fix it was too busy working on something else.”
  14. 14. 14 How did you deal with that frustration?
  15. 15. 15 New Norm Source: http://goo.gl/PThd8T “My work revolves around it, so it’s frequent...”
  16. 16. 16 What now? • Analyze coping mechanisms • Expand survey with ranking questionnaire • Multipliers: determine which causes occur in combination with others • Encourage tools to monitor frustration for developers
  17. 17. Problem Space
  18. 18. 18 Contact Info Denae Ford North Carolina State University http://denaeford.me http://www.buzzfeed.com/dford3/11-signs-of-a-frustrate-programmer-197vz dford3@ncsu.edu @DenaeFord
  19. 19. MORE CAUSES OF FRUSTRATION The following slides were not included in original presentation but cover other causes.
  20. 20. 20 Programming Tools “I’ve been trying to transition to using an IDE I never have before...”
  21. 21. 21 Size 1) Large goal spaces, high cognitive complexity: Where do I begin? 2) Gulf of completion: I’ve come a long way but there is a little thing blocking me 3) Large artifacts: There’s so much to understand.
  22. 22. 22 Simple Problem “Inability to code something that I know should be simple.”
  23. 23. 23 Programming Experience “I had to code something in Perl and I didn’t know the language syntax.”
  24. 24. 24 Fear of Failure “It builds a strong sense of anxiety. I feel like I may not solve the issue...”
  25. 25. 25 Internal Hurdles “The problem that I faced with frustration is I tend to procrastinate...”
  26. 26. 26 Limited Time “I had to deal with an ambitious project in a limited time frame.”
  27. 27. 27 Peers “Peers were terrible programmers, less experienced, and refused to use libraries/patterns to make things easier... ”

×