28 research outputs found
Consequences of Unhappiness While Developing Software
The growing literature on affect among software developers mostly reports on
the linkage between happiness, software quality, and developer productivity.
Understanding the positive side of happiness -- positive emotions and moods --
is an attractive and important endeavor. Scholars in industrial and
organizational psychology have suggested that also studying the negative side
-- unhappiness -- could lead to cost-effective ways of enhancing working
conditions, job performance, and to limiting the occurrence of psychological
disorders. Our comprehension of the consequences of (un)happiness among
developers is still too shallow, and is mainly expressed in terms of
development productivity and software quality. In this paper, we attempt to
uncover the experienced consequences of unhappiness among software developers.
Using qualitative data analysis of the responses given by 181 questionnaire
participants, we identified 49 consequences of unhappiness while doing software
development. We found detrimental consequences on developers' mental
well-being, the software development process, and the produced artifacts. Our
classification scheme, available as open data, will spawn new happiness
research opportunities of cause-effect type, and it can act as a guideline for
practitioners for identifying damaging effects of unhappiness and for fostering
happiness on the job.Comment: 6 pages. To be presented at the Second International Workshop on
Emotion Awareness in Software Engineering, colocated with the 39th
International Conference on Software Engineering (ICSE'17). Extended version
of arXiv:1701.02952v2 [cs.SE
Happy software developers solve problems better: psychological measurements in empirical software engineering
For more than 30 years, it has been claimed that a way to improve software
developers' productivity and software quality is to focus on people and to
provide incentives to make developers satisfied and happy. This claim has
rarely been verified in software engineering research, which faces an
additional challenge in comparison to more traditional engineering fields:
software development is an intellectual activity and is dominated by
often-neglected human aspects. Among the skills required for software
development, developers must possess high analytical problem-solving skills and
creativity for the software construction process. According to psychology
research, affects-emotions and moods-deeply influence the cognitive processing
abilities and performance of workers, including creativity and analytical
problem solving. Nonetheless, little research has investigated the correlation
between the affective states, creativity, and analytical problem-solving
performance of programmers. This article echoes the call to employ
psychological measurements in software engineering research. We report a study
with 42 participants to investigate the relationship between the affective
states, creativity, and analytical problem-solving skills of software
developers. The results offer support for the claim that happy developers are
indeed better problem solvers in terms of their analytical abilities. The
following contributions are made by this study: (1) providing a better
understanding of the impact of affective states on the creativity and
analytical problem-solving capacities of developers, (2) introducing and
validating psychological measurements, theories, and concepts of affective
states, creativity, and analytical-problem-solving skills in empirical software
engineering, and (3) raising the need for studying the human factors of
software engineering by employing a multidisciplinary viewpoint.Comment: 33 pages, 11 figures, published at Peer
How Do You Feel, Developer? An Explanatory Theory of the Impact of Affects on Programming Performance
Affects---emotions and moods---have an impact on cognitive activities and the
working performance of individuals. Development tasks are undertaken through
cognitive processes, yet software engineering research lacks theory on affects
and their impact on software development activities. In this paper, we report
on an interpretive study aimed at broadening our understanding of the
psychology of programming in terms of the experience of affects while
programming, and the impact of affects on programming performance. We conducted
a qualitative interpretive study based on: face-to-face open-ended interviews,
in-field observations, and e-mail exchanges. This enabled us to construct a
novel explanatory theory of the impact of affects on development performance.
The theory is explicated using an established taxonomy framework. The proposed
theory builds upon the concepts of events, affects, attractors, focus, goals,
and performance. Theoretical and practical implications are given.Comment: 24 pages, 2 figures. Postprin
Situational analysis of the subjective well-being of university software developers in Puebla
Integral well-being is vital for the optimal functioning of people. The requirements for a software developer in the performance of their professional activity are varied and complex. These requirements range from working in multidisciplinary and multilingual teams, going through the challenge of technological advances of the discipline to commit to quality and innovation. To face these demands, it is essential that the developers have an optimal functioning, where the experience emotional and satisfaction with life play an important role. The objective of this article is to analyze the subjective well-being of university software developers in Puebla. The research is a quantitative cross-correlation study to identify statistically significant relationships between the different welfare variables. The study involved 47 university software developers from the city of Puebla. We use Pearson's multivariate correlation to validate the instruments and find relationships between variables, and Chi-squared statistics to calculate the dependency between them. The results reveal that the university software developers experience with higher incidence and intensity, the positive affections over the negatives. The affective balance (Net Affect), calculated as the difference of the weighted averages by duration between positive affective states and negative, was positive (mean = 1.31). "Concentrated" is the positive affective state with the highest incidence and with the highest reported intensity. "Tired" is the most experienced negative affect and highest in intensity. Developers spend 40% of their time experiencing negative affective states (U-index) and are moderately satisfied with their lives in general
Emotion Classification In Software Engineering Texts: A Comparative Analysis of Pre-trained Transformers Language Models
Emotion recognition in software engineering texts is critical for
understanding developer expressions and improving collaboration. This paper
presents a comparative analysis of state-of-the-art Pre-trained Language Models
(PTMs) for fine-grained emotion classification on two benchmark datasets from
GitHub and Stack Overflow. We evaluate six transformer models - BERT, RoBERTa,
ALBERT, DeBERTa, CodeBERT and GraphCodeBERT against the current best-performing
tool SEntiMoji. Our analysis reveals consistent improvements ranging from 1.17%
to 16.79% in terms of macro-averaged and micro-averaged F1 scores, with general
domain models outperforming specialized ones. To further enhance PTMs, we
incorporate polarity features in attention layer during training, demonstrating
additional average gains of 1.0\% to 10.23\% over baseline PTMs approaches. Our
work provides strong evidence for the advancements afforded by PTMs in
recognizing nuanced emotions like Anger, Love, Fear, Joy, Sadness, and Surprise
in software engineering contexts. Through comprehensive benchmarking and error
analysis, we also outline scope for improvements to address contextual gaps