|

Enquanto a qualidade do software envolve muito mais aspectos que erros, a detecção e prevenção de erros é o principal foco do PSP. Encontrar e concertar erros geralmente toma a maior parte do tempo e do custo do desenvolvimento. Quando os engenheiros começaram o treinamento em PSP, gastaram cerca de 30% do seu tempo compilando e testando seus programas. Isto é provavelmente devido a percentagem do tempo que os engenheiros levaram para testar os módulos que desenvolveram. Depois destes engenheiros liberarem seus módulos para integração e testes do sistema, as organizações de software gastaram outros 30% a 50% de tempo de desenvolvimento na integração e testes do sistema. Este esforço é quase exclusivamente atribuído a encontrar e concertar erros. Assim, enquanto outras questões de qualidade são importantes, o gerenciamento de erros deve ser a maior preocupação, pelo menos até que a detecção do erro e custos de reparo possam ser reduzidos para mais níveis gerenciáveis.
Se engenheiros pretendem reduzir o número de erros que eles encontram em testes, eles devem rever seus códigos para encontrá-los. Se eles vão rever o código de qualquer jeito, é vantajoso fazê-lo antes de compilar. Isto economizará boa parte do tempo que seria gasto compilando e os engenheiros usarão, o compilador como um avaliador da qualidade das revisões de código. Com poucas exceções, contudo, engenheiros devem estar cientes de seus próprios dados antes que eles façam, realmente, um projeto minucioso e revisões de código antes da compilação.
O PSP, deste modo, faz com que engenheiros revejam seu código antes da 1a compilação. Engenheiros freqüentemente questionam a necessidade de se rever o código antes da compilação. Eles acham que o compilador é tão eficiente na detecção de erros de sintaxe que não deveriam se preocupar. Uma das razões que prova que isto é um ato insensato, é que uma razoável percentagem de erros de sintaxe não é encontrada pelo compilador. Não que os compiladores sejam defeituosos, mas alguma percentagem de erros de digitação produzem uma sintaxe válida. Esta não se torna, contudo, a sintaxe pretendida pelos engenheiros. Estes erros não podem ser encontrados pelo compilador e eles podem ser difíceis de se encontrar em testes. Para o C++, dados de pesquisa do PSP indicam que 9.4% de erros de sintaxe escaparam do compilador. Se esses erros não são encontrados antes de se compilar, eles podem levar 10 vezes o tempo ou mais para serem encontrados no teste de unidade. Além disso, aqueles destes erros que não são encontrados no teste de unidade podem levar muitas horas para serem encontrados no teste de integração, teste do sistema, ou na operação do sistema.
Outra razão para rever o código antes de se compilar é o sentimento de satisfação que se ganha quando se faz um trabalho de qualidade. Engenheiros se sentem bem quando encontram erros na revisão do código e ficam muito satisfeitos com uma primeira compilação limpa. Diz-se também que projetos cujos produtos têm muitos erros em testes tendem a ficar atrasados e acima do orçamento.
Existem também evidências que quanto mais erros você encontra na compilação, mais você está sujeito a encontrar em teste. Dados em 844 programas PSP de 88 engenheiros mostram uma correlação de 0,711 com um significado melhor que 0,005 entre os números de erros encontrados na compilação e aqueles encontrados em teste. O número de erros de compilação é consequentemente um razoável indicador de número de erros a serem encontrados em teste.
Os benefícios de encontrar erros cedo continuam através do desenvolvimento e dentro do produto entregue. Ou seja, um número reduzido de erros de teste implica em um produto entregue da mais alta qualidade. Enquanto poderia ser argumentado que encontrar poucos erros em teste implica em um teste pobre, dados limitados mostram altas correlações entre os números de erros encontrados em teste e números de erros encontrados mais tarde por usuários.
A principal avaliação de qualidade do PSP é o rendimento. O rendimento do processo total é a percentagem de erros que são encontrados e concertados antes dos engenheiros começarem a compilar e testar o programa. As tendências do rendimento para 104 engenheiros nos 10 programas de exercício de PSP são mostrados na seguinte figura:

O salto brusco no rendimento com o programa 7 é resultado da implementação de projeto e revisões de código com o programa 7.