Improving PSP education by pairing: An empirical study

Author(s): Guoping Rong, He Zhang, Mingjuan Xie, and Dong Shao
Venue: International Conference on Software Engineering
Date: 2012

Type of Experiement: Controlled Experiment
Sample Size: 21
Class/Experience Level: Undergraduate Student
Participant Selection: Freshmen students that received a score between 82 and 87 in a beginning Java course
Data Collection Method: Project Artifact(s)


In the interest of improving the way that PSP is taught to computer science students in order to better prepare them for software engineering processes in industry, this study analyzes possible improvements in teaching PSP to students. In particular, this study addresses the effects of pair programming while learning PSP techniques.

The study was performed on students taking a PSP course at the Software Institute of Nanjing University. Only first-year students that had a similar performance in a beginning Java course at the university were selected. Of the twenty-one students that were analyzed, fourteen were put into pair-programming teams and seven were forced to work solo. At the end of the course, data was gathered based on inconsistent items (inaccurate time logs, errors in following the coding standard, incomplete implementation, etc.), program quality (determined by the number of defects discovered through testing by the TAs of the course), exam scores, and assignment duration.

The study concluded finding that students in the pair-programming group had fewer overall inconsistent items, better overall program quality, and better scores on exams. However, there was no large difference in assignment duration between the two groups. Based on their results, the authors have recommended pair programming as a means to help students learn and perform PSP processes better.