These questions imply the need for at least two other measures. The first is to
Valuate the quality of your code reviews. If you followed the code-review process
(see Chapter 9) and used an up-to-date code-review checklist, you would probably
have a high-yield review. The best indicator of this would be finding very few defects
while compiling. In the PSP 10 or fewer defects per KLOC during compiling
considered low. Without a pretty good code review, you are unlikely to get this low a number
Unfortunately, if your environment doesn't use a compile phase,
this measure is not available. In these cases, you can use the data on the coding- type
defects found in unit testing and, on a TSP team, the coding-type defects
found during inspections and unit testing. For these purposes, defect types 10
through 50 can be considered coding-type defects.
The design review measure is somewhat more complex, Although the number of defects
found in unit testing could be a useful measure of design quality, it
also includes code quality. If, however, your compile defects/KLOC were below 10
then code quality is probably pretty good and the unit test defects would measure
design quality. Thus, without data on compile defects, you cannot interpret
the unit test defect measure. The suggested PSP measure specifies that if the compile defects/KLOC are less than 10, unit test defects/KLOC of 5 or less indicates
aquality design. The process quality index (PQI) quality criteria are as follows:
o Design/Code Time = design time/coding time, with range from 0.0 to 10
o Design Review Time =2 * design review time/design time, with a range from 0.0 to 1.0
o Code Review time = 2*code review time /coding time , with a range from 0.0 to 1.0
o Compile Defects KLOC= 20/(10 + compile defect /KLOC), with a range from 0.0 to 1.0
o Unit Test Defects/KLOC =10*/(5 + unit test defects/KLOC), with a range from 0.0 to 1.0
The process quality index is obtained by multiplying these five values together
Figure 8.11 shows the PQI profiles for six programs. The two programs
with the poorest-quality profiles (numbers 5 and 6) were the only ones with defects
after unit testing. The data in Figure 8.12 show that programs with PQl values
above 0.4 historically have had no defects found after unit testing. The PQI goal, however, should be 1.0.