O que são os 5 Whys?
A técnica dos 5 Whys é uma abordagem simples e eficaz para identificar a causa raiz de problemas. A ideia central é fazer a pergunta "por quê?" repetidamente, geralmente cinco vezes, até chegar à origem do problema. Essa técnica, desenvolvida por Sakichi Toyoda e amplamente utilizada no Toyota Production System, é extremamente valiosa em ambientes de SRE, onde a confiabilidade é crucial.
Por que usar os 5 Whys?
Utilizar os 5 Whys pode ajudar a:
- Identificar causas profundas: Em vez de tratar os sintomas, você aborda as causas raízes.
- Promover uma cultura de aprendizado: Incentiva a equipe a questionar e aprender com os erros.
- Reduzir recorrências de falhas: Ao resolver problemas na raiz, você minimiza a probabilidade de falhas futuras.
Como aplicar a técnica?
Passo 1: Identificar o Problema
Antes de começar a questionar, é essencial ter clareza sobre qual é o problema. Por exemplo, se um serviço está fora do ar, isso deve ser o ponto de partida.
Passo 2: Perguntar "Por quê?"
Comece a fazer perguntas. Aqui está um exemplo:
- Por que o serviço está fora do ar?
- Porque a aplicação apresentou um erro de banco de dados.
- Por que ocorreu o erro de banco de dados?
- Porque a tabela de usuários estava corrompida.
- Por que a tabela de usuários estava corrompida?
- Porque houve uma falha na replicação de dados.
- Por que a replicação de dados falhou?
- Porque o servidor primário ficou sem espaço em disco.
- Por que o servidor primário ficou sem espaço em disco?
- Porque não havia monitoramento adequado do uso de disco.
Passo 3: Documentar as Respostas
É fundamental registrar cada pergunta e resposta. Isso não apenas ajuda na análise atual, mas também serve como referência para futuras análises.
Passo 4: Implementar Ações Corretivas
Após identificar a causa raiz, elabore um plano de ação. No exemplo acima, uma possível ação seria implementar um monitoramento mais robusto do uso de disco.
Passo 5: Revisar e Aprender
Após a implementação, revise o processo e aprenda com a experiência. O que funcionou? O que pode ser melhorado na próxima vez?
Exemplos Práticos
Exemplo 1: Falha em um Serviço Web
Imagine que um serviço web estava lento. Aplicando os 5 Whys:
- Por que o serviço estava lento?
- Porque o tempo de resposta do banco de dados estava alto.
- Por que o tempo de resposta estava alto?
- Porque havia muitas consultas complexas sendo executadas.
- Por que muitas consultas complexas estavam sendo executadas?
- Porque os índices necessários não estavam presentes.
- Por que os índices não estavam presentes?
- Porque não houve revisão do esquema do banco de dados.
- Por que não houve revisão do esquema?
- Porque não havia um processo formal para revisão de desempenho.
Exemplo 2: Queda de Sistema
Um sistema caiu repentinamente:
- Por que o sistema caiu?
- Porque houve uma exceção não tratada.
- Por que houve uma exceção não tratada?
- Porque o código não foi testado adequadamente.
- Por que o código não foi testado?
- Porque não havia uma prática de testes automatizados.
- Por que não havia testes automatizados?
- Porque a equipe estava sobrecarregada com outras tarefas.
- Por que a equipe estava sobrecarregada?
- Porque a gestão de tarefas não estava adequada.
Dicas para Implementação
- Incentive a equipe a participar: A técnica é mais eficaz quando todos estão envolvidos.
- Use ferramentas de documentação: Ferramentas como Confluence ou Google Docs podem ser úteis para registrar as análises.
- Realize revisões periódicas: Agende reuniões para revisar falhas e as lições aprendidas.
Conclusão
Os 5 Whys são uma ferramenta poderosa para a análise de falhas em SRE. Ao aplicar essa técnica, você não apenas resolve problemas, mas também fortalece a cultura de confiabilidade dentro da sua equipe. Comece a implementar hoje mesmo e observe a diferença na eficiência e na redução de falhas em seus sistemas.
Contribuições de Daniela Kato