Capítulo 01 Básico
O que é (e o que não é) análise de causa raiz
O objetivo não é achar o culpado nem o commit que quebrou. É entender por que o sistema — de pessoas, processos e ferramentas — permitiu que a falha acontecesse, para que uma mudança durável a impeça de voltar.
Quando algo dá errado — uma queda de serviço, um prazo estourado, um defeito que chegou ao cliente, um negócio perdido — a pressão é por uma resposta rápida: quem fez, o que reverter, seguir em frente. A análise de causa raiz (RCA) resiste a essa pressa. Ela pergunta: o que teria de ser diferente, de forma permanente, para que esse tipo de falha não pudesse mais acontecer?
O que a RCA não é
| Não é | É |
|---|---|
| Achar o culpado ("foi o Pedro que subiu isso"). | Entender por que o sistema deixou passar — e por que "subir isso" era fácil de fazer errado. |
| Parar na primeira causa plausível ("faltou atenção"). | Continuar perguntando até chegar a algo sobre o qual dá para agir de forma durável. |
| Uma reunião para "aprender a lição" sem ações. | Um documento com contramedidas priorizadas, donos e prazos — e acompanhamento. |
| Uma causa única no fim de uma cadeia linear. | Normalmente várias condições que, juntas, tornaram a falha possível. |
"Causa raiz" no singular é quase sempre errado
Falhas relevantes raramente têm uma causa. Têm um gatilho (o que disparou naquele momento) e um conjunto de condições contribuintes (o que já estava lá, tornando o sistema vulnerável). Remover só o gatilho conserta aquele incidente; remover condições contribuintes conserta a classe de incidentes. A boa RCA mira a segunda.
Definição de trabalho (a que usaremos na apostila inteira)
Análise de causa raiz é reconstruir, a partir de fatos, a cadeia e o conjunto de condições que tornaram uma falha possível — distinguindo o gatilho das condições latentes, testando cada causa candidata por contrafactual — e converter esse entendimento em contramedidas duráveis, priorizadas pela hierarquia de controles, com dono e prazo.
Relação com as outras apostilas da trilha
A de Estruturação de Problemas usa árvore para causas independentes e estáveis; a de Pensamento Sistêmico cuida de causas estruturais que se realimentam. Esta apostila é o tratamento fundo do caso específico da investigação de uma falha — sobretudo incidentes: como coletar fatos sem contaminá-los, como não parar cedo, e como o postmortem deve ser escrito para que as ações realmente aconteçam.
Mesmo sem o nome: postmortems de incidente, análise de defeito / reclamação recorrente, revisão de projeto que atrasou, investigação de quase-acidente, análise de perda de cliente ou de negócio, estouro de orçamento. Recrutadores chamam de "resolução de problemas", "mentalidade de melhoria contínua", "pensamento de qualidade".
Pegue uma falha recente do seu trabalho. Escreva o que a disparou naquele momento (gatilho) e três coisas que já estavam lá tornando o sistema vulnerável (condições). Qual seria consertada por "ter mais cuidado" e qual exige uma mudança de fato?
Crie um documento chamado "Banco de Falhas". A cada falha relevante, registre: linha do tempo em uma frase, gatilho, 2-3 condições contribuintes, a contramedida escolhida e — depois — se ela impediu a repetição. Ao fim, você terá o mapa dos pontos frágeis recorrentes do seu contexto.
Capítulo 02 Básico
Cultura sem culpa: por que o dedo em riste destrói a informação
A investigação depende de as pessoas contarem o que realmente aconteceu. Num ambiente que pune, elas contam o que as protege — e você investiga uma ficção.
2.1 O que a culpa faz com a investigação
Quando errar tem custo pessoal alto, quem estava perto da falha vai — racionalmente — omitir, minimizar, encontrar como "não foi bem assim". Você perde o acesso justamente à informação de que mais precisa: o que a pessoa viu, pensou e por que aquilo fazia sentido para ela naquele momento. Sem isso, a RCA para em "erro humano" — que não é uma causa, é o começo da investigação.
"'Erro humano' nunca é a causa. É o ponto onde a sua investigação deve começar, não terminar."
2.2 A primeira e a segunda história
- Primeira história: "fulano cometeu um erro; se tivesse tido mais atenção, não teria acontecido." Simples, satisfatória, inútil — não muda nada no sistema.
- Segunda história: "dada a informação que a pessoa tinha, a pressão de tempo, a interface confusa e a ausência de checagem automática, a ação dela era previsível — outra pessoa competente teria feito parecido." Essa aponta o que consertar.
A RCA madura sempre procura a segunda história. Se a sua conclusão é "a pessoa deveria ter tido mais cuidado", você ainda não terminou.
2.3 Vieses que a culpa alimenta
| Viés | Como distorce a investigação |
|---|---|
| Retrospectiva (hindsight) | Depois do fato, os sinais parecem óbvios ("como não viram?"). Na hora, estavam misturados a mil outros. Reconstrua o que era conhecível então. |
| De resultado | Julgar a decisão pelo resultado ruim. A mesma decisão, se tivesse dado certo, seria "ok". (Ver apostila de Decisão sob Incerteza, cap. 1.) |
| Atribuição fundamental | Explicar o erro dos outros por caráter ("é descuidado") e os próprios por circunstância ("estava sob pressão"). |
| Causa proximal | Parar na última ação humana antes da falha, ignorando as condições que a tornaram provável. |
2.4 Como conduzir uma investigação sem culpa (na prática)
- Diga, no início e em voz alta: o objetivo é entender o sistema, não avaliar pessoas — e que nada dito ali vira base para punição.
- Pergunte "o que fazia essa ação parecer razoável naquele momento?" em vez de "por que você fez isso?".
- Foque em condições e decisões, não em indivíduos. "O passo de teste não estava no checklist", não "o Pedro não testou".
- Se houver de fato negligência grave ou má-fé (raro), isso é um processo de RH separado — não se mistura com a RCA, ou você contamina as duas.
Pegue uma falha que foi explicada no seu trabalho como "erro de alguém". Escreva a segunda história: que informação a pessoa tinha, que pressões, que ferramentas — de forma que a ação dela fique previsível.
Num postmortem seu (ou do time), ache frases que dizem "era óbvio que" ou "deveriam ter percebido". Reescreva cada uma listando o que competia pela atenção naquele momento e por que o sinal não se destacava.
Capítulo 03 Intermediário
A linha do tempo: fatos antes de interpretação
Antes de qualquer teoria de causa, você precisa de uma reconstrução do que aconteceu, minuto a minuto, separando o que foi observado do que foi inferido.
3.1 Construir a linha do tempo
Liste os eventos em ordem, cada um com hora, o que aconteceu (observável), e fonte (log, mensagem, relato de quem estava). Vá do início plausível (a última vez que estava tudo bem) até a resolução. Inclua o que não aconteceu quando deveria (o alerta que não disparou, a revisão que não houve).
14:02 deploy da versão 2.4.1 iniciado [log de CI]
14:05 deploy concluído "com sucesso" [log de CI]
14:11 primeiro erro 500 no checkout [monitor]
14:11–14:26 taxa de erro sobe a 40%, sem alerta [monitor; alerta só dispara >50%]
14:26 cliente abre ticket "não consigo pagar" [suporte]
14:31 engenharia é acionada pelo suporte [chat]
14:48 rollback iniciado [chat]
14:52 taxa de erro normaliza [monitor]
3.2 Fato vs. interpretação
Na linha do tempo, só fatos. "14:05 deploy concluído" é fato. "O deploy foi mal-feito" é interpretação — vai para a análise, depois. Misturar os dois faz a investigação herdar as suposições cedo demais e parar de procurar. Marque cada linha: observado (O) ou inferido (I)?
3.3 Condições que já estavam lá
Além da sequência de eventos, registre o estado do sistema antes do gatilho — o que era "normal na época" e contribuiu: o alerta configurado para 50% (e não 5%), o checklist de release sem o passo de teste de pagamento, a ausência de ambiente de staging que espelhasse produção, a pessoa de plantão sem acesso ao rollback. Essas não aparecem na linha do tempo dos eventos, mas são metade da causa.
3.4 Cuidados na coleta
- Colete logo: memória degrada e se reorganiza em horas. Faça a linha do tempo no dia.
- Entreviste em separado antes de reunir todo mundo — relatos em grupo convergem para uma versão comum que apaga divergências úteis.
- Não pergunte de forma que sugira a resposta ("você não checou o staging, né?"). Pergunte aberto ("me conta o que você fez entre 14h e 14h30").
- Preserve os artefatos (logs, mensagens, telas) antes que rotação ou limpeza os apague.
Reconstrua a linha do tempo de uma falha recente: hora, o que aconteceu (observável), fonte. Marque cada linha como observado ou inferido. Adicione um bloco separado de "condições que já estavam lá".
Pegue um relato de incidente já escrito. Circule cada frase que é interpretação disfarçada de fato ("o processo falhou", "a comunicação foi ruim"). Reescreva como observação, ou mova para a seção de análise.
Capítulo 04 Intermediário
Os 5 porquês — bem-feitos e mal-feitos
A técnica mais conhecida de RCA é também a mais mal usada. Ela é ótima para uma coisa específica e enganosa para quase todo o resto.
4.1 Como funciona
Parta do problema e pergunte "por quê?" repetidamente, cada resposta virando a próxima pergunta, até chegar a uma causa sobre a qual você pode agir de forma durável. O "5" é aproximado — pode ser 3, pode ser 7.
O checkout ficou fora por 40 min.
→ Por quê? A versão 2.4.1 tinha um bug na chamada de pagamento.
→ Por quê? A mudança não foi testada contra o gateway real.
→ Por quê? O teste de pagamento não está no checklist de release.
→ Por quê? O checklist foi feito antes de o pagamento existir e nunca foi revisado.
→ Por quê? Não há dono nem revisão periódica do checklist de release.
Causa acionável: falta processo de revisão do checklist (com dono).
4.2 As três armadilhas
| Armadilha | O que acontece | Defesa |
|---|---|---|
| Linha única | Os 5 porquês produzem uma corrente, assumindo causa e caminho únicos. Falhas reais têm várias condições em paralelo. | Use os 5 porquês para aprofundar um ramo da árvore (cap. 5), não para substituí-la. |
| Parar cedo (ou tarde) demais | Parar em "faltou atenção" (raso, não acionável) ou seguir até "o capitalismo" (fundo demais para agir). | Pare quando a causa é acionável e dentro do seu alcance de mudança. |
| "Por quê?" que puxa culpa | "Por que você não testou?" leva a defesa, não a informação. | Reformule: "por que o teste não aconteceu / não era parte do fluxo?" |
4.3 Quando os 5 porquês servem bem
- Incidentes específicos e reproduzíveis com uma cadeia dominante clara.
- Como ferramenta de aprofundamento depois que a árvore de fatores (cap. 5) identificou os ramos que valem a pena investigar.
- Para testar rapidamente se uma causa proposta realmente explica o efeito (se o "por quê" não conecta, a causa é fraca).
Depois de montar a cadeia de porquês, leia-a de trás para frente trocando "por quê" por "portanto": "não há revisão do checklist, portanto o teste de pagamento não está nele, portanto a mudança não foi testada, portanto o bug passou, portanto o checkout caiu." Se algum "portanto" não se sustenta, aquele elo da cadeia está errado.
Faça os 5 porquês de uma falha do seu Banco. Depois leia a cadeia de trás para frente com "portanto". Todos os elos se sustentam? Onde parou de fazer sentido é onde a análise precisa de mais fato.
Pegue uma falha que teve claramente mais de uma condição contribuinte. Faça os 5 porquês. O que a cadeia única deixou de fora? (Isso motiva o cap. 5.)
Capítulo 05 Intermediário
Ishikawa e a árvore de fatores com E/OU
Para falhas com várias condições, você precisa de uma estrutura que ramifica — e que distingue "isto sozinho causou" de "isto só causou junto com aquilo".
5.1 O diagrama de Ishikawa (espinha de peixe)
Uma seta central aponta para o efeito (a falha). Dela saem "espinhas", uma por categoria de causa. As 6 categorias clássicas (6M), adaptáveis:
| Categoria | Pergunta para trabalho de escritório / software |
|---|---|
| Método (processo) | O fluxo de trabalho tinha uma lacuna? Um passo faltando, ambíguo, fácil de pular? |
| Máquina (ferramenta / sistema) | Uma ferramenta falhou, faltou, ou tornou fácil o erro (interface confusa)? |
| Material (insumo / dado) | Um dado de entrada estava errado, desatualizado, incompleto? |
| Mão de obra (pessoas / competência) | Faltou conhecimento, contexto, ou a pessoa certa estava indisponível? (sem culpa — condição) |
| Medição (feedback / monitoramento) | O problema podia ter sido detectado antes? O alerta existia e estava calibrado? |
| Meio (ambiente / pressão) | Pressa, prazo, sobrecarga, mudança de contexto, algo externo? |
Você preenche cada categoria com candidatas, mesmo as que parecem improváveis. O objetivo é não esquecer uma família inteira de causa.
5.2 A árvore de fatores causais com E/OU
O Ishikawa lista; a árvore estrutura a lógica. Da falha, você desce por nós:
- Nó OU: qualquer um dos filhos sozinho teria causado o efeito. (Redundância ausente.)
- Nó E: o efeito só aconteceu porque todos os filhos ocorreram juntos. (Múltiplas barreiras furadas — cap. 6.)
Ler a árvore: tirar qualquer um dos nós E teria evitado ou reduzido drasticamente a falha. Isso te dá várias contramedidas independentes — e você escolhe pela hierarquia de controles (cap. 8).
5.3 Ishikawa alimenta a árvore
Fluxo prático: brainstorm de candidatas por categoria (Ishikawa) → montar a árvore ligando as candidatas reais com E/OU → aprofundar os ramos mais fortes com 5 porquês (cap. 4) → testar cada folha por contrafactual (cap. 7).
Pegue uma falha do seu Banco. Preencha as 6 categorias com pelo menos uma candidata cada — inclusive nas que parecem não se aplicar. Qual categoria você tinha ignorado?
Monte a árvore de fatores da mesma falha, marcando cada nó como E ou OU. Quantos nós E existem? Cada um é uma contramedida possível — liste-as.
Capítulo 06 Aplicado
Queijo suíço: gatilho, camadas e condições latentes
Sistemas bem-feitos têm várias barreiras. Uma falha grande atravessa quando os buracos de todas as barreiras se alinham — e alguns buracos estavam lá há meses.
6.1 O modelo
James Reason: imagine cada defesa do sistema (revisão de código, testes, checklist, alerta, plantão) como uma fatia de queijo suíço. Cada fatia tem buracos — falhas pontuais. Normalmente, um buraco numa fatia é coberto pela fatia seguinte. Uma falha grave só acontece quando os buracos de todas as fatias se alinham e a trajetória passa direto.
6.2 Falhas ativas vs. condições latentes
- Falha ativa: o ato ou evento imediato que dispara — o commit com o bug, o comando errado, o clique. Visível, próximo no tempo.
- Condição latente: a fragilidade que já estava no sistema, criada por decisões antigas — o checklist desatualizado, o alerta mal calibrado, a ausência de staging fiel, a documentação errada. Invisível no dia a dia, "adormecida" até um gatilho a ativar.
Consertar só a falha ativa (reverter o commit, punir o clique) deixa todas as condições latentes de pé — prontas para a próxima. A RCA que vale a pena mira as condições latentes.
6.3 Deriva para a falha (drift)
Condições latentes muitas vezes se acumulam por normalização do desvio: um atalho é tomado sob pressão, não dá problema, vira prática; a folga é cortada, o sistema aguenta, o corte vira permanente; um alerta ruidoso é silenciado "temporariamente". Cada passo parece razoável; o conjunto move o sistema para perto da borda. (Liga com a apostila de Pensamento Sistêmico, arquétipo "metas que escorregam".)
6.4 Perguntas do queijo suíço
- Quais barreiras deveriam ter pego isso? (Liste todas as fatias.)
- Para cada barreira que falhou: o buraco era pontual (falha ativa) ou estrutural e antigo (condição latente)?
- Qual dessas condições latentes existe há mais tempo? Ela contribuiu para outros incidentes?
- Que decisão antiga (sob que pressão) criou cada condição latente?
- Onde estamos normalizando um desvio agora que vai virar a condição latente do próximo incidente?
Para uma falha do seu Banco, desenhe as fatias de queijo (as barreiras que deveriam ter pego). Para cada buraco, classifique: falha ativa ou condição latente. Há quanto tempo cada condição latente existe?
Identifique no seu contexto um atalho ou corte de folga que "vem dando certo" e virou prática. Que incidente ele está preparando? O que o traria de volta ao lugar antes de virar causa latente?
Capítulo 07 Aplicado
Testar uma causa candidata: o contrafactual
Você tem uma lista de causas candidatas. Antes de agir sobre elas, cada uma precisa passar por um teste simples: se ela fosse diferente, a falha teria sido evitada?
7.1 O teste contrafactual
Para cada causa candidata C, pergunte: "se C não tivesse ocorrido (ou fosse diferente), o efeito ainda teria acontecido?"
- Se a resposta é "não teria acontecido": C é uma causa contribuinte real. Vale uma contramedida.
- Se a resposta é "teria acontecido do mesmo jeito": C não é causa — é ruído, ou um fator presente mas irrelevante. Não gaste contramedida nele.
- Se a resposta é "teria acontecido, mas menor / mais tarde / mais fácil de conter": C é uma causa contribuinte de mitigação — não evita, mas reduz. Também vale.
Candidatas para o incidente do checkout:
• "O deploy foi numa sexta-feira." → Se fosse terça, o bug ainda estaria lá. Não é causa (embora sexta piore a resposta — fator de mitigação fraco).
• "O teste de pagamento não está no checklist." → Se estivesse, o bug teria sido pego. Causa contribuinte.
• "O alerta dispara só acima de 50%." → Com 5%, teria sido detectado aos 14:12 em vez de 14:31. Causa contribuinte de mitigação.
• "O dev é júnior." → Um sênior, sem o teste no checklist e sem staging fiel, teria feito parecido. Não é causa (segunda história, cap. 2).
7.2 Necessário, suficiente e a cadeia
Distinga (emprestando da apostila de Argumentação, cap. 5): uma condição necessária é aquela sem a qual a falha não acontece — é o melhor alvo de contramedida, porque removê-la quebra a cadeia. Uma condição suficiente sozinha bastaria — perigosa, merece barreira. A maioria das condições contribuintes é "necessária em conjunto": nenhuma sozinha causa, mas remover qualquer uma teria evitado.
7.3 Cuidado com o contrafactual fantasioso
"Se o dev tivesse notado o bug ao revisar" ou "se alguém tivesse pensado nisso" são contrafactuais sobre atenção e sorte — não sobre o sistema. Eles reescrevem a história com um humano ideal e não geram contramedida (não dá para "programar mais atenção"). Um contrafactual útil aponta uma condição do sistema que dá para mudar: um passo de processo, uma ferramenta, um limiar, uma barreira.
7.4 Priorizar as causas testadas
Depois de filtrar as candidatas pelo contrafactual, ordene as sobreviventes por: quão cedo na cadeia ela está (mais cedo = quebra mais coisa), quantos outros incidentes ela poderia causar (condição latente antiga e ampla > pontual), e custo/viabilidade da contramedida. As de cima entram no plano; as de baixo ficam registradas.
Pegue a lista de causas candidatas de uma falha sua (das folhas da árvore do cap. 5). Aplique o teste contrafactual a cada uma. Quais sobrevivem como causa contribuinte? Quais eram só fatores presentes?
Num postmortem existente, ache os contrafactuais que dependem de "alguém ter percebido / pensado / tido cuidado". Reescreva cada um como uma condição do sistema que poderia ter sido diferente.
Capítulo 08 Avançado
Da causa à contramedida: a hierarquia de controles
Identificar a causa é metade do trabalho. A outra metade é escolher uma contramedida que realmente funcione — e "ter mais cuidado" e "treinar de novo" estão no fundo da lista.
8.1 A hierarquia (da mais forte à mais fraca)
| Nível | Tipo de contramedida | Exemplo (incidente do checkout) |
|---|---|---|
| 1 | Eliminar a possibilidade da falha | Tornar impossível fazer deploy sem que o teste de pagamento tenha rodado (pipeline bloqueia). |
| 2 | Substituir por algo menos arriscado | Deploy gradual automático (canário) que reverte sozinho ao detectar erro. |
| 3 | Barreira / controle de engenharia | Staging que espelha o gateway real; alerta em 5%, com página automática. |
| 4 | Aviso / sinalização | Checklist com o passo de teste destacado; banner "você está prestes a fazer deploy em produção". |
| 5 | Procedimento / treinamento | "A partir de agora, sempre testar pagamento antes"; sessão de treinamento. |
Quanto mais alto o nível, menos a contramedida depende de um humano lembrar e acertar sob pressão — e mais durável ela é. Contramedidas de nível 5 (procedimento, treinamento) são as mais fáceis de propor e as que menos previnem repetição, porque a próxima pessoa sob pressão vai esquecer ou pular.
8.2 O reflexo a combater: "vamos criar um processo"
"Se a resposta ao incidente é 'adicionar um passo ao procedimento' e 'reforçar o treinamento', você provavelmente não achou a causa — ou não quis pagar o preço de consertá-la."
Não que procedimento e treinamento sejam inúteis — são o que dá para fazer hoje, e complementam. Mas toda RCA deveria perguntar, para cada causa: existe uma contramedida de nível 1-3 aqui, e por que não estamos fazendo ela?
8.3 A boa ação corretiva
- Verbo concreto e verificável: "adicionar gate de teste de pagamento no pipeline", não "melhorar o processo de deploy".
- Um dono — uma pessoa, não uma equipe.
- Um prazo — data, não "próximo trimestre".
- Um nível na hierarquia — e justificativa se ficou no 4-5 ("nível 1 exige refazer o pipeline, 6 semanas; nível 4 mitiga já").
- Rastreamento: vai para o backlog / tracker como qualquer trabalho, com acompanhamento. Ação de postmortem sem rastreamento é a regra, não a exceção — e é onde a RCA morre.
8.4 Não conserte tudo
Uma falha gera 8 causas contribuintes. Você não vai atacar as 8 — algumas são raras, caras de consertar, e de baixo impacto. Escolha as 2-4 de maior alavancagem (mais cedo na cadeia, condição latente ampla, contramedida viável de nível alto). Registre as outras. Um postmortem com 15 ações vira um postmortem com 15 ações não feitas.
Pegue as ações corretivas de um postmortem do seu time. Classifique cada uma no nível 1-5. Quantas estão no 4-5? Para as causas mais importantes, existe uma contramedida de nível 1-3 que ninguém propôs — e por quê?
Ache uma ação do tipo "reforçar o cuidado / criar orientação / treinar novamente". Reescreva-a como uma contramedida de nível mais alto, com dono, prazo e verbo verificável. É viável? Se não for, o que a torna inviável — e isso deveria ser discutido.
Capítulo 09 Avançado · Demo
Um incidente do gatilho à correção — demo ao vivo
Role devagar. Um incidente — "o deploy de sexta derrubou o checkout por 40 minutos" — é investigado do fato à contramedida, etapa por etapa, no painel da esquerda.
Investigar é um movimento: fatos → barreiras que falharam → gatilho e condições latentes → teste contrafactual → contramedidas por nível. A demo mostra a análise se formando.
Monte a linha do tempo só com fatos
Hora, o que aconteceu (observável), fonte. Do "última vez que estava tudo bem" até a resolução. Marque o que não aconteceu quando devia — aqui, o alerta que não disparou entre 14:11 e 14:31. Nada de interpretação ainda.
Liste as barreiras que deveriam ter pego
Revisão de código, testes automatizados, checklist de release, alerta de erro, plantão com rollback. Para cada uma que falhou, a próxima pergunta é: o buraco era pontual (falha ativa) ou estrutural e antigo (condição latente)?
Separe o gatilho das condições latentes
Gatilho: o bug de pagamento na 2.4.1 — imediato, visível. Latentes: o checklist sem o passo de teste (e sem revisão desde que foi criado), o staging infiel, o alerta calibrado em 50%. Essas três estão adormecidas no sistema há meses e cabem em vários incidentes futuros — são o alvo real.
Teste cada candidata por contrafactual
"Foi sexta" e "o dev é júnior" não passam — a falha teria acontecido igual. "O teste está fora do checklist" passa: se estivesse, o bug seria pego. "Alerta em 50%" passa como mitigação: em 5%, a detecção viria 19 minutos antes. Só o que sobrevive vira contramedida.
Escolha contramedidas pela hierarquia
Nível 1: o pipeline bloqueia deploy sem teste de pagamento (elimina). Nível 3: staging fiel; alerta em 5% com página automática (barreiras). "Treinar o time a testar pagamento" (nível 5) entra só como complemento. Cada ação com dono, prazo e verbo verificável, no tracker.
Pegue uma falha real do seu Banco. Percorra: linha do tempo de fatos → barreiras que falharam → gatilho e condições latentes → teste contrafactual → contramedidas por nível com dono e prazo. Quantas condições latentes você achou que existiam antes do incidente?
Capítulo 10 Muito avançado
Causas sistêmicas, vieses da investigação e os limites da RCA
Às vezes o incidente é sintoma de uma estrutura maior. Às vezes a própria investigação está enviesada. E às vezes "causa raiz" é a pergunta errada.
10.1 Quando o incidente é sintoma de estrutura
Se falhas parecidas se repetem apesar das contramedidas, a causa não está em nenhum incidente — está numa estrutura que continua produzindo incidentes: pressão crônica por velocidade que faz todo mundo pular etapas, subinvestimento em ferramentas que deixa o trabalho frágil, rotatividade que apaga o conhecimento tácito. Aí a ferramenta certa é o diagrama de laços da apostila de Pensamento Sistêmico, não mais um postmortem. Sinal: as ações corretivas dos últimos 5 postmortems são todas variações de "ter mais cuidado / mais um passo".
10.2 Vieses que atacam a investigação
| Viés | Efeito | Defesa |
|---|---|---|
| Retrospectiva | Os sinais parecem óbvios depois; a investigação vira "por que não viram?". | Reconstrua o que era conhecível no momento, com o ruído da época. |
| Causa proximal | Para na última ação humana; ignora as condições latentes. | Sempre pergunte "e o que tornou essa ação fácil de fazer errado?". |
| Confirmação | Achou uma causa plausível cedo e para de procurar as outras. | Regra: toda RCA lista pelo menos 3 causas contribuintes antes de concluir. |
| Viés do resultado | Um "quase-incidente" com bom desfecho não é investigado — perde-se o aprendizado barato. | Investigue quase-acidentes com o mesmo rigor: mesma cadeia, sem o dano. |
| Conveniência política | A "causa" escolhida é a que não incomoda ninguém poderoso. | Quem conduz a RCA não deve ser quem responde pela área investigada. |
10.3 Os limites da RCA
- Sistemas complexos e acoplados: em alguns acidentes (Charles Perrow, "Normal Accidents"), a falha emerge da interação de partes que funcionavam bem — não há um componente "raiz" para consertar. Aí o trabalho é reduzir acoplamento e aumentar folga, não achar a peça culpada.
- Falha de coisa que deu certo: às vezes a mesma decisão que causou o incidente evita dez outros. Remover a "causa" pode piorar o todo. Cheque o custo da contramedida no sistema inteiro (efeitos de segunda ordem).
- Quando vira teatro: se a organização faz postmortems para "mostrar que aprende" e nunca conclui as ações, a RCA está consumindo tempo sem retorno. Consertar o processo de acompanhamento das ações vem antes de fazer mais análises.
- Erro genuíno e isolado: raramente, uma falha é mesmo pontual e improvável, e a contramedida proporcional é "nada além de registrar". Forçar 6 ações corretivas num evento que não vai se repetir é desperdício.
10.4 O propósito, de novo
A RCA existe para reduzir a probabilidade e o impacto da próxima falha da mesma classe — não para produzir um documento, não para atribuir responsabilidade, não para tranquilizar. Se a análise não termina em uma mudança durável no sistema, com dono e acompanhamento, ela não cumpriu a função — por mais bem escrita que seja.
Reúna as ações corretivas dos últimos 5 postmortems do seu time. Quantas são "mais um passo / mais cuidado / mais treinamento"? Se a maioria, esboce o laço sistêmico que está gerando os incidentes.
Pegue os postmortems dos últimos 6 meses. Que fração das ações corretivas foi de fato concluída? Se for baixa, o problema não é a qualidade da análise — é o processo de acompanhamento. Proponha o conserto dele.
Capítulo 11 Estudo de casos
Estudos de caso: 8 falhas investigadas
Cada caso mostra o gatilho, as condições latentes, a causa que sobreviveu ao contrafactual e a contramedida escolhida (com o nível da hierarquia). Ilustrativos.
Queda de checkout após deploy
Software · IncidenteGatilho: bug de pagamento numa release. Condições latentes: teste de pagamento fora do checklist (nunca revisado); staging infiel; alerta em 50%. Sobreviveram ao contrafactual: as três latentes; "foi sexta" e "dev júnior", não. Contramedidas: gate de teste no pipeline (N1), staging fiel (N3), alerta em 5% (N3).
Prazo de projeto estourado em 6 semanas
Gestão · AtrasoGatilho: a homologação voltou 4 vezes. 5 porqués + Ishikawa: critérios de aceite ambíguos (Método), escritos só pelo dev sem produto (Método), sem passo de revisão de critérios (Método), estimativa feita só pela visão de dentro (Método/Meio). Contrafactual: critérios claros teriam evitado ~3 das 4 voltas. Contramedida: template de critérios de aceite coassinado por produto + eng, com checagem no início da sprint (N4), e estimativa ancorada em classe de referência (N4/N5).
Defeito que chegou ao cliente
Qualidade · EscapeGatilho: um caso de borda não coberto por testes. Queijo suíço: revisão de código não olhou o caso; suíte de testes sem cobertura da área; QA manual pulou por falta de tempo (pressão de release — Meio); nenhum monitoramento do comportamento em produção para aquele fluxo. Contramedida: teste automatizado para a classe do caso (N3); métrica de sucesso do fluxo em produção com alerta (N3). QA manual e "revisar melhor" ficaram como complemento (N5).
Cliente importante cancelou
Comercial · PerdaGatilho aparente: uma reclamação mal resolvida. Segunda história / condições latentes: o cliente vinha sinalizando insatisfação em NPS por 3 trimestres sem que ninguém agregasse os sinais; o gerente de conta mudou 2 vezes no ano (rotatividade — Meio); não havia revisão trimestral de contas de alto valor. Contrafactual: uma revisão trimestral teria pego a deterioração. Contramedida: processo de health-check de contas-chave com dono e cadência (N3/N4).
Estouro de orçamento de nuvem
Engenharia · CustoGatilho: um job mal configurado rodou em loop por 5 dias. Condições latentes: sem limite de gasto configurado; sem alerta de anomalia de custo; custo não aparecia em nenhum painel que a equipe olhasse (Medição). Contrafactual: alerta de anomalia teria cortado no dia 1. Contramedida: teto de gasto por projeto (N1), alerta de anomalia diária (N3), custo por serviço visível no dashboard do time (N3 — intervenção de informação).
Quase-acidente: rollback quase não funcionou
Operações · Near-missDesfecho: bom — o rollback funcionou, com 10 min de suor. Investigado assim mesmo: a pessoa de plantão não tinha permissão de rollback e teve que acordar outra; o runbook estava desatualizado. Contrafactual: se a segunda pessoa não atendesse, seria um incidente grave. Contramedida: plantão com permissão de rollback por padrão (N1); teste trimestral do runbook (N3).
Postmortems que não mudavam nada
Processo · Meta-RCAPadrão: incidentes parecidos se repetindo; postmortems bem escritos; ações corretivas quase todas "reforçar processo" e ~30% concluídas. Diagnóstico (cap. 10): sintoma de estrutura — pressão crônica de entrega + ações de postmortem sem prioridade no backlog. Contramedida: ações de postmortem entram como itens P1 com prazo; revisão mensal do que foi concluído; e um limite de trabalho em progresso para reduzir a pressão que gerava os atalhos.
Erro de dado num relatório para o board
Dados · Escape de qualidadeGatilho: uma coluna trocada numa planilha manual. Condições latentes: processo 100% manual, sem validação; um único par de olhos; prazo apertado (Meio); nenhuma checagem de ordem de grandeza contra o período anterior. Contrafactual: uma checagem automática de "os totais batem com o trimestre passado ±X%?" teria pego. Contramedida: validações automáticas no pipeline do relatório (N3); revisão por segunda pessoa nos números que vão ao board (N4).
Escolha 2 casos. Para cada um, desenhe a árvore de fatores com E/OU e classifique cada contramedida no nível da hierarquia. Alguma poderia subir de nível?
Escreva uma falha sua no formato dos cases: gatilho → condições latentes → o que sobreviveu ao contrafactual → contramedida (com nível). Guarde no Banco de Falhas.
Capítulo 12 Prática · Plano
Plano de 30 dias + kit de investigação
Investigar bem é método treinado. Este capítulo vira a apostila em rotina — e em artefatos que você mostra num processo seletivo.
12.1 Plano de treino — 30 dias, ~20 min/dia
| Semana | Foco | Entregável ao fim da semana |
|---|---|---|
| 1 — Fatos e cultura | Caps. 1–3: linha do tempo de 2 falhas passadas (fato vs. inferência); reescrever 2 "erros humanos" como segunda história; bloco de condições latentes. | Banco de Falhas iniciado + 2 linhas do tempo + 2 segundas histórias |
| 2 — Estrutura da causa | Caps. 4–5: 5 porqués + teste de ida e volta em 2 falhas; Ishikawa completo em 2; árvore de fatores com E/OU em 2. | 2 Ishikawa + 2 árvores de fatores |
| 3 — Camadas e teste | Caps. 6–7: mapa de queijo suíço de 2 falhas (ativa vs. latente); teste contrafactual em todas as candidatas; priorização das sobreviventes. | 2 mapas de barreiras + listas de causas filtradas por contrafactual |
| 4 — Contramedida e escrita | Caps. 8, 10: contramedidas por nível para 2 falhas (dono, prazo, verbo verificável); auditoria de acompanhamento dos últimos postmortems do time. | 2 conjuntos de ações corretivas + 1 auditoria de acompanhamento |
12.2 Template de postmortem (kit)
- Resumo (BLUF): o que aconteceu, impacto (clientes, tempo, R$), status. 3-4 frases.
- Linha do tempo: hora / evento observável / fonte. Inclui o que não aconteceu quando devia.
- Condições do sistema antes do gatilho (as latentes).
- Análise: gatilho; barreiras que falharam (queijo suíço); causas contribuintes que passaram no teste contrafactual.
- Contramedidas: tabela — ação (verbo verificável) / nível na hierarquia / dono / prazo / link no tracker.
- O que foi bem na resposta (para preservar).
- Sem seção de culpados. Se há questão de conduta, é processo separado.
12.3 Checklist universal (antes de fechar uma investigação)
- A linha do tempo é só de fatos observáveis, com fonte?
- Separei o gatilho das condições latentes?
- Escrevi a segunda história — nada de "faltou atenção" como causa?
- Listei todas as barreiras que deveriam ter pego, e por que cada uma furou?
- Tenho pelo menos 3 causas contribuintes antes de concluir?
- Cada causa passou no teste contrafactual (se fosse diferente, a falha teria sido evitada/reduzida)?
- Descartei os contrafactuais fantasiosos (que dependem de um humano ideal)?
- As contramedidas foram classificadas na hierarquia de controles — e busquei nível 1-3?
- Cada ação tem dono, prazo, verbo verificável e link no tracker?
- Se falhas parecidas se repetem, considerei que a causa é estrutural (não deste incidente)?
12.4 Como levar isso para o currículo e a entrevista
- Nomeie com o vocabulário do mercado: "análise de causa raiz", "postmortem blameless", "melhoria contínua", "engenharia de confiabilidade", "5 porqués / Ishikawa / FMEA".
- Prove com artefatos: um postmortem que você escreveu com contramedidas de nível alto e ações concluídas; a autópsia de caso do Exercício 11.2; uma auditoria de acompanhamento que mudou o processo.
- Nas entrevistas ("conte de uma falha"): não conte só o que deu errado — conte a investigação: linha do tempo, gatilho vs. condições, o contrafactual, a contramedida durável, e se ela impediu a repetição.
- Meça: recorrência da classe de falha depois da contramedida, fração de ações de postmortem concluídas, quase-acidentes investigados antes de virarem incidentes.
12.5 Biblioteca essencial para seguir avançando
- Cultura e investigação: "The Field Guide to Understanding 'Human Error'" (Sidney Dekker) · "Pre-Accident Investigations" (Todd Conklin) · o capítulo de postmortems do "SRE Book" do Google (gratuito)
- Modelos: "Managing the Risks of Organizational Accidents" (James Reason, o queijo suíço) · material sobre Causal Factor Tree e Apollo Root Cause Analysis
- Sistemas complexos: "Normal Accidents" (Charles Perrow) · "Drift into Failure" (Sidney Dekker) · "The Checklist Manifesto" (Atul Gawande) para o lado das contramedidas
- Qualidade / indústria: materiais sobre 8D, FMEA e A3 (Toyota) para RCA estruturada em manufatura e operações
Daqui a 30 dias, pegue a falha mais cara ou mais recorrente do seu Banco. Produza o postmortem completo pelo template: linha do tempo, gatilho e latentes, barreiras, causas filtradas por contrafactual, contramedidas por nível com dono e prazo. Acompanhe até as ações estarem concluídas. É, ao mesmo tempo, o seu melhor exercício e o seu melhor artefato de portfólio.