Information Systems Development with Pair Programming: An Academic Quasi-Experiment - Fernandes, Eduardo; Ferreira, Fischer; Netto, João Antônio; Figueiredo, Eduardo (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI); 2016: Anais do XII Simpósio Brasileiro de Sistemas de Informação, 2016)
Pair Programming is a development technique in which two programmers collaborate to conduct the same development task. The use of this technique in information systems development may support many activities, such as code inspection and software integration. Studies have investigated the advantages and drawbacks of pair programming in both industrial and academic context. However, with respect to academic research, the majority of studies investigate this technique in European or North American educational institutions. Considering that some social and geographic factors may impact on the application and efficiency of agile methods such as pair programming, we lack an evaluation of this programming practice in the context of Brazilian students. In this paper, we discuss the findings of three one-hour quasi-experiments conducted with 55 undergraduate and graduate students to assess pair programming in the development of tasks to implement an information system. These participants are students enrolled in Information Systems and related courses of two Brazilian institutions. For the experiment, we divided each class in two groups: one group for solo programming and the other for pair programming. As a result, we observed that participants developing tasks in pairs presented lower rates of time spent and difficulty faced to complete development tasks when compared with solo programming participants. However, we did not observe a significant increase on the correctness in tasks developed by both experiment groups: paired and solo programmers. Finally, we conducted an analysis of participant feedback regarding other advantages of using pair programming in systems development.