titulo.gif (4673 bytes)

barra.gif
(2716 bytes)

 

Gerenciamento de Defeitos

No PSP, são contados todos os defeitos. Isto inclui esses achados na compilação, que são testados e feita a verificação de escrivaninha. Quando os engenheiros fazem inspeções, os defeitos que eles encontram, são também contados. A razão para contar todos os defeitos é melhor compreendida por analogia com um projeto de filtro en engenharia elétrica. Examinando somente a produção de ruído, uma pessoa não pode obter as informações nacessárias para projetar um filtro melhor. O descobrimento de defeitos no software é semelhante ao ruído filtrado de sinais elétricos. O processo de remoção deve ser projetado para encontrar cada tipo de defeito. Então, parece lógico que os engenheiros deveriam entender os defeitos que eles injetam, antes que eles possam ajustar os seus processos efetivamente para eficazmente achá-los.

A principal doutrina do PSP é o gerenciamento de defeitos que é responsabilidade pessoal de cada engenheiro de software. Considerando que cada defeito é introduzido por um engenheiro, deveria ser dele a responsabilidade de achar e consertar isto. Se os defeitos não são gerenciados por engenheiros, posteriormente custará mais caro encontrar e consertar.

Durante os dez exercícios de PSP, os engenheiros aprendem a localizar e analisar defeitos. Eles coletam dados nas fases quando os defeitos foram injetados e removidos, os tipos de defeito, os tempos de conserto e descrições de defeitos. As fases são definidas pelo processo de PSP como planejamento, projeto, revisão de projeto, código, revisão de código, compilação e teste. Os tipos de defeitos baseados no trabalho de Ram Chillarege pesquisador da IBM, são mostrados na tabela abaixo.

 PSP Tipos de Defeitos

Número

Nome do Tipo

Descrição

10 Documentação comentários, mensagens
20 Sintaxe ortografia, pontuação, formatos de instruções
30 Construção, pacote mudança de gerência, biblioteca, controle de versão
40 Tarefa declaração, nomes duplicados, escopo, limites
50 Interface chamadas de procedimentos e referencias, I/O, formato de usuários
60 Verificação mensagens de erro, conferência inadequada
70 Dados estrutura, conteúdo
80 Função lógica, ponteiros, loops, recursão, computação, defeitos de função
90 Sistema configuração, sincronização, memoria
100 Ambiente projeto, compilação, teste, ou outros problemas de sistema de suporte

 

O tempo de conserto é o tempo total desde a detecção inicial do defeito, até os defeitos serem consertados e o conserto verificado.

O PSP usa um projeto individual e uma revisão de código para identificar e consertar defeitos o mais cedo possível num processo. Essas revisões são feitas por depurações que os engenheiros desenvolvem apartir do defeito dos seus dados pessoais. Prestando-se atenção nesses defeitos que tem causado a maioria dos seus problema, os engenheiros que ajudam a depuração, podem conduzir as revisões com maior eficiência. A medida de defeitos também pode ser usada para desenvolver um histórico de perfil dos defeitos e para projetar o número de defeitos a serem injetados e encontrados em cada fase do projeto.

 Os defeitos mais comuns encontrados por 104 engenheiros são mostrados no gráfico a seguir:

O gráfico do total de Defeitos por Kloc versus Número de Programas, mostra uma média total do número de defeitos encontrados por cada 10 exerçicios de programação. Com o programa 1, a média é 116,4 defeitos por Kloc, com um desvio padrão de 76,9. No programa 10, a média do número de defeitos declinam para 48,9 e o desvio padrão limitado a 35,5.

 

O gráfico Defeitos por Kloc encontrados na compilação versus Número de Programas mostra um melhoramento no número de defeitos de uma média de 75,5 para 12,7 defeitos por Kloc. Com isso tem-se uma compilação seis vezes melhor. O desvio padrão é limitadode 58,7 para 12,7.

 

Pelos defeitos encontrados no teste, o gráfico Defeitos por Kloc versus Número de Programas, mostra uma redução da média de defeitos de um nível de 33,8 para 9,5 por Kloc com uma redução do desvio padrão de 33,8 para 12,0.

 

Essas são as classes de engenheiros que avaliam os dados e que completam os dez exercícios de programação. Atualmente existem 109 engenheiros encontrados nesse ramo, porém cinco incluídos também incompletos ou com resultados obviamente incorretos. Dos 104 engenheiros restantes 80 trouxeram o PSP de cursos na universidade e 24 de cursos em indústrias. Dos 80 estudantes universitários, 16 eram engenheiros que trabalhavam e estudavam fazendo curso à noite e 28 engenheiros que trabalhavam e que retornavam de um curso superior completo. Desse modo, mais da metade dos 104 engenheiros nessa amostra tinham trabalhado em organização de software.

Quarenta dos 104 engenheiros completaram o questionário. Dos seus dados demográficos, existe um modesto relacionamento entre defeitos por Kloc e anos de experiência, o que pode ser visto no gráfico a seguir.

Enquanto existe uma variação considerável das taxas de defeitos do programa 1, o gráfico Defeitos por Kloc versus Experiência (programa 1) mostra que os engenheiros com mais de 20 anos de experiência tinham algumas taxas de defeitos mais baixas do aqueles com menos anos de experiência. Alguns desses engenheiros com menos experiência tiveram taixas similarmente baixas, mas não muito.

 

Como no mostrado no gráfico Defeitos por Kloc versus Experiência (programa 10), o relacionamento entre taxas de defeitos e experiência não influencia no programa 10. De fato, parece que os engenheiros com menos experiência aprenderam os métodos do PSP melhor de que muitos dos mais velhos.

 

A combinação dos níveis de defeitos versus o total de Loc escrito e versus o Loc escrito nos 12 meses anteriores mostram uma relação não significativa.

 

voltar.gif (193 bytes)