Applying the personal software process in cs1: an experiment

Author(s): Lily Hou and James Tomayko
Venue: SIGCSE '98: Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Date: 1998


This study investigates the effectiveness of PSP when used by novice programmers as they are learning how to program. The study uses a PSP group and a control Non-PSP group both of equal size. The students in the PSP group are required to use basic PSP processes to record the number of compile errors, the amount of time spent in planning, design, code, code review, compile, and test phases, and create Gantt charts at the beginning of each project to estimate the time required for the project. The control group (Non-PSP) only needed to record the total amount of time on each project.

The results presented indicate that while it initially takes students following PSP longer to perform tasks because of overhead associated with recording information and performing reviews, by the end of the course these students were able to complete tasks slightly quicker. Significant benefit comes when PSP is used by students for group assignments. Because of code reviews and testing on individual segments of code, teams where individuals used PSP spent less than half the amount of time in group settings than the groups not using PSP. Additionally, in the experiment, only one PSP team was unable to complete the project while four Non-PSP teams failed to complete the project. Another interesting result is that the top level students are successful regardless of whether they use PSP while less talented students perform better when using the formal processes of PSP.

This paper is a significant contribution because it is one of the first studies to use a control group so that direct comparisons can be made to determine the benefits of using PSP. As the results indicate, using PSP reduces the variation among developers by increasing the productivity and efficiency of average and below average programmers. This is significant because the productivity of the entire team can be greatly improved by targeting these programmers.