Are Happy Developers more Productive The Correlation of

  • Slides: 52
Download presentation
Are Happy Developers more Productive? The Correlation of Affective States of Software Developers and

Are Happy Developers more Productive? The Correlation of Affective States of Software Developers and their self-assessed Productivity Daniel Graziotin, Xiaofeng Wang, Pekka Abrahamsson Free University of Bozen-Bolzano PROFES 2013, 12 -14 June, Paphos, Cyprus 1

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design,

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design, Analysis Method Results Descriptive Statistics, Hypotheses Testing Discussion Implications, Limitations, Future Studies 1 2 3 4 5 2

To improve Software Productivity and Quality, focus on people (Boehm, 1990) 3

To improve Software Productivity and Quality, focus on people (Boehm, 1990) 3

“People trump Process” (Cockburn & Highsmith, 2001) 4

“People trump Process” (Cockburn & Highsmith, 2001) 4

How to verify this claim? 5

How to verify this claim? 5

How to focus on people in SE Research? Picture Credits 6

How to focus on people in SE Research? Picture Credits 6

Little is known on the productivity of individual programmers (Scacchi, 1995) Picture Credits 7

Little is known on the productivity of individual programmers (Scacchi, 1995) Picture Credits 7

Human Factors, multidisciplinary Intellectual Activities Picture Credits 8

Human Factors, multidisciplinary Intellectual Activities Picture Credits 8

Software Development is Cognitive (Khan et al. , 2010) Picture Credits 9

Software Development is Cognitive (Khan et al. , 2010) Picture Credits 9

Affective States Emotions, Moods, Feelings Management and Psychology Influence on: • cognitive activities •

Affective States Emotions, Moods, Feelings Management and Psychology Influence on: • cognitive activities • working behaviors • Productivity (Ashkanaasy et al. , 2002; Fisher et al. , 2004; Ilies et al. , 2002; Miner et al. , 2010) Picture Credits 10

Software Engineering Empirical studies should. . collect psychometrics (Feldt et al. , 2008) .

Software Engineering Empirical studies should. . collect psychometrics (Feldt et al. , 2008) . . focus on Affective States of Software Developers (Shaw, 2004 & Khan, 2010) Picture Credits 11

Research Question ‣ How do the affective states related to a software development task

Research Question ‣ How do the affective states related to a software development task in foci influence the self-assessed productivity of developers? 12

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design,

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design, Analysis Method Results Descriptive Statistics, Hypotheses Testing Discussion Implications, Limitations, Future Studies 1 2 3 4 5 13

Background Theory Defining Affective States ‣ Emotions • states of mind raised by external

Background Theory Defining Affective States ‣ Emotions • states of mind raised by external stimuli, directed toward the stimulus by which they are raised (Plutchik et al. , 1980) ‣ Moods • individual feels “good” or “bad”; “likes” or “dislikes” what is happening around (Parkinson et al. , 1996) ‣ No agreement in literature ‣ Affective States: umbrella term 14

Background Theory Affective States and their Impact on Workers ‣ Real-time positive Affective States

Background Theory Affective States and their Impact on Workers ‣ Real-time positive Affective States are positively correlated with real-time performance of workers (Fisher et al. , 2004) ‣ Affective States of Software Developers dramatically change during a period of 48 hours (Shaw, 2004) ‣ Positive Affective States have positive impact on software developers debugging abilities (Khan et al. , 2010) 15

Background Theory Categorize Affective States ‣ Discrete Approach (Plutchik et al. , 1980) •

Background Theory Categorize Affective States ‣ Discrete Approach (Plutchik et al. , 1980) • Basic set of unique Affective States • Example: interested, excited, guilty, upset ‣ Dimensional Approach (Russel, 1980) Major dimensions • - Valence - Arousal - Dominance 16

Background Theory Measure Affective States ‣ Questionnaires, surveys ‣ Self-assessment Manikin (SAM) (Bradley, 1994)

Background Theory Measure Affective States ‣ Questionnaires, surveys ‣ Self-assessment Manikin (SAM) (Bradley, 1994) • Assess Affective States triggered by stimulus • Pictorial (universal) • Likert-items 17

SAM - Valence 18

SAM - Valence 18

SAM - Arousal 19

SAM - Arousal 19

SAM - Dominance 20

SAM - Dominance 20

Background Theory Measure Affective States ‣ 21

Background Theory Measure Affective States ‣ 21

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design,

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design, Analysis Method Results Descriptive Statistics, Hypotheses Testing Discussion Implications, Limitations, Future Studies 1 2 3 4 5 22

Research Methodology Research Design ‣ Repeated measurements design ‣ Natural Settings ‣ Participants work

Research Methodology Research Design ‣ Repeated measurements design ‣ Natural Settings ‣ Participants work on their software project for 90 minutes ‣ Affective States and Productivity self-assessed each 10 minutes ‣ Productivity Likert item [1, 5] 23

Research Methodology Research Design Pre-task Interview Development Questionnaire Post-task Interview Researcher 24

Research Methodology Research Design Pre-task Interview Development Questionnaire Post-task Interview Researcher 24

Research Methodology Data Collection ‣ Sam and Questionnaire on tablet device ‣ 4 “taps”

Research Methodology Data Collection ‣ Sam and Questionnaire on tablet device ‣ 4 “taps” to complete the survey • Limit context switch ‣ Pre- and post-task interviews ‣ In-field observations 25

Research Methodology Analysis Procedure ‣ Repeated measurements of individuals ‣ Data Dependencies • Participant

Research Methodology Analysis Procedure ‣ Repeated measurements of individuals ‣ Data Dependencies • Participant • Time per participant ‣ Anova does not fit (Gueorguieva et al. , 2004) ‣ Linear mixed-effects models 26

Research Methodology Analysis Procedure ‣ Known Regressor s I. i. d random error terms

Research Methodology Analysis Procedure ‣ Known Regressor s I. i. d random error terms Parameter s fixed value Random variables 27

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design,

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design, Analysis Method Results Descriptive Statistics, Hypotheses Testing Discussion Implications, Limitations, Future Studies 1 2 3 4 5 28

Results Descriptive ‣ 8 Participants (mean age 23. 75) • 4 Professional Software Developers

Results Descriptive ‣ 8 Participants (mean age 23. 75) • 4 Professional Software Developers • 4 Students ‣ 8 Projects • Work-related • Course-related 29

Results Descriptive id role project task Data Module for collection for data hydrological displaying

Results Descriptive id role project task Data Module for collection for data hydrological displaying defense Research Data Script to Collection & analyze data Analysis Human Retrieval and Resources display of DB Manager for a data School Retrieval and Metrics sending of Analyzer metrics P 1 PRO P 2 PRO P 3 PRO P 4 PRO P 5 STU Music Editor P 6 STU Code Editor P 7 STU CAD P 8 STU SVG Image Editor Conversion of music score to pictures Analysis of Cyclomatic Complexity Single-lined labels on objects Multiple objects on a circle or ellipse p. lang exp. task exp. Java HIG Python LOW HIG Java HIG HIG C++ LOW LOW C++ HIG 30

Results Productivity and Valence 31

Results Productivity and Valence 31

Results Productivity and Arousal 32

Results Productivity and Arousal 32

Results Productivity and Dominance 33

Results Productivity and Dominance 33

Results First Observations ‣ For all participants • Strong variations of Productivity and Affective

Results First Observations ‣ For all participants • Strong variations of Productivity and Affective States • In 90 minutes of time 34

Results Hypotheses Testing ‣ 35

Results Hypotheses Testing ‣ 35

Results Hypotheses Testing F-value Upper p -value (64 d. f. ) Lower pvalue (48

Results Hypotheses Testing F-value Upper p -value (64 d. f. ) Lower pvalue (48 d. f. ) Deviance Explain. (%) 7. 86 19. 10 0. 000 12. 39 0. 07 0. 00 0. 950 0. 00 dominance 0. 48* 7. 44 18. 07 0. 000 11. 71 time 0. 00 0. 11 0. 26 0. 614 0. 615 0. 17 valence: time 0. 04 0. 35 0. 84 0. 363 0. 364 0. 54 arousal: time -0. 03 0. 45 1. 09 0. 300 0. 301 0. 71 dominance: tim e -0. 01 0. 06 0. 15 0. 699 0. 700 0. 10 Fixed Effect Value valence 0. 10* arousal Sum Square 36

Results Hypotheses Testing ‣ Scalar random effects for participants: [-0. 48, 0. 33]; ‣

Results Hypotheses Testing ‣ Scalar random effects for participants: [-0. 48, 0. 33]; ‣ Time Random effects estimated to 0. 37

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design,

Introduction Motivation, Research Questions Background Theory, Related Work, Constructs, Hypotheses Research Methodology Research Design, Analysis Method Results Descriptive Statistics, Hypotheses Testing Discussion Implications, Limitations, Future Studies 1 2 3 4 5 38

Discussion Implications ‣ Support for positive correlation with valence, dominance and productivity • ‣

Discussion Implications ‣ Support for positive correlation with valence, dominance and productivity • ‣ No support for • positive correlation with arousal and productivity • interaction between affective states and time. ‣ The model • Estimates valence to 0. 10, dominance to 0. 48 (Z-scores) • Explains 25. 62% of productivity deviance - 12. 39% for valence and 11. 71% for dominance. 39

Discussion Implications ‣ Attractiveness perceived towards the development task (valence) ‣ Perception of possessing

Discussion Implications ‣ Attractiveness perceived towards the development task (valence) ‣ Perception of possessing adequate skills (dominance) ‣ Almost the same explanation power ‣ The productivity was self-assessed by “deltas” of the previous input and the expectation of the task 40

Discussion Implications ‣ This work • Provides basic theoretical building blocks on researching the

Discussion Implications ‣ This work • Provides basic theoretical building blocks on researching the human side of software construction. • Performs empirical validation of psychometrics and related measurement instruments in Software Engineering research. • Introduces rarely employed analysis methods 41

Discussion Limitations ‣ Limited Number of Participants, task duration • Background Skills balanced •

Discussion Limitations ‣ Limited Number of Participants, task duration • Background Skills balanced • All 72 measurements are valuable • Still typical number of participants and measurements (Vickers, 2003) 42

Discussion Limitations ‣ Use of self-assessed productivity • Software metrics difficult to be employed

Discussion Limitations ‣ Use of self-assessed productivity • Software metrics difficult to be employed • Productivity still open problem • Self-assessed productivity consistent to objective measurements of performance (Miner, 2010) 43

Discussion Limitations ‣ Student employment • Next generation of software developers (Kitchenham et al.

Discussion Limitations ‣ Student employment • Next generation of software developers (Kitchenham et al. , 2002) • Close to the actual population (Tichy, 2000) ‣ Individuals working alone • Control Purposes • Limit network of affective states 44

Are Happy Developers More Productive? ‣ Towards “Yes, they are” ‣ Definitive Answer •

Are Happy Developers More Productive? ‣ Towards “Yes, they are” ‣ Definitive Answer • Multidisciplinary theories • Validated instruments • Open Mind Picture Credits 45

Future Studies ‣ Same programming task ‣ Software teams ‣ New understanding of software

Future Studies ‣ Same programming task ‣ Software teams ‣ New understanding of software development. ‣ Traditional software productivity metrics ‣ Mood induction techniques 46

Software developers are unique human beings. • Perception of development life-cycle • Cognitive activities

Software developers are unique human beings. • Perception of development life-cycle • Cognitive activities affect performance New understanding of software development. 47

Thank you for your attention Daniel Graziotin daniel. graziotin@unibz. it 48

Thank you for your attention Daniel Graziotin daniel. graziotin@unibz. it 48

References Boehm, B. : Understanding and Controlling Software Costs. IEEE Transactions on Software Engineering

References Boehm, B. : Understanding and Controlling Software Costs. IEEE Transactions on Software Engineering 14(10), 1462– 1477 (1990) Cockburn, A. , Highsmith, J. : Agile software development, the people factor. IEEE Computer 34(11), 131– 133 (2001) Scacchi, W. : Understanding Software Productivity. Advances in Software Engineering and Knowledge Engineering 4, 37– 70 (1995) Khan, I. A. , et al. : Do moods affect programmers’ debug performance? Cognition, Technology & Work 13(4), 245– 258 (2010) 49

References Ashkanasy, N. M. , Daus, C. S. : Emotion in the workplace: The

References Ashkanasy, N. M. , Daus, C. S. : Emotion in the workplace: The new challenge for managers. The Academy of Management Executive 16(1), 76– 86 (2002) Fisher, C. D. , Noble, C. : A Within-Person Examination of Correlates of Performance and Emotions While Working. Human Performance 17(2), 145– 168 (2004) Ilies, R. , Judge, T. : Understanding the dynamic relationships among personality, mood, and job satisfaction: A field experience sampling study. Organizational Behavior and Human Decision Processes 89(2), 1119– 1139 (2002) 50

References Miner, A. G. , Glomb, T. M. : State mood, task performance, and

References Miner, A. G. , Glomb, T. M. : State mood, task performance, and behavior at work: A within persons approach. Organizational Behavior and Human Decision Processes 112(1), 43 – 57 (2010) Shaw, T. : The emotions of systems developers. In: Proceedings of the 2004 Conference on Computer Personnel Research Careers, Culture, and Ethics in a Networked Environment, SIGMIS CPR 2004, p. 124. ACM Press, New York (2004) Russell, J. : A Circumplex Model of Affect. Journal of Personality and Social Psychology 39(6), 1161– 1178 (1980) Tichy, W. : Hints for reviewing empirical work in software engineering. Empirical Software Engineering 5(4), 309– 312 (2000) Plutchik, R. , Kellerman, H. : Emotion, theory, research, and experience. Academic Press, London (1980) 51

References Russell, J. : A Circumplex Model of Affect. Journal of Personality and Social

References Russell, J. : A Circumplex Model of Affect. Journal of Personality and Social Psychology 39(6), 1161– 1178 (1980) Bradley, L. : Measuring emotion: the self-assessment semantic differential. Journal of Behavior Therapy and Experimental Psychiatry 25(1), 49– 59 (1994) Kitchenham, B. A. , et al. : Preliminary guidelines for empirical research in software engineering. IEEE Transactions on Software Engineering 28(8), 721– 734 (2002) Gueorguieva, R. , Krystal, J. H. : Move over ANOVA: progress in analyzing repeated measures data and its reflection in papers published in the Archives of General Psychiatry 61(3), 310– 317 (2004) Robinson, G. K. : That BLUP is a Good Thing: The Estimation of Random Effects. Statistical Science 6(1), 15– 32 (1991) Vickers, A. J. : How many repeated measures in repeated measures designs? Statistical issues for comparative trials. BMC Medical Research Methodology 3(22), 1– 9 (2003) 52