exploring the causes of frustration for software developers

27
Exploring Causes of Frustration for Software Developers Denae Ford and Dr. Chris Parnin North Carolina State University @denaeford

Upload: denae-ford

Post on 12-Aug-2015

89 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Exploring the Causes of Frustration for Software Developers

Exploring Causes of Frustration for Software Developers

Denae Ford and Dr. Chris ParninNorth Carolina State University

@denaeford

Page 2: Exploring the Causes of Frustration for Software Developers

2

How many of you get frustrated?

When is the last time you were frustrated?

Page 3: Exploring the Causes of Frustration for Software Developers

3

Source: http://goo.gl/v0CMhNSource: http://goo.gl/rUaoYb

Source: http://goo.gl/4ju26f

Source: http://goo.gl/UArPjK

Page 4: Exploring the Causes of Frustration for Software Developers

4

Source: http://goo.gl/PIVv28

Page 5: Exploring the Causes of Frustration for Software Developers

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.

Page 6: Exploring the Causes of Frustration for Software Developers

6

Athletes do this because they want to.

Source: http://goo.gl/ES9pfx

Page 7: Exploring the Causes of Frustration for Software Developers

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)

Page 8: Exploring the Causes of Frustration for Software Developers

8

SurveyAsked 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?

Page 9: Exploring the Causes of Frustration for Software Developers

9

Participant PoolParticipants recruited through CS Forums and mailing lists

45 Self- Identified developers

23 Students12 Industry employees

10 Both Industry and Student

Page 10: Exploring the Causes of Frustration for Software Developers

10

11 Causes

1. Mapping Behavior

2. Programming Tools

3. Size

4. New Project Adjustment

5. Unavailability of Resources

6. Programming Experience

7. Simple Problem

8. Fear of Failure

9. Internal Hurdles

10. Limited Time

11. Peers

Page 11: Exploring the Causes of Frustration for Software Developers

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...”

Page 12: Exploring the Causes of Frustration for Software Developers

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...”

Page 13: Exploring the Causes of Frustration for Software Developers

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.”

Page 14: Exploring the Causes of Frustration for Software Developers

14

How did you deal with that frustration?

Page 15: Exploring the Causes of Frustration for Software Developers

15

New Norm

Source: http://goo.gl/PThd8T

“My work revolves around it, so it’s frequent...”

Page 16: Exploring the Causes of Frustration for Software Developers

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

Page 17: Exploring the Causes of Frustration for Software Developers

Problem Space

Page 18: Exploring the Causes of Frustration for Software Developers

18

Contact InfoDenae FordNorth Carolina State University

http://denaeford.mehttp://www.buzzfeed.com/dford3/11-signs-of-a-frustrate-programmer-197vz

[email protected] @DenaeFord

Page 19: Exploring the Causes of Frustration for Software Developers

MORE CAUSES OF FRUSTRATION

The following slides were not included in original presentation but cover other causes.

Page 20: Exploring the Causes of Frustration for Software Developers

20

Programming Tools

“I’ve been trying to transition to using an IDE I never have before...”

Page 21: Exploring the Causes of Frustration for Software Developers

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.

Page 22: Exploring the Causes of Frustration for Software Developers

22

Simple Problem

“Inability to code something that I know should be simple.”

Page 23: Exploring the Causes of Frustration for Software Developers

23

Programming Experience

“I had to code something in Perl and I didn’t know the language syntax.”

Page 24: Exploring the Causes of Frustration for Software Developers

24

Fear of Failure

“It builds a strong sense of anxiety. I feel like I may not solve the issue...”

Page 25: Exploring the Causes of Frustration for Software Developers

25

Internal Hurdles

“The problem that I faced with frustration is I tend to procrastinate...”

Page 26: Exploring the Causes of Frustration for Software Developers

26

Limited Time

“I had to deal with an ambitious project in a limited time frame.”

Page 27: Exploring the Causes of Frustration for Software Developers

27

Peers

“Peers were terrible programmers, less experienced, and refused to use libraries/patterns to make things easier... ”