O
sistema de comparação que estamos desenvolvendo cismou de apontar
que R$ 1112,70
é diferente de R$ 1112,70.
Isso
estava denegrindo a imagem da equipe uma vez que o sistema estava
muito bom e aquele erro era muito bobo. Ainda mais porque a tela de
exibição dá um grande destaque em vermelho às diferenças
encontradas.
Acontece
que o especialista no algoritmo de comparações estava de férias e
só retornaria em uma semana. Eu acreditava que ele conseguiria
resolver aquele erro em uma hora. Então, o prazo previsto para a
correção seria uma semana e uma hora. Ruim!
Achei
válido desafiar outros membros da equipe a enfrentarem aquele
problema. Na pior das hipóteses, eles aprenderiam alguma coisa com o
episódio e o especialista resolveria o problema em 1 semana e 1
hora.
Depois
de dois dias de trabalho, finalmente conseguimos preparar o ambiente
para a depuração do erro. Chegara a hora da verdade.
O
meu lado gestor estava superexcitado. Era muito bom ver a equipe
desafiada, com sangue nos olhos. Eles realmente estavam trabalhando
em equipe, buscando uma solução para o problema. Virou questão de
honra!
O
meu lado técnico estava igualmente excitado. Era muito bom parar um
pouco as atividades gerenciais e estar ali junto com a equipe
depurando um erro. Ainda mais um erro matemático. De volta aos
velhos tempos.
Analisamos
primeiro os dados. Ao percebermos que os dados lidos do banco estavam
idênticos e que os valores registrados como inconsistentes eram
iguais, só nos restou o código Java. Por algum motivo, o Java não
estava entendendo que aqueles valores eram iguais.
Então,
descobrimos que as comparações estavam sendo feitas com Strings
(textos). O Java estava corretamente afirmando que a String '1112.7'
era diferente da String '1112.70'.
Bingo!
Daí,
foi só alterar a comparação para utilizar valores numéricos ao
invés dos valores textuais.
A
grande lição gerencial foi investir mais no
repasse de conhecimento e na formação
de bons substitutos para todos os papéis da equipe.
Até
a próxima.
Nenhum comentário:
Postar um comentário