Supondo absolutamente seu código já testado (e particularmente se lançado).
Há várias razões para isso:
Memória - É improvável que o sistema esqueça o bug, qualquer desenvolvedor pode.
Métricas - O número de bugs encontrados, encerrados e o tempo gasto podem ser boas métricas fáceis de capturar para informar como a qualidade do seu código está progredindo
Urgência - Pode parecer a coisa mais importante do mundo para o desenvolvedor. No entanto, o tempo gasto corrigindo esse problema pode ser melhor gasto em algo que os usuários finais desejam primeiro (consulte também memória).
Duplicação - Talvez já tenha sido detectado e esteja sendo examinado / corrigido por outra pessoa. Como alternativa, talvez tenha infringido a regra de urgência e tenha sido adiada. É claro que o fato de você ter encontrado novamente não significa apenas que não deve ser feito, pode significar que (à medida que o processo avança) agora é mais urgente de corrigir.
Análise de causa raiz - O bug mais fácil de corrigir é o que nunca esteve lá. Pode ser que a equipe esteja observando esse bug para descobrir como ele surgiu. É definitivamente não punir o responsável (que nunca ajuda), mas descobrir como a situação pode ser evitada no futuro.
Análise de impacto mais amplo - O bug mais barato a ser encontrado é o que você conhecia antes de encontrá-lo. Observando esse bug (principalmente depois de fazer a análise da causa raiz), pode ficar claro rapidamente que esse problema pode existir em outros locais do código. Como resultado, a equipe pode optar por encontrá-lo antes de levantar a cabeça feia em um momento mais embaraçoso.
A quantidade de tempo gasto neles (se houver) depende muito do nível de maturidade e qualidade do código. É provável que a análise de causa raiz seja um exagero para uma pequena equipe que trabalha no código de demonstração, mas uma grande equipe de desenvolvimento crítico para os negócios provavelmente precisa aprender as lições de maneira eficaz e eficiente.
Por experiência, há dois motivos principais que os desenvolvedores evitam usar a ferramenta:
- A ferramenta e / ou processo de tratamento de erros é percebida como muito pesada para o desenvolvimento
- Os desenvolvedores acham o desafio mental de corrigir o bug mais interessante do que as coisas em que estão trabalhando atualmente.
O item 1 implica que um sistema melhor / mais simples possa ser necessário; ou, alternativamente, uma justificativa mais convincente do sistema existente pode estar em ordem.
O item 2 deve ser um sinal de alerta útil para o líder de desenvolvimento sobre as alocações de tarefas atuais.