segunda-feira, 30 de dezembro de 2013

Priorização de bugs

Quando ocorre um problema em produção, segundo uma visão ágil, ele deveria entrar no backlog do produto e disputar prioridade — como qualquer outro item. A justificativa dessa visão é que os itens de maior valor de negócio sejam priorizados sobre os de menor valor, afinal o objetivo é maximizar o valor entregue em relação ao esforço empreendido. Dado que um bug pode ocorrer em um trecho pouco utilizado do sistema, ou ser de pequeno impacto, talvez não seja estritamente necessário resolvê-lo imediatamente, ou talvez nunca venha a valer a pena investir em sua correção.

Em uma visão Lean, contudo, a ideia é um pouco diferente. Deveríamos encontrar imediatamente a causa-raiz de um defeito, pois ela pode continuar gerando outros problemas até ser atacada — um exemplo claro de desperdício. A questão aqui não é resolver o problema imediatamente, mas diagnosticar não só a causa imediata, como também a mediata. Ou seja, em uma visão Lean, não deveria haver problemas conhecidos cuja causa-raiz não estivesse plenamente identificada.

Como é comum que muito do tempo gasto para corrigir um problema seja justamente no diagnóstico, será que faz sentido fazer uma análise da causa-raiz imediatamente e postergar a correção do defeito?

Minha tendência é acreditar mais na linha Lean de pensamento e buscar logo a razão da geração dos problemas e atacá-la o mais rápido possível, pois uma das ideias mais fundamentais tanto do Lean quanto do Agile é a busca pela melhoria contínua, e para isso precisamos que os problemas apareçam o mais rapidamente possível. Não identificar a causa-raiz de um problema imediatamente é desprezar sinais de problemas subjacente.

Qual a opinião de vocês sobre o assunto? Faz sentido?