Your resource for web content, online publishing
and the distribution of digital products.
S M T W T F S
 
 
 
 
 
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
 
 
 
 
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
 

Pair Programming: The Buddy System, But With Fewer Bugs (Hopefully)

Tags: social
DATE POSTED:February 10, 2025

:::info Author:

(1) Marcel Valový, Department of Information Technologies, Prague, Czech Republic ([email protected]).

:::

Table of Links

Abstract and 1. Introduction

2 Research Settings

3 Methods

3.1 Instruments and 3.2 Quantitative Analysis

3.3 Thematic Analysis

4 Results

4.1 Quantitative Results

4.2 Qualitative Results

5 Discussion and 5.1 Answering the research questions

5.2 Threats to validity and 5.3 Limitations and generalizability

6 Conclusion, Acknowledgments, and References

ABSTRACT

[Context] With the recent advent of artificially intelligent pairing partners in software engineering, it is interesting to renew the study of the psychology of pairing. Pair programming provides an attractive way of teaching software engineering to university students. Its study can also lead to a better understanding of the needs of professional software engineers in various programming roles and for the improvement of the concurrent pairing software.

\ [Objective] This preliminary study aimed to gain quantitative and qualitative insights into pair programming, especially students’ attitudes towards its specific roles and what they require from the pairing partners. The research’s goal is to use the findings to design further studies on pairing with artificial intelligence.

\ [Method] Using a mixed-methods and experimental approach, we distinguished the effects of the pilot, navigator, and solo roles on (N = 35) students’ intrinsic motivation. Four experimental sessions produced a rich data corpus in two software engineering university classrooms. It was quantitatively investigated using the Shapiro-Wilk normality test and one-way analysis of variance (ANOVA) to confirm the relations and significance of variations in mean intrinsic motivation in different roles. Consequently, seven semi-structured interviews were conducted with the experiment’s participants. The qualitative data excerpts were subjected to the thematic analysis method in an essentialist way.

\ [Results] The systematic coding interview transcripts elucidated the research topic by producing seven themes for understanding the psychological aspects of pair programming and for its improvement in university classrooms. Statistical analysis of 612 self-reported intrinsic motivation inventories confirmed that students find programming in pilot-navigator roles more interesting and enjoyable than programming simultaneously.

\ [Conclusion] The executed experimental settings are viable for inspecting the associations between students’ attitudes and the distributed cognition practice. The preliminary results illuminate the psychological aspects of the pilot-navigator roles and reveal many areas for improvement. The results also provide a strong basis for conducting further studies with the same design involving the big five personality and intrinsic motivation on using artificial intelligence in pairing and to allow comparison of those results with results of pairing with human partners.

1 Introduction

We believe that the psychology of pairing in software engineering should receive a new round of scientific attention due to the recent advent of artificially intelligent pairing partners in both Pilot (e.g., GitHub Copilot and ChatGPT) and Navigator (e.g., Grammarly but also ChatGPT) roles. The presented research results on pairing in software engineering can be used both to improve software engineering in university classrooms and to develop better AI pairing software.

\ In our study, the independent variable is represented by the chosen software engineering role, where we differentiate between the pair programming pilot and navigator roles and the solo role. Pair programming is an agile software development practice where two programmers collaborate on the same task using one computer and a single keyboard [20]. One takes on the pilot role and writes the code. The other simultaneously takes on the navigator role, thinking about the problem and conceptualizing the solution, analyzing the written code, providing feedback, and addressing issues.

\ The last two decades of research on pair programming have examined its effects on performance, code quality, knowledge sharing, and other aspects concluding that it is beneficial in both professional and educational settings [e.g., 3, 10, 18]. Per the seminal meta-analysis paper, pairing is faster when the task complexity is low and yields code solutions of higher quality when the task complexity is high [10]. A similar author collective also studied the moderating relation of personality on those positive effects but has not found much statistical significance [9]. Our paper differs significantly from all previous studies as it uses a revised experimental design based on [1] that distinguishes the effects in the pilot, navigator, and solo roles, not just “pair” and “solo”, and invites the moderating personality factors. It also focuses on a more nuanced metric called “intrinsic motivation”, which is a predictor of the previously studied variables such as performance. Finally, it studies the effects per individual, not per pair.

\ The dependent variable in our study is intrinsic motivation. Per the Self-determination theory, it exists in the relationship between individuals and activities [16]. Each individual is intrinsically motivated for some activities and not others. In humans, intrinsic motivation is a prototypical example of autonomous behavior, being willingly or volitionally done, as opposed to heteronomous actions, which are subject to external rewards or pressures (ibid.). Neither was allowed in our controlled experiments.

\ This paper will report on the psychological aspects of pair programming, or pairing, in general. Initially, we tap into the overall motivational effects of the agile practice using statistical analysis of 612 motivational inventories from four experimental sessions in two undergraduate classrooms. Afterward, we utilize the thematic analysis to discover the reoccurring themes about pairing by probing into students’ feelings, attitudes, and values. The themes are pairing constellations, feedback, task complexity, soft and social skills, psychological aspects, role-specific insights, and perception of “the perfect pair programmer” and his traits. Research questions:

\ RQ1: Are both pair programming roles intrinsically more motivating to students in university classrooms than solo?

\ RQ2: What are the psychological aspects of pairing?

\

:::info This paper is available on arxiv under CC BY-NC-SA 4.0 DEED license.

:::

\

Tags: social