Ramblings of Daniel Graziotin

[Explained] How do you feel, developer? An explanatory theory of the impact of affects on programming performance

[

Graziotin, D., Wang, X., & Abrahamsson, P. (2015). How do you feel, developer? An explanatory theory of the impact of affects on programming performance. PeerJ Computer Science, 1, e18. doi:10.7717/peerj-cs.18

Open access. Click the link and read the study.

We have established that pre-existing affect (or, one might dare to say, happiness) of software developers is positively correlated with analytic problem solving performance and that the real-time emotions raised by a programming tasks are positively correlated with the task productivity. Nice, what now?

In science it is interesting to move away from “lab” research that studies how entities are related with each others in absolute. That is, X has a relationship with Y. Sometimes, we also want to have a higher level view and understand the context, the dynamics, the players, and, more interestingly, how these relationships develop and change over time. We call the former approach variance based, the latter process based. This is what we did in our study published at PeerJ Computer Science.

We molested followed very closely two developers working on the same project for 5 weeks. We observed them, interviewed them, took notes, and analyzed the so-called qualitative data we gathered (that is, not numbers to compute statistics with). By coding the data (in other words, tagging and classifying interview transcripts), we constructed a theory that explains what happens when developers feel happier and thus perform better.

The following picture is a summary of it, but the theory is actually the entire paper.

A theory of the impact of the affects on programming performance.
Distributed with permission of myself under the terms of the Creative Commons Attribution License. Source: https://doi.org/10.7717/peerj-cs.18/fig-2.

It is rather simple. High level: things (events) happen and cause emotional reactions and/or moods to developers. This affect influences how we focus on the code and actions towards medium and long-term goals. This focus influences how much we accomplish in terms of coding.

More details: we classify the event types according to where they originate from (while at work or not) and whether they could be observed by third-party or not (public or private). We theorize that certain emotions and moods, named attractors, have a super boost effect on focus and performance. We do not know why or how to really distinguish them from “normal” emotional experiences.

This type of research is uncommon outside of the social science (but it is becoming more common in software engineering) and it can be classified as qualitative research. Qualitative research is as important as quantitative research because it is better at providing a higher level view of things, see how they evolve over time, and explain how and why things happen. Quantitative research often tests all these relationships numerically. Both types of research are very important.

This post is part of the scicomm series [Explained]. Read about it.

About the author

dgraziotin

Dr. Daniel Graziotin received his PhD in computer science, software engineering at the Free University of Bozen-Bolzano, Italy. His research interests include human aspects in empirical software engineering with psychological measurements, Web engineering, and open science. He researches, publishes, and reviews for venues in software engineering, human-computer interaction, and psychology. Daniel is the founder of the psychoempirical software engineering discipline and guidelines. He is associate editor at the Journal of Open Research Software, academic editor at the Research Ideas and Outcomes (RIO) journal, and academic editor at the Open Communications in Computer Science journal. He is the local coordinator of the Italian Open science local group for the Open Knowledge Foundation. He is a member of ACM, SIGSOFT, and IEEE.

Add comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By dgraziotin
Ramblings of Daniel Graziotin

About Author

dgraziotin

Dr. Daniel Graziotin received his PhD in computer science, software engineering at the Free University of Bozen-Bolzano, Italy. His research interests include human aspects in empirical software engineering with psychological measurements, Web engineering, and open science. He researches, publishes, and reviews for venues in software engineering, human-computer interaction, and psychology. Daniel is the founder of the psychoempirical software engineering discipline and guidelines. He is associate editor at the Journal of Open Research Software, academic editor at the Research Ideas and Outcomes (RIO) journal, and academic editor at the Open Communications in Computer Science journal. He is the local coordinator of the Italian Open science local group for the Open Knowledge Foundation. He is a member of ACM, SIGSOFT, and IEEE.