The personal software process (PSP) is a training program designed to improve the quality of a software engineer’s work. After completing training, a software engineer should be injecting and removing fewer defects, should have improved estimation skills, and should be displaying an improved level of productivity. A controlled experiment is reported on PSP+, a training program enhanced by emphasizing best practices and by involving participants in discussion-based learning. Data for 28 students trained using PSP+ is contrasted with data for 33 students trained using PSP.
The boxplots of figure 4 are not particularly clear, but careful examination shows that the medium number of defects detected and removed during unit testing for PSP+ students was zero, while for PSP students the medium number was one. The stacked bar charts of figure 5 clearly show a higher proportion of PSP+ students achieving defect-free code. The boxplots of figure 6 clearly show that there were no major differences in productivity between the two groups of students; that is, any improvements in quality were not at the expense of the time taken to do the various assignments. The evidence suggests that PSP+ represents an improvement on PSP.
As the investigators themselves admit, however, they did not consider the use of best technical practices. The use of static analysis tools and automated unit testing can yield improvements in code quality very cheaply. For this reason, many would regard the external validity of this study to be badly compromised. This paper is recommended only to those researching PSP.