Available PSP course data


Since the Personal Software Process (PSP) is relatively new compared to other process improvement approaches, there is not much data available. However, the results from four PSP courses show that improvement is substantial and almost universal. For example, the percentage improvement in the average number of defects found per thousand lines of code (KLOC) from the beginning to the end of the 15-week PSP course shows improvements of two to five times, or more. The following table shows the percentage improvement in the total defects found in compile and test from the first to the last PSP exercise. This data is for all students on four university courses.

Where foundClass AClass BClass CClass D
Total defects53.4%45.8%55.1%80.1%
Compile defects68.8%76.6%75.7%88.1%
Test defects68.8%81.7%64.2%83.2%

In calculating this data, the average defects per KLOC for the first two programs were compared to the average for the last two. The number of engineers in classes A, B, C and D were 4, 12, 6 and 9 respectively. The students in classes A, B, and C were moderately experienced engineers while most members of class D were graduate students with little industrial experience.

With these dramatic quality improvements, one might think that productivity would suffer. It was found, however that the students soon became quite efficient at gathering data and making plans. Even including all of this overhead time, the engineers' productivity typically improved by 20% or more. It should also be noted that the last exercises were substantially larger and more difficult than the first. As the following table shows, the productivity increases varied considerable and were generally quite large.

Average LOC/hourClass AClass BClass CClass D
Exercises 1 and 219.931.411.413.8
Exercises 9 and 1036.338.626.922.3
Percent improvement82.4%22.9%136.0%61.6%

While all groups improved, the amount of increase was more or less inversely proportional to the initial productivity level. This implies that there is some limiting rate for lines of code per hour. This is analogous to the 4:00 minute mile where the difference between the world record holders and competent runners is only a few seconds. Group productivity rates appear to converge at about 30 to 40 LOC per hour, although individual rates as high as 85 LOC per hour have been recorded.


References

Humprey, W.S., (1994), A Personal Commitment to Software Quality, in: American Programmer Journal, December 1994