![]() |
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 found | Class A | Class B | Class C | Class D |
| Total defects | 53.4% | 45.8% | 55.1% | 80.1% |
| Compile defects | 68.8% | 76.6% | 75.7% | 88.1% |
| Test defects | 68.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/hour | Class A | Class B | Class C | Class D |
| Exercises 1 and 2 | 19.9 | 31.4 | 11.4 | 13.8 |
| Exercises 9 and 10 | 36.3 | 38.6 | 26.9 | 22.3 |
| Percent improvement | 82.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