☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta Streetlight Effect. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Streetlight Effect. Mostrar todas as mensagens

sexta-feira, 10 de janeiro de 2014

Search Satisfaction: Doctor Who, COBOL e o Dia em que Encontramos o Primeiro Erro — e Paramos Exatamente Uma Causa Raiz Cedo Demais

 

Bellacosa Mainframe e o search satisfaction

☕ Um Café no Bellacosa Mainframe

Search Satisfaction: Doctor Who, COBOL e o Dia em que Encontramos o Primeiro Erro — e Paramos Exatamente Uma Causa Raiz Cedo Demais

Uma viagem pela TARDIS dos incidentes para entender por que encontrar uma explicação plausível pode encerrar nossa busca cedo demais — deixando uma segunda falha, uma causa independente ou um detalhe crítico escondido logo atrás da primeira resposta correta

03:12.

War Room.

Café número:

ninguém mais conta.

No telão:

INCIDENTE P1

APLICAÇÃO:
PAYMENTS-X

SINTOMA:
TRANSAÇÕES DUPLICADAS

INÍCIO:
02:41

IMPACTO:
CRESCENTE

Nosso jovem programador COBOL olha para o dump.

Encontra:

S0C7

Ele aponta.

— Achei!

Todo mundo:

acorda.

O gerente se aproxima.

— O quê?

— Campo inválido.

Abre o registro.

AMOUNT = '0001A500'

Pronto.

Temos:

dado inválido.

Temos:

S0C7.

Temos:

explicação.

O DBA pergunta:

— Corrigimos o arquivo?

— Sim.

Operação:

— Reprocessamos?

— Sim.

Gerente:

— Então fechamos o incidente.

Nosso jovem começa a sentir:

orgulho.

Primeira madrugada.

Primeiro P1.

Primeiro:

“EU ACHEI.”

Corrigem o arquivo.

Restart.

CC 0000

A sala respira.

Gerente:

— Excelente trabalho.

Ticket:

RESOLVED

War Room:

encerrada.

03:47.

Todo mundo vai embora.

Às:

04:26...

telefone toca novamente.

Transações duplicadas:

continuam.

Agora sem:

S0C7.

Nosso jovem volta:

correndo.

O erro que encontrou:

era real.

O dado realmente estava:

inválido.

O programa realmente:

abendava.

Mas:

não era toda a história.

Havia também:

um mecanismo de retry numa integração.

Algumas requisições expiravam.

O cliente repetia.

O downstream recebia:

as duas.

O S0C7 era:

um erro verdadeiro.

Só não era:

a única causa.

VWORP.

VWORP.

VWORP.

A TARDIS surge entre duas fileiras de monitores.

A porta abre.

O Doctor sai.

Olha para o ticket:

RESOLVED

Depois para:

os clientes ainda reclamando.

— Curioso.

Nosso jovem abaixa a cabeça.

— Eu encontrei um erro.

Doctor:

— Sim.

— Era um erro real.

— Sim.

— Corrigimos.

— Sim.

— Então por que ainda estamos aqui?

O Doctor sorri.

— Porque “encontrei alguma coisa” e “terminei de procurar” são estados completamente diferentes.

Bem-vindo ao:



Search Satisfaction

E ao problema intimamente relacionado da:

Premature Search Termination

Ou, em português Bellacosa:

“Achei uma coisa, logo meu cérebro executou STOP RUN antes do fim da investigação.”


🧠 O que é Search Satisfaction?

O conceito ficou particularmente conhecido na radiologia.

Um profissional examina uma imagem procurando:

anormalidades.

Encontra:

uma.

Depois pode ficar mais propenso a deixar de detectar:

uma segunda.

Esse fenômeno foi tradicionalmente chamado de:

Satisfaction of Search — SOS.

Estudos posteriores passaram também a utilizar termos como subsequent search misses, porque pesquisas mostraram que esses erros não são explicados apenas por uma decisão consciente ou inconsciente de “parar de procurar”; atenção, reconhecimento perceptual, expectativas e a interação entre múltiplos alvos também podem participar.

Isso é importante.

Não devemos transformar:

Search Satisfaction

em uma historinha simplista:

“Encontrou um erro, ficou feliz e foi embora.”

A realidade cognitiva:

é mais interessante.

Mas como ferramenta para incident response, debugging e RCA, a pergunta continua poderosíssima:

“Depois de encontrar o primeiro problema, nossa busca perdeu qualidade ou terminou cedo demais?”


☕ A radiografia do mainframe

Imagine uma radiografia.

Existe:

uma fratura evidente.

O médico encontra.

Ótimo.

Mas também existe:

uma segunda lesão.

O primeiro achado chama:

atenção.

Explica:

dor.

Parece suficiente.

O perigo está na palavra:

suficiente.

Em tecnologia:

programa abendou.

Encontramos:

arquivo ruim.

Parece suficiente.

Mas talvez:

arquivo ruim seja consequência

de:

upstream quebrado.

Ou existam:

duas falhas independentes.


🧠 Primeira regra Bellacosa

Uma causa encontrada não prova ausência de outras causas.

Parece óbvio.

Até:

03:12.

Com gerente perguntando:

“Já achou?”


👻 Easter Egg nº 1 — Doctor encontra o Dalek

Companion:

— Doctor! Encontrei o Dalek responsável!

Doctor:

— Excelente.

— Então acabou?

Doctor olha para:

quarenta marcas de roda no chão.

— Quantos Daleks você acha que passaram por aqui?

— Ah.

— Essa é a diferença entre encontrar um Dalek...

Pausa.

— e procurar todos os Daleks.


🧠 Premature Search Termination

Em diagnóstico, debugging e troubleshooting existe uma pergunta implícita:

quando devemos parar de procurar?

Isso é difícil.

Buscar para sempre:

também é ruim.

Você pode gastar:

20 horas

procurando uma quinta causa inexistente.

Então precisamos de:

stop criteria.

A busca madura não termina porque:

“encontrei algo”.

Termina porque:

as evidências relevantes foram explicadas e os critérios de encerramento foram atendidos.


FOUND = TRUE

não deveria automaticamente executar:

MOVE 'Y' TO INVESTIGATION-COMPLETE

Talvez:

MOVE 'Y' TO FIRST-FINDING-FOUND
PERFORM CONTINUE-VALIDATION

Muito melhor.


🧠 Search Satisfaction versus Premature Closure

São conceitos próximos.

Search Satisfaction vem fortemente da literatura de busca visual e radiologia: encontrar um primeiro alvo pode interferir na detecção de alvos posteriores.

Premature closure, mais amplo no raciocínio diagnóstico, ocorre quando encerramos a consideração de alternativas cedo demais porque uma explicação parece suficientemente boa.

Em TI:

Search Satisfaction:

encontrei um erro no log e parei de vasculhar.

Premature closure:

concluí que aquele erro explica o incidente inteiro e parei de testar hipóteses.

Eles podem:

andar juntos.


🧠 Narrative Bias entra imediatamente

Encontramos:

erro.

Construímos:

história.

02:40 INPUT RUIM
      ↓
02:41 S0C7
      ↓
TRANSAÇÕES FALHAM
      ↓
INCIDENTE

Lindo.

Coerente.

PowerPoint praticamente:

se escreve sozinho.

Narrative Bias diz:

“Essa história faz sentido.”

Search Satisfaction responde:

“Então podemos parar.”

Mas:

coerência não é completude.


🎯 Pergunta Bellacosa nº 1

“Que evidência do incidente ainda não é explicada pela causa encontrada?”

No nosso exemplo:

S0C7 explica:

abend.

Mas não explica:

transação duplicada após restart.

Essa pista deveria impedir:

encerramento.


🧠 Residual Evidence

Essa é uma técnica fantástica.

Depois de formular causa:

liste sintomas.

[✔] S0C7
[✔] STEP ABEND
[ ] TRANSAÇÕES DUPLICADAS
[ ] TIMEOUTS EXTERNOS
[ ] RETRIES

Ainda existem:

caixas vazias.

Logo:

RCA incompleta.


☕ Não force a evidência

a caber na história.

Faça a história:

explicar evidência.


🧠 Confirmation Bias chega para ajudar no crime

Encontramos:

erro no arquivo.

Agora pesquisamos:

logs relacionados ao arquivo.

Encontramos:

outro warning.

Perfeito.

Hipótese ganha:

confiança.

Mas talvez os logs de:

network timeout

estejam em:

outro lugar.

Streetlight Effect.

Nossa investigação fica:

presa ao primeiro achado.


🧠 Streetlight Effect + Search Satisfaction

O capítulo anterior encaixa perfeitamente.

Streetlight:

procuramos:

onde existe luz.

Search Satisfaction:

encontramos:

algo debaixo do poste.

Agora:

temos ainda menos motivo psicológico para sair do poste.

Isso é perigoso.


☕ Antes:

“Talvez a chave esteja aqui.”

Depois:

“ACHEI UMA MOEDA!”

E pronto.

Agora temos certeza de que:

a chave também deve estar ali.

Não necessariamente.


🧠 Representativeness Heuristic

Erro:

S0C7.

Incidente:

dados.

“Tem cara de arquivo ruim.”

Pode ser.

Agora:

primeiro achado confirma:

aparência.

Busca termina.

Mas:

representatividade

não substitui:

causalidade completa.


🧠 Recency Bias

Último incidente:

arquivo inválido.

Novo:

parece semelhante.

Achamos:

um campo inválido.

Pronto.

Já vimos esse filme.

Talvez:

não.


🎯 Pergunta Bellacosa nº 2

“Estamos terminando a busca porque a causa explica tudo ou porque ela se parece com algo que já conhecemos?”


🧠 Search Satisfaction em debugging COBOL

Nosso jovem recebe:

TOTAL INCORRETO

Abre:

COMPUTE WS-TOTAL =
        WS-PRICE * WS-QUANTITY.

Descobre:

WS-QUANTITY

tem valor errado.

Achei!

Corrige:

parágrafo onde quantity é calculada.

Testa.

Alguns casos:

passam.

Ticket:

fechado?

Calma.

Por que quantity chegou errada?

Talvez:

copybook divergente.

Se corrigirmos só:

efeito local,

outra rotina:

continua consumindo estrutura incorreta.


🧠 Primeiro erro versus primeiro erro causal

Existe uma técnica útil:

Find the First Bad State.

Não apenas:

onde erro apareceu.

Mas:

qual é o primeiro ponto do fluxo onde o estado se torna incorreto?

Exemplo:

INPUT       OK
↓
MAPPING     OK
↓
COPYBOOK    WRONG
↓
CALCULATION WRONG
↓
REPORT      WRONG

O relatório é:

onde percebemos.

Calculation:

onde investigamos.

Copybook:

onde nasceu.


☕ Bug gosta de:

nascer num bairro

e ser preso:

em outro.


🧠 Five Whys — com cuidado

Perguntar:

“por quê?”

repetidamente pode:

empurrar investigação além do primeiro achado.

Mas não transforme:

5 Whys

em:

ritual religioso.

Nem todo problema tem:

cinco camadas.

Nem toda causa:

é linear.

Sistemas complexos podem ter:

múltiplos contribuintes.


🧠 Search Satisfaction e causa única

Outra armadilha:

queremos:

THE ROOT CAUSE.

Singular.

Um campo.

Uma linha.

Um culpado.

Mas incidentes podem surgir de:

combinações.

CERTIFICATE RENEWAL
+
RETRY SEM IDEMPOTÊNCIA
+
TIMEOUT BAIXO
+
MONITORING INCOMPLETO

Qual é:

a causa?

Pergunta talvez:

simplista.


☕ Root Cause às vezes é:

um condomínio.


🧠 Swiss Cheese

Várias barreiras.

Várias condições.

Um alinhamento.

Se encontrarmos:

uma falha,

não significa:

que encontramos todas as fatias.


🎯 Pergunta Bellacosa nº 3

“Se corrigirmos exclusivamente isto, o mesmo incidente fica impossível de acontecer?”

Excelente teste.

Se resposta:

não,

talvez tenhamos:

contribuinte

e não:

explicação suficiente.


🧠 Counterfactual Test

Imagine remover:

a causa encontrada.

O incidente ainda poderia ocorrer?

Exemplo:

corrigimos campo inválido.

Retry continua:

sem idempotência.

Transação duplicada:

ainda possível.

Logo:

há mais trabalho.


☕ “Sem isso, aconteceria?”

Uma das melhores perguntas:

de RCA.


🧠 Search Satisfaction em War Room

War Room possui:

pressão.

Gerente quer:

status.

Executivo quer:

ETA.

Equipe quer:

dormir.

Então primeiro achado gera:

alívio enorme.

Não é só cognitivo.

É:

organizacional.


🧠 Incentive to Stop

Encontrar causa significa:

encerrar bridge.

Reduzir MTTR.

Cumprir SLA.

Voltar para casa.

Logo:

existe incentivo para:

aceitar suficiência cedo demais.

Campbell entra.

Goodhart observa.


☕ MTTR pode querer:

ticket fechado.

Engenharia quer:

problema compreendido o suficiente.

Nem sempre:

mesmo momento.


🧠 Goodhart’s Law

Se o sucesso da War Room é:

MTTR baixo,

então fechar rapidamente:

fica valioso.

A causa “boa o bastante”

pode ganhar.

Goal Substitution:

restaurar serviço

vira:

fechar incidente.

Search Satisfaction:

primeiro achado facilita.


🧠 Campbell’s Law

Se bônus, ranking ou punição dependem:

tempo de resolução,

a pressão aumenta.

Agora investigação tem:

incentivo institucional para terminar.


🎯 Pergunta Bellacosa nº 4

“Estamos parando porque a busca acabou ou porque continuar procurando ficou organizacionalmente caro?”

Essa pergunta é desconfortável.

Portanto:

boa.


🧠 Goal Gradient Effect

Estamos em:

95% da recuperação.

Encontramos:

um problema.

Corrigimos.

98%.

Todos querem:

Goal Gradient:

empurra.

Agora:

“vamos fechar.”

Mas:

último 2% pode conter:

segunda falha.

Nosso capítulo anterior volta:

falta pouco não significa que o que falta importa pouco.


🧠 Metric Fixation

Dashboard:

green.

Monitoring:

normal.

Encontramos:

one cause.

Metric Fixation diz:

evidência suficiente.

Mas talvez:

cliente continue:

com workaround.


🧠 McNamara Fallacy

Segunda causa:

conhecimento tácito.

Processo humano.

Difficult to measure.

Logo:

não entra.

Primeira causa técnica:

tem log.

Excelente.

Fechamos:

causa fácil.


☕ A causa com timestamp

vence a causa com contexto.

Muito corporativo.


🧠 Search Satisfaction e AI debugging

Agora fica fascinante.

Você manda para IA:

Encontre o bug neste código.

Modelo acha:

uma condição errada.

Ótimo.

Resposta:

“bug encontrado.”

Mas:

pode haver dois.

Ou problema:

fora do snippet.

IA pode:

encerrar geração assim que encontra uma explicação plausível.

Em sistemas de busca e agentes, pesquisas recentes também estudam justamente o desafio de calibrar quando parar de buscar: parar cedo pode produzir respostas incorretas, enquanto buscar demais desperdiça recursos.


🤖 Stop Condition da IA

Agentes precisam decidir:

“já tenho informação suficiente?”

Humanos também.

Isso torna Search Satisfaction:

muito atual.


🧠 Informação suficiente versus primeira informação

Não são iguais.

Agente encontrou:

documentação.

Mas deveria:

verificar versão?

Fonte?

Counterexample?

Recent change?

Same logic.


🎯 Pergunta Bellacosa nº 5

“A IA encontrou uma resposta ou verificou que não existe outra evidência material que a contradiga?”

Excelente.


🧠 Curiosidade 2026: busca agentic

Pesquisas recentes em agentes de busca descrevem tanto over-search quanto under-search: agentes podem pesquisar excessivamente ou encerrar cedo demais porque a fronteira entre “preciso continuar” e “já tenho evidência suficiente” é mal calibrada.

Isso é quase:

Search Satisfaction com GPU.


☕ Humans:

“achei.”

AI:

“sufficient evidence acquired.”

Ambos podem:

estar errados.


🧠 Search Satisfaction em AI clinical reasoning

Um trabalho de 2026 sobre modelos em raciocínio clínico agentic encontrou falhas de busca de informação e identificou padrões como search satisficing, anchoring e premature closure entre os modos de erro observados; o ponto interessante é que uma explicação localmente coerente pode coexistir com uma conclusão globalmente errada quando informações relevantes deixam de ser buscadas.

Em Bellacosa:

boa história + busca incompleta = confiança perigosa.


🧠 Search Satisficing

Termo próximo:

satisficing.

Herbert Simon popularizou a ideia de escolher uma solução:

boa o bastante

diante de limitações.

Isso pode ser racional.

Não precisamos:

buscar infinitamente.

O problema:

definir “boa o bastante”

cedo demais.


☕ Produção não exige:

verdade filosófica absoluta.

Exige:

confiança operacional suficiente.

Mas:

suficiente precisa ter:

critério.


🧠 Quando devemos parar?

Agora chegamos:

ao ponto prático.

Não:

“continue procurando sempre.”

Isso criaria:

Analysis Paralysis.

Precisamos de:

Search Stop Criteria.


🧪 Critério 1 — Todos os sintomas materiais foram explicados?

Checklist:

[✔] ABEND
[✔] TIMEOUT
[✔] DUPLICATION
[✔] CUSTOMER IMPACT

Se não:

continue.


🧪 Critério 2 — Evidência causal existe?

Não basta:

correlation.

Precisamos:

test.

Rollback.

Reproduction.

Trace.


🧪 Critério 3 — A correção removeu o comportamento?

Aplicar fix.

Observe.


🧪 Critério 4 — Existem causas independentes plausíveis?

Pergunte:

what else?


🧪 Critério 5 — Verificamos componentes adjacentes?

Upstream.

Downstream.

Interfaces.


🧪 Critério 6 — Existe evidência contraditória?

Se sim:

não feche.


🧪 Critério 7 — Existe risco de recorrência?

Se sim:

action.


☕ Agora temos:

critério.

Não:

cansaço.


🧠 Search Satisfaction em segurança

Security analyst encontra:

malware.

Ótimo.

Remove.

Incident closed?

Talvez não.

Perguntas:

Como entrou?

Credential compromised?

Persistence?

Lateral movement?

Exfiltration?

Encontrar:

malware

pode ser:

primeiro alvo.

Não:

fim da investigação.


🎯 Pergunta Bellacosa nº 6

“Encontramos o invasor ou apenas uma coisa que o invasor deixou para trás?”


🧠 Search Satisfaction em fraude

Fraude:

encontra uma transação suspeita.

Bloqueia.

Talvez existam:

contas relacionadas.

Network.

Pattern.

Primeiro target pode:

alertar para:

mais targets.


🧠 A descoberta deveria aumentar busca em alguns casos

Essa é uma inversão poderosa.

Encontrar:

um problema

não deveria sempre:

reduzir investigação.

Às vezes:

deveria aumentar.

Porque agora sabemos:

que a classe de falha existe.


☕ Encontrou uma barata?

Talvez não seja:

a única profissional da empresa.

Metáfora cruel.

Mas eficaz.


👻 Easter Egg nº 2 — Daleks novamente

Companion:

— Achei um Dalek!

Doctor:

— Então procure outro.

— Mas já achamos o problema.

— Não.

— Por quê?

— Porque Daleks raramente investem em operações solo com excelente work-life balance.


🧠 Search Satisfaction em migration

Migração:

1000 registros discrepantes.

Encontra:

uma regra de arredondamento errada.

Fix.

Discrepância cai para:

Ótimo.

Ticket fechado?

Não.

Os 300:

estão falando.


🧠 Residual analysis

Depois de remover:

causa conhecida,

analise:

resíduo.

Muito científico.


☕ A sobra é informação.

Não:

lixo.


🧠 Pareto

Talvez:

primeira causa explique:

80%.

Excelente.

Mas em sistema financeiro:

20% pode:

ser enorme.

Não use:

Pareto

como licença para:

ignorar cauda.


🎯 Pergunta Bellacosa nº 7

“Quanto do fenômeno permanece depois de removermos a causa encontrada?”


🧠 Search Satisfaction em performance

Batch ficou:

lento.

Encontramos:

SQL ruim.

Tunamos.

90 min → 60.

Normal histórico:

Problema resolvido?

Não completamente.

Talvez:

volume cresceu

e:

storage latency.

Primeiro finding:

real.

Mas:

residual gap:

20 min.

Continue.


🧠 Baseline matters

Compare:

before.

After.

Expected.


☕ Melhorou

não significa:

voltou ao normal.


🧠 Search Satisfaction em observabilidade

Alert:

CPU.

Encontramos:

runaway process.

Kill.

CPU normal.

Mas cliente:

ainda lento.

Primeiro finding:

not enough.

Customer journey:

source of truth.


🧠 Streetlight novamente

CPU tinha:

alert.

Por isso:

encontramos.

Talvez:

external API

sem monitoring.

Search Satisfaction prende:

na descoberta visível.


🎯 Pergunta Bellacosa nº 8

“O cliente percebeu que corrigimos?”

Se não:

não declare:

mission accomplished.


🧠 Search Satisfaction e Incident Commander

O IC pode ajudar:

separar:

restoration

de:

investigation.

Talvez serviço:

restaurado.

Ótimo.

Incident bridge:

reduz.

Mas RCA:

continua.

Isso evita pressão:

“tudo ou nada.”


SERVICE RESTORED

não precisa significar:

ROOT CAUSE COMPLETE.

Estados diferentes.


🧠 Status model melhor

SERVICE STATUS:
RESTORED

INVESTIGATION:
OPEN

ROOT CAUSE:
PARTIAL

CORRECTIVE ACTIONS:
PENDING

Muito mais honesto.


🧠 Search Satisfaction e Definition of Done

RCA Done:

não quando:

temos um culpado.

Mas quando:

evidência;

scope;

contributing factors;

actions

estão suficientemente claros.


🧠 Premature Closure em suporte

Cliente:

não conecta.

Analista:

reset password.

Funciona.

Ticket:

close.

Semana seguinte:

mesmo cliente.

Problema:

token expiration bug.

Reset:

workaround.

Primeiro achado:

resolveu sintoma.

Não:

causa.


☕ Workaround Satisfaction

Outra forma:

“funcionou.”

Logo:

“entendemos.”

Não.


🧠 Fix versus Explanation

Um fix pode funcionar:

sem provar hipótese.

Restart:

clássico.

Restart resolve.

Por quê?

Memory leak?

Deadlock?

Corrupted cache?

Race?

Unknown.


🎯 Pergunta Bellacosa nº 9

“A ação funcionou porque nossa hipótese estava correta ou apenas porque alterou suficientemente o estado do sistema?”

Fantástica.


🧠 Restart: o grande destruidor de mistérios

Restart:

cura.

Logs:

somem.

State:

reset.

Evidence:

perde.

Action Bias.

Search Satisfaction:

“voltou!”

Premature Closure:

“era travamento.”

Root cause:

RIP.


IPL

às vezes é:

remédio.

Às vezes:

apagador de quadro branco.


🧠 Evidence Preservation

Antes de:

restart,

quando possível:

capture:

dump;

logs;

metrics;

queues;

state.

Isso protege:

investigação.


🧠 Search Satisfaction em RCA pós-incidente

Depois:

alguém encontra:

erro de configuração.

Ótimo.

Pergunte:

por que config errada chegou?

Review?

Automation?

Test?

Guardrail?

Process?

Agora:

systemic learning.


🧠 Fundamental Attribution Error

Primeiro achado:

“Fulano digitou errado.”

RCA:

human error.

Search satisfied.

Mas:

por que era possível?

No validation.

No peer review.

Ambiguous screen.

Deadline.

Now:

context.


☕ A pessoa é:

um finding.

O sistema é:

a investigação.


🎯 Pergunta Bellacosa nº 10

“Estamos satisfeitos porque encontramos quem fez a última ação visível?”

Danger.


🧠 Search Satisfaction e Blame

Culpado encontrado:

necessidade psicológica:

closure.

Narrative Bias.

Fundamental Attribution.

Premature Closure.

Tudo converge.

Blameless postmortems ajudam:

abrir search space.


🧠 Omission Bias

Encontramos primeira falha.

Não procuramos segunda.

A omissão de investigação:

parece menos grave que:

tomar ação errada.

Mas:

é decisão.


🧠 Loss Aversion

Continuar procurando pode:

ameaçar conclusão confortável.

Talvez encontremos:

algo maior.

Isso cria:

resistência.


☕ Às vezes ninguém quer:

abrir a segunda porta.

Porque a primeira já mostrou:

um gremlin.


🧠 Self-Serving Bias

Encontramos erro:

do fornecedor.

Excelente.

Investigation ends.

Porque:

externo.

Se erro fosse:

nosso,

talvez olharíamos:

mais?

Possible bias.


🧠 Principal-Agent

Fornecedor encontra:

uma falha dentro do SLA.

Declara:

root cause.

Cliente:

sofre outra camada.

Incentives:

closure.


🎯 Pergunta Bellacosa nº 11

“Quem se beneficia se aceitarmos esta explicação como suficiente?”

Pergunta desconfortável.

Útil.


🧠 Search Satisfaction em AI-generated RCA

IA resume:

logs.

Produz:

causa provável.

Texto:

convincente.

Narrative Bias amplified.

Operator:

“faz sentido.”

Stop.

Need:

evidence links.

Alternative hypotheses.

Confidence.


🤖 Boa IA para RCA deveria perguntar:

EVIDENCE SUPPORTING:
...

EVIDENCE NOT EXPLAINED:
...

ALTERNATIVE HYPOTHESES:
...

WHAT WOULD FALSIFY:
...

Agora:

melhor.


☕ IA que conta história

é útil.

IA que mostra:

onde história pode estar errada

é ainda mais.


🧠 Search Satisfaction e LLM hallucination

Uma resposta plausível:

não é suficiente.

Verification.

Especially:

critical systems.

Search Satisfaction can:

happen to user:

primeira answer looks good.

Stop.


🎯 Pergunta Bellacosa nº 12

“O que verificaríamos se esta resposta tivesse vindo de um júnior às 03:00 em vez de uma IA confiante?”

Ótima.


🧠 Independent Verification

For critical:

second pair of eyes.

Peer.

Another tool.

Reproduce.


🧠 Second Reader Effect

Radiology sometimes uses:

double reading / second review strategies in contexts where misses matter.

In IT:

second analyst.

Particularly:

high impact.


☕ Quatro olhos também têm vieses.

Mas:

não exatamente os mesmos

no mesmo instante.


🧠 Search Satisfaction em testing

Teste encontra:

bug A.

Developer fixes.

Reruns:

specific test.

Pass.

Release.

But:

bug B

same flow.

Regression suite:

would catch.

Don't stop:

at first green.


🧠 Regression Testing

Search continues:

after fix.

Because:

change can expose:

other issues.


🎯 Pergunta Bellacosa nº 13

“Depois de corrigir a primeira falha, repetimos a busca inteira ou apenas confirmamos a correção?”


🧠 Exploratory testing

Tester finds:

one bug.

Rather than:

leave area,

may explore:

neighborhood.

Because:

defects cluster.

Not universal.

But useful heuristic.


☕ Onde tem fumaça

pode ter:

mais de um fio derretendo.


🧠 Search Satisfaction e security scanners

Scanner finds:

one vulnerability.

Report:

critical.

Fix.

But scanner:

limited.

No alert:

not no vulnerability.

Streetlight.

McNamara.

Continue:

manual testing where warranted.


🧠 Search coverage

Need know:

what search covered.


🎯 Pergunta Bellacosa nº 14

“O que nossa busca foi incapaz de procurar?”

Important.


🧠 Search Satisfaction em data reconciliation

Reconciliação encontra:

R$10k difference.

Identifica:

one batch missing.

Reprocess.

Difference:

R$2k.

Still:

not zero.

Do not:

call solved.

Residual is:

new problem.


☕ Em finanças,

“quase reconciliado”

é uma frase interessante.


🧠 Search Satisfaction e multiple simultaneous failures

Complex systems can:

fail in more than one place.

During major incident:

one component goes down.

Traffic shifts.

Second component overloads.

Now:

two failures.

Fix first.

Second remains.

If assume:

single cause,

surprise.


🧠 Cascading failure

Root cause may:

initiate cascade.

But later failures:

become independently important.

Fix root doesn't:

always instantly restore.


🎯 Pergunta Bellacosa nº 15

“Depois que a primeira falha ocorreu, que novas condições ela criou no restante do sistema?”

Excellent.


🧠 Search Satisfaction e temporal reasoning

Incident timeline.

First event:

not necessarily:

only event.

Map sequence.

02:40 CERT EXPIRES
02:41 TIMEOUTS
02:42 RETRIES
02:43 QUEUE GROWS
02:44 DUPLICATES
02:45 DB2 LOCKS

If find:

DB2 locks,

might stop.

But locks are:

event 5.

Streetlight.

Search Satisfaction.


☕ Timeline é máquina do tempo sem BBC budget.


🧠 Doctor Who approves timelines

A timeline helps:

distinguish:

cause,

consequence,

secondary failure.


🧠 First Observable Event

Find earliest:

abnormal condition.

Still:

not automatically root.

But valuable.


🎯 Pergunta Bellacosa nº 16

“Esse achado aconteceu antes do sintoma ou depois dele?”

Basic.

Powerful.


🧠 Search Satisfaction em requirements

User says:

report wrong.

Developer finds:

filter bug.

Fix.

But requirement itself:

ambiguous.

Another user expects:

different.

Technical bug fixed.

Business ambiguity remains.


🧠 Correct code can implement wrong requirement

Again.

Goal Substitution.


☕ Compiler não valida:

intenção humana.

Ainda.


🧠 Search Satisfaction e process improvement

Incident:

human entered wrong value.

Add validation.

Good.

But maybe:

workload impossible.

People rushing.

If only add control:

Need for Control.

Could create:

more friction.

Root systemic:

not addressed.


🎯 Pergunta Bellacosa nº 17

“Estamos corrigindo a primeira causa visível ou o conjunto de condições que tornou a falha provável?”


🧠 Search Satisfaction e Moral Hazard

Vendor pays:

penalty if root is theirs.

Finds:

client config.

Stop.

Client finds:

vendor retry bug.

Incentives influence:

search stop.

Independent RCA:

sometimes needed.


🧠 Search Satisfaction e Zero-Risk Bias

Find one risk.

Eliminate completely.

Feel safe.

Other risks:

remain.

Zero-Risk.

Search satisfaction:

first risk becomes universe.


🧠 Risk Register

One risk closed:

doesn't mean:

system safe.


☕ Check verde

é só:

um check verde.


🧠 Search Satisfaction e Goal Gradient em auditoria

Auditor precisa:

10 findings.

Encontrou:

Search stops?

Maybe.

Target reached.

Goal Gradient.

Campbell.

Danger.

Search should follow:

risk/sampling criteria,

not:

finding quota.


🧠 Search Satisfaction em monitoring alerts

One alert fires.

Team focuses.

Other alert suppressed.

Alert grouping may hide:

secondary.

Need:

incident overview.


🎯 Pergunta Bellacosa nº 18

“Que outros sinais começaram no mesmo período e foram eclipsados pelo primeiro alerta?”


🧠 Attentional Capture

First salient target:

captures attention.

Modern research into multiple-target search indicates that misses after a first detection can involve more than deliberate early stopping; perceptual and attentional mechanisms can also interfere with detecting later targets.

Isso nos ensina:

discipline processual importa

mesmo quando:

não sentimos estar parando.


☕ Você pode continuar olhando

e ainda assim:

não procurar tão bem quanto antes.

Interessante.


🧠 Então “continue procurando” é suficiente?

Não.

Talvez não.

Precisamos:

resetar atenção.


🧪 Técnica: Search Reset

Depois do primeiro finding:

pare.

Documente.

Então:

recomece a busca mentalmente como se aquele finding ainda não explicasse o caso inteiro.

Pergunte:

“Se eu não soubesse dessa causa, que outras hipóteses consideraria?”

Powerful.


🧠 Diagnostic Time-Out

Uma pausa deliberada:

O que mais?

O que não encaixa?

O que ainda não olhamos?


☕ Antes de CLOSE INCIDENT

execute:

PERFORM WHAT-ELSE

🧠 Second Pass

Pass 1:

find obvious.

Pass 2:

search independent issues.

Excellent.


🧪 Bellacosa Two-Pass RCA

PASS 1 — Explique o principal

Encontre:

causa provável.

PASS 2 — Procure o que sobrevive à explicação

Residual symptoms.

Independent failures.

Context.


🧠 Search Diversity

Second pass by:

different person.

Different tool.

Different domain.

Avoid:

same streetlight.


🎯 Pergunta Bellacosa nº 19

“Quem pode fazer uma segunda busca sem estar apaixonado pela primeira descoberta?”


🧠 Search Satisfaction e handoff

Primeira equipe:

hipótese Db2.

Segunda equipe recebe:

“Db2 issue.”

Anchoring.

Search already biased.

Better handoff:

symptoms + evidence.

Not:

conclusion only.


☕ Ticket title:

DB2 PROBLEM

e pronto.

Agora todo mundo:

procura Db2.

Mesmo que:

não seja.


🧠 Neutral problem statements

Better:

PAYMENT LATENCY
START 02:41
DB2 WARNING OBSERVED, CAUSALITY UNCONFIRMED

Great.


🧠 Search Satisfaction e Anchoring

First finding becomes:

anchor.

Subsequent evidence:

interpreted around it.

So:

label finding:

tentative.


🎯 Pergunta Bellacosa nº 20

“Estamos tratando o primeiro achado como hipótese ou como fato causal?”


🧠 Search Satisfaction e Success Bias

Fix works.

Confidence:

huge.

But intervention may:

affect multiple things.

Restart clears:

several conditions.

Not proof.

A/B impossible often.

Use:

other evidence.


🧠 Controlled experiment

When possible.

Test.

Reproduce.


☕ “Funcionou” é excelente.

“Sabemos por que funcionou”:

outra frase.


🧠 Search Satisfaction em performance tuning

Change buffer.

Performance improves.

Conclusion:

buffer root cause.

Maybe:

workload changed simultaneously.

Need:

repeat.

Baseline.


🧠 Search Satisfaction e correlation

First correlated event:

gets cause status.

Post hoc.

Danger.


🎯 Pergunta Bellacosa nº 21

“Qual outro evento mudou no mesmo intervalo?”


🧠 Search Satisfaction em logs

Search:

ERROR.

Find:

one.

Stop.

But important clue:

WARN.

Or:

absence of expected INFO.

Searching only:

errors

is itself:

Streetlight.


🧠 Negative Space

Missing log:

expected event didn't occur.

Valuable.


☕ Às vezes o problema:

não é a mensagem que apareceu.

É:

a mensagem que nunca apareceu.


🧠 Search Satisfaction e database query

SELECT:

first matching row.

Application:

assumes unique.

But duplicates.

First result satisfies search.

Data bug remains.

Literal computational analogy.


💻 COBOL SEARCH

Imagine tabela:

SEARCH WS-TABLE
   AT END
      CONTINUE
   WHEN WS-ID(IDX) = SEARCH-ID
      MOVE WS-VALUE(IDX) TO RESULT
END-SEARCH.

Se requisito:

“encontre todas as ocorrências”

e você usa lógica:

“encontre a primeira”,

programa implementou:

Premature Search Termination.

Literalmente.


SEARCH sem SEARCH ALL?

Calma.

Não é exatamente esse ponto técnico.

Mas a metáfora:

é irresistível.


🧠 First Match versus Complete Match Set

Requirements matter.

Need:

one?

all?

unique?

Same in incidents.

Are we looking for:

a cause

or:

sufficient causal model?


🎯 Pergunta Bellacosa nº 22

“Nossa investigação precisava encontrar uma resposta ou todas as respostas materialmente relevantes?”


🧠 Search Satisfaction em backups

Restore fails.

Find:

bad tape.

Replace.

Restore succeeds.

But:

RTO exceeded.

Problem solved?

Recoverability:

partly.

Backup media:

one finding.

Process:

still slow.

Outcome:

not met.


🧠 Goal real matters

Goal Substitution again.


🧠 Search Satisfaction e postmortem action items

Root cause found.

Actions:

fix immediate.

Maybe:

no learning.

Ask:

detection.

Prevention.

Mitigation.

Recovery.


🧪 Four Action Categories

PREVENT
DETECT
LIMIT
RECOVER

Even if cannot:

prevent all,

improve system.


☕ Root cause sem action

é:

história.

Action sem root understanding:

pode ser:

curativo.

Precisamos:

ambos.


🧠 Search Satisfaction e Search Cost

Why do humans stop?

Time.

Fatigue.

Attention.

Cost.

Decision pressure.

This isn't stupidity.

In visual-search research, modern work emphasizes that multiple-target misses can arise from several mechanisms, not merely a conscious decision to stop after the first target.

Importantíssimo.

Não transforme:

viés

em:

culpa.

Design:

process.


🧠 Systems defense

Checklist.

Second pass.

Independent review.

Stop criteria.

Tooling.

These reduce dependence:

on perfect cognition.


👻 Easter Egg nº 3 — House e Doctor

House:

— Achamos pneumonia.

Doctor:

— E o sintoma que pneumonia não explica?

House:

— Interessante.

Doctor:

— Pensei que você diria “everybody lies.”

House:

— Você acabou de roubar minha cena.

Crossover cancelado por:

budget.


🧠 Search Satisfaction e checklist médico

A origem radiológica torna a analogia ótima:

achar uma anormalidade não significa que:

imagem foi totalmente interpretada.

Em incidentes:

achar um error code não significa que:

sistema foi totalmente interpretado.


☕ Error code é:

lesão encontrada.

Não:

laudo completo.


🧠 Bellacosa Search Completion Criteria

Antes de fechar:

[ ] Todos os sintomas materiais explicados?
[ ] Timeline consistente?
[ ] Hipótese testada?
[ ] Evidência contraditória resolvida?
[ ] Residual impact = 0 ou explicado?
[ ] Upstream analisado?
[ ] Downstream analisado?
[ ] Causas independentes consideradas?
[ ] Customer outcome normal?
[ ] Recurrence risk tratado?

Se:

não,

status:

INVESTIGATION CONTINUES

🧠 Mas não procure infinitamente

Importantíssimo.

Existe o extremo contrário:

over-search.

Analysis paralysis.

Agentes modernos também enfrentam esse trade-off entre parar cedo demais e pesquisar desnecessariamente por tempo demais.

Então:

maturidade é:

calibrar a fronteira de parada.


☕ Nem:

“achei uma coisa, fecha.”

Nem:

“talvez exista um gremlin quântico número 48.”

Engineering judgment.


🧠 Evidence Threshold

Set based on:

impact.

Low risk:

less investigation.

Financial integrity:

higher.

Safety critical:

higher.


🧠 Risk-based search

Search depth should reflect:

potential harm.

Excellent.


🎯 Pergunta Bellacosa nº 23

“O nível de confiança exigido para encerrar é proporcional ao impacto caso estejamos errados?”


🧠 Search Satisfaction e Severity

Tiny UI bug:

first plausible cause:

maybe enough.

Duplicate payment:

not.

Different:

search threshold.


🧠 Cost of false closure

Ask:

what if we stop now and are wrong?

This calibrates.


☕ Se custo do erro for:

R$3,

talvez.

Se for:

folha de pagamento,

procure de novo.


🧠 Bellacosa 60-Second Search Reset

Antes de declarar root cause:

  1. O que encontramos?

  2. O que isso explica?

  3. O que não explica?

  4. Que outra causa independente é plausível?

  5. O que provaria que estamos errados?

Sessenta segundos.

Talvez:

salve seis horas.


🧠 Search Satisfaction Card

FIRST FINDING:
________________________

WHAT IT EXPLAINS:
________________________

WHAT IT DOES NOT EXPLAIN:
________________________

OTHER PLAUSIBLE CAUSES:
________________________

DISCONFIRMING EVIDENCE:
________________________

SECOND PASS DONE:
YES / NO

Beautiful.


🧠 Search Satisfaction em RCA multi-times

Faça:

cada domínio declarar:

findings.

App.

DB.

Network.

Infra.

Security.

Business.

Depois:

integrate.

Isso evita:

first team finding

encerrar.


🧠 Incident Commander asks “What else?”

After each finding:

“What else could independently produce the remaining symptoms?”

Habit.


☕ Duas palavras:

“O que mais?”

Talvez uma das ferramentas mais baratas:

do troubleshooting.


🧠 Search Satisfaction e Knowledge Management

Document incidents with:

false leads.

Not only:

final cause.

Why?

Future team learns:

what looked plausible.

Avoid repeated streetlight.


🧠 Near Miss in Diagnosis

Record:

what almost closed case incorrectly.

Excellent learning.


🎯 Pergunta Bellacosa nº 24

“Qual foi o momento em que quase encerramos a investigação cedo demais?”

Postmortem gold.


🧠 Search Satisfaction e psychological reward

Finding something feels:

productive.

Uncertainty decreases.

War Room cheers.

This emotional shift can:

make further search feel unnecessary.

Again:

not blame.

Be aware.


☕ O “achei!”

é maravilhoso.

Só não deve ser:

STOP RUN.


🧠 Search Satisfaction e uncertainty collapse

Before:

many hypotheses.

After first find:

one.

Mental entropy:

falls.

Comfort.

Need:

deliberately reopen.


🧠 Consider-the-Opposite

Ask:

what if this finding is real but unrelated?

Or:

only partial?

Excellent debias.


🎯 Pergunta Bellacosa nº 25

“Como explicaríamos o incidente se esse achado não fosse a causa principal?”


🧠 Search Satisfaction e RCA tooling

Tool could enforce:

field:

“unexplained evidence.”

Great.

Another:

“alternative hypothesis tested.”

Don't over-bureaucratize.

Need for Control warning.


🧠 Lightweight guardrail

One or two prompts.

Enough.


☕ Não precisamos:

17 aprovações

para lembrar:

“O que mais?”


🧠 Search Satisfaction em COBOL code review

Reviewer finds:

first bug.

Comments.

May pay less attention:

after.

Potential analogous multiple-target miss.

Better:

complete review pass.

Then:

comment.

Or second pass:

different concern.

Security.

Correctness.

Maintainability.


🧠 Structured Review Passes

Pass 1:

business logic.

Pass 2:

data/error handling.

Pass 3:

operability.

Excellent.


🎯 Pergunta Bellacosa nº 26

“Depois que encontramos um defeito evidente, mantemos o mesmo rigor no restante do código?”


🧠 Search Satisfaction em security code review

First SQL injection found.

Report.

But:

authorization bypass later.

Do complete:

scope.

High stakes.


🧠 Search Satisfaction and checklists

Checklist forces:

continued inspection.

Even after:

finding.

Aviation.

Medicine.

Engineering.

Useful.


☕ Checklist não acha bug.

Ele impede:

nosso cérebro de declarar férias cedo demais.


🧠 Search Satisfaction e sampling

Random sample finds:

one issue.

Should sample expand?

Depends.

If issue suggests:

systemic problem,

yes.

Adaptive sampling.


🧠 Discovery changes prior

Bayesian thought:

one target found can increase probability:

of related targets.

Sometimes discovery should:

increase search effort.


🎯 Pergunta Bellacosa nº 27

“Encontrar este defeito aumenta ou diminui a probabilidade de existirem outros semelhantes?”

Brilliant.


🧠 Search Satisfaction em migration reconciliation

One mapping wrong:

maybe all mappings made by same rule.

Expand:

search.

Don't only:

fix row.


🧠 Pattern-based search

Look for:

same defect class.


☕ Não mate:

um gremlin.

Procure:

a família.


👻 Easter Egg nº 4 — Gremlin no Batch

Nosso famoso gremlin deixa:

um registro ruim.

Você corrige.

No arquivo:

999.999 registros.

Pergunta Bellacosa:

— Ele veio sozinho?

Programador:

— Espero.

Gremlin:

ri no registro 742.881.


🧠 Search Satisfaction e Batch Restart

Fix first record.

Restart.

Next:

same error later.

Repeated.

Maybe systemic source.

Stop playing:

whack-a-mole.

Analyze:

population.


🧠 Search pattern escalation

First occurrence:

fix.

Second:

pattern.

Third:

stop individual treatment.

Find generator.


🎯 Pergunta Bellacosa nº 28

“Estamos corrigindo ocorrências ou eliminando o mecanismo que as produz?”


🧠 Search Satisfaction e alerts correlated

First alert:

Db2.

Could be:

downstream.

Need:

timeline and dependency graph.


🧠 Event correlation

Useful.

But AI/tool correlation:

still requires causal reasoning.


☕ Linha conecta dois pontos.

Não necessariamente:

causa.


🧠 Search Satisfaction e Search Exhaustion

At 04:00:

fatigue.

Search quality:

drops.

First acceptable explanation:

wins.

Need:

shift rotation.

Fresh eyes.


🧠 Fresh Eyes as debias

New engineer enters:

doesn't know first hypothesis.

May notice:

other clue.


🎯 Pergunta Bellacosa nº 29

“Estamos aceitando esta causa porque ela é forte ou porque estamos cansados?”

O café:

não responde.


🧠 Search Satisfaction e Authority Gradient

Senior says:

“é Db2.”

Everyone searches:

Db2.

Junior sees:

MQ anomaly.

Doesn't speak.

First authoritative finding:

terminates diversity.

Psych safety.


🧠 Independent hypothesis before discussion

Have each specialist:

write hypothesis

before hearing:

boss.

Reduces anchoring.


☕ Não deixe:

cargo

virar:

search stop condition.


🧠 Search Satisfaction e social consensus

Everybody agrees.

Feels:

done.

But groupthink.

Assign:

challenger.


🎯 Pergunta Bellacosa nº 30

“Quem nesta sala tem a missão explícita de tentar provar que nossa causa favorita está errada?”


🧠 Search Satisfaction e Incident Timeline v2

Use columns:

TIME
SYMPTOM
EVENT
INTERPRETATION
CONFIDENCE

Separate:

fact

from:

interpretation.


🧠 Facts versus hypotheses

FACT:
MQ queue depth = 3000

HYPOTHESIS:
consumer failure caused queue growth

Don't merge.


☕ Um fato não precisa:

de “acho que”.

Hipótese precisa.


🧠 Search Satisfaction e Self-Serving Bias

Our system:

green.

Vendor:

warning.

Cause:

vendor.

Done!

Maybe.

But:

our retry design amplified.

Shared cause.


🧠 System boundary bias

We may stop at:

organizational boundary.

“Not our fault.”

But customer:

doesn't care.


🎯 Pergunta Bellacosa nº 31

“Mesmo que a primeira falha tenha sido externa, o que em nosso sistema determinou o tamanho do impacto?”

Excellent resilience question.


🧠 Search Satisfaction e resilience engineering

Root event:

unavoidable.

But:

system response

modifiable.

Maybe more valuable than:

blame.


☕ Não podemos impedir:

raio.

Podemos:

melhorar para-raios.


🧠 Search Satisfaction e single point RCA

A root cause field:

one row.

Danger.

Use:

initiating event;

contributing factors;

detection gaps;

recovery gaps.

More nuanced.


🧠 Bellacosa RCA Layers

TRIGGER
CONTRIBUTORS
AMPLIFIERS
DETECTION GAPS
RECOVERY GAPS

Excellent.


🎯 Pergunta Bellacosa nº 32

“Encontramos o gatilho ou entendemos também o que permitiu que ele virasse incidente?”


🧠 Search Satisfaction e “No Fault Found”

Opposite case:

nothing found.

Search stops:

because no obvious evidence.

Streetlight.

Maybe:

sensor gap.

“No fault found” ≠ “no fault.”


🧠 Search stop when absent

Premature termination can:

also happen when expectation says:

nothing else likely.

Target prevalence research shows search behavior can change when targets are rare; this is adjacent rather than identical, but it reinforces the broader lesson that stopping rules shape what we detect.


☕ Procurar o segundo problema

é especialmente difícil

se segunda falha é:

rara.


🧠 Search Satisfaction e rarity

If two simultaneous failures:

rare,

brain says:

one enough.

But complex systems:

rare combinations happen.

Don't invoke:

“impossible.”


🎯 Pergunta Bellacosa nº 33

“Estamos descartando uma segunda falha apenas porque duas falhas simultâneas parecem improváveis?”


🧠 Occam's Razor com cuidado

Simplest explanation:

useful.

But not:

smallest number of causes at any cost.

Einstein-ish principle:

simple as possible,

not simpler.

Don't distort.


☕ Às vezes:

dois bugs.

O universo não assinou:

contrato de exclusividade.


🧠 Hickam’s dictum analogy

Medicine has a famous counterpoint to oversimplified single-diagnosis thinking: patients can have multiple diseases.

In IT:

systems can have:

multiple failures.

Simple.


🧠 Parallel failures

Particularly during:

migration;

peak;

major change;

disaster.


🎯 Pergunta Bellacosa nº 34

“Por que estamos assumindo que só pode existir uma causa?”


🧠 Search Satisfaction e maintenance windows

Multiple changes deployed.

Incident.

Find:

one bad config.

Rollback it.

Partial improvement.

Other change:

also bad.

Change batching increases:

search complexity.

Small changes:

help causal isolation.


🧠 DevOps lesson

Smaller deploys:

narrow search space.

Good.


☕ Menos suspeitos na sala

facilita:

investigação.


🧠 Search Satisfaction e change freeze

After first cause:

don't immediately resume all changes.

Validate:

stability.

Maybe second fault.


🧠 Observation window

Allow:

system settle.


🎯 Pergunta Bellacosa nº 35

“Quanto tempo precisamos observar antes de concluir que o fix resolveu o incidente inteiro?”


🧠 Search Satisfaction e Goal Gradient de investigação

RCA:

90% written.

One unexplained clue.

Deadline.

Goal Gradient:

ignore clue.

No.

Unexplained clue:

may be:

most valuable.


🧠 The One Weird Log

House MD:

always loves.

Bellacosa:

also.


☕ O log que estraga o PowerPoint

merece:

promoção.


🧠 Search Satisfaction e machine-generated summaries

Summaries compress.

May omit:

secondary anomalies.

Use:

raw evidence access.

Metric Fixation.

McNamara.


🧠 Compression risk

One “root cause” sentence:

loses uncertainty.

Keep:

evidence.


🎯 Pergunta Bellacosa nº 36

“O resumo eliminou justamente a anomalia que não cabia na narrativa principal?”


🧠 Search Satisfaction e observability UI

Dashboard highlights:

top anomaly.

Human focuses.

Others:

below fold.

UI creates:

attention hierarchy.

Design:

show correlated anomalies.


🧠 Salience engineering

Tooling influences:

search.


☕ Quem desenha dashboard

também desenha:

para onde os olhos vão.


🧠 Search Satisfaction e alerts deduplication

Dedup useful.

But can hide:

second independent issue.

Need:

correlation rules.


🧠 Search Satisfaction e AI copilots for War Room

Ideal copilot:

after first finding,

asks:

What evidence remains unexplained?
What alternative hypothesis is still plausible?
What changed immediately before impact?
Which unobserved dependency could produce the residual symptoms?

This is:

useful.


🤖 AI as Devil's Advocate

Not merely:

answer machine.

Could:

challenge.


🎯 Pergunta Bellacosa nº 37

“Estamos usando a IA para confirmar nossa hipótese ou para tentar quebrá-la?”


🧠 Search Satisfaction e documentation

Runbook:

if A → B.

B works.

Stop.

But new incident:

A + C.

Runbook may:

prematurely close.

Runbooks need:

escalation criteria.


🧠 Runbook state:

IF STEP RESTORES SERVICE
   VALIDATE END-TO-END

Not:

CLOSE.


☕ Runbook também precisa:

saber desconfiar.


🧠 Search Satisfaction e user reports

Multiple users report:

different symptoms.

First cause explains:

majority.

Minority:

ignored as noise.

Maybe second incident.

Cluster:

symptoms.


🧠 Don't average away heterogeneous failures

Segmentation.


🎯 Pergunta Bellacosa nº 38

“Todos os clientes estão sofrendo exatamente o mesmo problema?”

If not:

maybe multiple causes.


🧠 Search Satisfaction e geography

Only region A.

Then region B after fix.

Different network path.

Need:

segment.


🧠 Search Satisfaction e time windows

First failure:

02:41–03:00.

Second:

03:20 onward.

Same incident?

Maybe:

new.

Timeline.


☕ Um bridge pode hospedar:

dois incidentes

sem avisar.


🧠 Search Satisfaction e causal graphs

Think:

graph.

Nodes.

Edges.

One broken node:

not enough.

Follow:

paths.


🧠 Graph thinking helps

Incident symptom:

node.

Possible causes:

upstream.

Second effect:

downstream.

Good.


🎯 Pergunta Bellacosa nº 39

“Qual caminho causal conecta este achado a cada sintoma?”


🧠 Search Satisfaction e COBOL conditional logic

We can make it literal:

       IF FIRST-CAUSE-FOUND = 'Y'
           PERFORM VALIDATE-ALL-SYMPTOMS
           PERFORM SECOND-PASS
       END-IF.

       IF UNEXPLAINED-SYMPTOMS > ZERO
           MOVE 'N'
             TO RCA-COMPLETE
       END-IF.

Perfeito.


👻 Easter Egg nº 5 — BELLACOSA.BIAS

No dia seguinte aparece:

BELLACOSA.BIAS(SEARCH-SATISFACTION)

Dentro:

       IF FIRST-FINDING = 'FOUND'
           DISPLAY 'GOOD. KEEP THINKING.'
           PERFORM CHECK-RESIDUAL-EVIDENCE
       END-IF.

       IF ALL-SYMPTOMS-EXPLAINED = 'N'
           MOVE 'OPEN'
             TO INVESTIGATION-STATUS
       END-IF.

       IF TEAM-SAYS 'ACHEI'
           PERFORM ASK-WHAT-ELSE
       END-IF.

       IF FIX-WORKED = 'Y'
          AND CAUSALITY-PROVEN = 'N'
           MOVE 'PARTIAL'
             TO CONFIDENCE-LEVEL
       END-IF.

Comentários:

* FINDING SOMETHING
* IS NOT THE SAME
* AS FINISHING THE SEARCH.

Outro:

* ONE TRUE ERROR
* CAN HIDE
* ANOTHER TRUE ERROR.

Outro:

* THE FIRST ANSWER
* MAY BE CORRECT
* AND STILL
* INCOMPLETE.

Outro:

* ASK:
* WHAT ELSE?

E naturalmente:

* ONE DALEK FOUND.
*
* SEARCH STATUS:
* DEFINITELY NOT COMPLETE.

Nosso jovem ri.


🕰️ Voltando para a War Room

04:32.

Primeiro erro:

corrigido.

Segundo:

retry sem proteção adequada contra duplicação.

Nosso jovem pergunta:

— Então o S0C7 não importava?

Doctor:

— Claro que importava.

— Mas não era a root cause?

— Era uma causa real de um problema real.

— Então eu estava certo?

— Sim.

— E errado?

— Também.

Ele fica confuso.

Doctor sorri.

— Bem-vindo a sistemas complexos.


🔧 A investigação continua

Timeline:

02:39 EXTERNAL API LATENCY
02:40 RETRY STARTS
02:41 DUPLICATE REQUESTS
02:41 BAD RECORD CREATED
02:42 COBOL S0C7

Agora percebem:

bad record

não iniciou:

tudo.

Foi produzido:

durante outra cadeia de falhas.

Fix definitivo:

idempotency protection;

validation;

retry policy;

data control;

monitoring.


☕ O primeiro erro

era:

parte da história.

Não:

o título inteiro.


🧠 Depois disso, a War Room muda uma pequena regra

Ninguém pode dizer:

“Root cause encontrada.”

Imediatamente.

Primeiro:

“Primeiro finding encontrado.”

Depois:

validam.

Talvez pareça:

semântica.

Mas palavras:

moldam pensamento.


🧠 Language guardrail

Use:

“candidate cause.”

“contributing factor.”

“evidence.”

Until:

validated.

Excellent.


🎯 Pergunta Bellacosa nº 40

“Estamos nomeando algo como causa antes de demonstrar que ele explica o fenômeno?”


🧬 Regeneração organizacional

Uma organização madura não:

desconfia eternamente.

Também não:

fecha cedo.

Ela sabe que:

buscar tem custo.

Investigar tem:

limite.

Produção precisa:

voltar.

Pessoas precisam:

dormir.

Mas ela também entende que:

o primeiro achado produz uma tentação cognitiva especial: ele reduz a incerteza, cria uma narrativa e oferece uma saída emocional para a investigação.

Por isso:

ela institui:

second pass;

residual evidence;

stop criteria;

independent review;

timeline;

counterfactual;

“what else?”

Não porque:

as pessoas sejam incompetentes.

Mas porque:

bons profissionais também possuem cérebros humanos.


📋 Checklist Bellacosa anti-Search Satisfaction

[ ] Encontramos um finding ou uma causa validada?

[ ] Esse achado explica todos os sintomas?

[ ] Existe evidência residual?

[ ] Existe segunda hipótese plausível?

[ ] Testamos causalidade?

[ ] O fix resolveu o outcome do cliente?

[ ] Houve uma segunda passada na investigação?

[ ] Upstream foi analisado?

[ ] Downstream foi analisado?

[ ] Existem falhas independentes?

[ ] O primeiro achado virou âncora?

[ ] Estamos cansados?

[ ] Há pressão de MTTR?

[ ] O ticket está sendo fechado por KPI?

[ ] Existe alguma evidência que não cabe na narrativa?

🧠 Bellacosa Search Stop Card

FIRST FINDING:
_____________________

CAUSALITY:
PROVEN / LIKELY / UNKNOWN

SYMPTOMS EXPLAINED:
_____________________

UNEXPLAINED:
_____________________

ALTERNATIVES TESTED:
_____________________

SECOND PASS:
YES / NO

CUSTOMER NORMAL:
YES / NO

SAFE TO STOP:
YES / NO

📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Search Satisfaction descreve o problema de um primeiro achado interferir na busca por achados adicionais. O fenômeno ficou particularmente conhecido em radiologia.

Pesquisas mais recentes preferem também falar em subsequent search misses porque o efeito não é explicado somente por uma decisão deliberada de parar a busca; atenção, percepção e expectativas também podem participar.

Premature Search Termination é a parada precoce da investigação antes de reunirmos evidência suficiente.

O primeiro erro encontrado pode ser completamente verdadeiro e ainda assim não explicar o incidente inteiro.

Narrative Bias transforma um achado numa história coerente.

Confirmation Bias procura sinais que apoiam a história.

Anchoring prende investigação ao primeiro finding.

Streetlight Effect mantém busca no local onde esse finding apareceu.

Goal Gradient aumenta a vontade de fechar quando estamos perto do fim.

Goodhart e Campbell podem pressionar a equipe a encerrar incidentes para melhorar MTTR e SLA.

Fundamental Attribution Error pode transformar a primeira ação humana encontrada na “root cause”.

Restart pode restaurar serviço sem provar a causa.

Residual evidence é uma das melhores defesas contra fechamento prematuro.

A pergunta “o que mais?” é absurdamente barata e absurdamente poderosa.

E principalmente:

o primeiro achado pode ser correto sem ser completo.


🥚 Easter Egg final

Antes de entrar na TARDIS, o Doctor escreve no quadro:

FIRST ANSWER != COMPLETE ANSWER

Nosso jovem COBOL olha.

— Doctor, isso nem é COBOL.

— Eu sei.

— Então por que escreveu?

— Porque você vai lembrar.

Pausa.

O jovem aponta:

para o incidente.

— Então quando posso finalmente dizer que encontrei a causa?

Doctor abre a porta da TARDIS.

— Quando a evidência deixar de fazer perguntas importantes que sua explicação não consegue responder.

— Isso parece trabalhoso.

— É.

— Não existe atalho?

Doctor pensa.

— Existe.

— Qual?

— Fechar cedo.

Nosso jovem sorri.

— E o que acontece?

O Doctor entra na TARDIS.

— Normalmente...

VWORP.

VWORP.

VWORP.

— ...outro incidente.

A TARDIS desaparece.

No quadro fica apenas:

“Não pare quando encontrar alguma coisa. Pare quando souber por que pode parar.”

E talvez essa seja a essência do Search Satisfaction / Premature Search Termination no Bellacosa Mainframe:

uma descoberta deveria reduzir nossa incerteza — nunca reduzir automaticamente nossa curiosidade.

☕🌀

Próxima parada: Premature Closure — quando deixamos de apenas interromper a busca e damos o passo seguinte: promovemos uma hipótese plausível ao cargo de diagnóstico oficial antes que todas as evidências tenham sido devidamente interrogadas.

segunda-feira, 16 de dezembro de 2013

Streetlight Effect: Doctor Who, COBOL e o Dia em que Procuramos o Erro Debaixo do Poste — Porque Era o Único Lugar Onde Tínhamos Log

 

Bellacosa Mainframe e o streetlight effect

☕ Um Café no Bellacosa Mainframe

Streetlight Effect: Doctor Who, COBOL e o Dia em que Procuramos o Erro Debaixo do Poste — Porque Era o Único Lugar Onde Tínhamos Log

Uma viagem pela TARDIS dos incidentes para entender por que investigamos primeiro aquilo que é fácil de observar — e como dashboards, traces, logs, métricas e ferramentas podem nos prender exatamente no lugar errado enquanto a causa raiz permanece escondida no escuro

02:17.

Madrugada.

War Room.

Esse horário por si só já reduz aproximadamente 40% da capacidade humana de produzir frases completas.

O café está naquela fase em que não se sabe mais se:

é bebida;

é combustível;

ou se deveria possuir classificação de risco químico.

Na tela:

INCIDENTE P1

APLICAÇÃO:
PAYMENTS-X

SINTOMA:
TRANSAÇÕES INTERMITENTEMENTE LENTAS

INÍCIO:
01:43

CLIENTES AFETADOS:
INDETERMINADO

O gerente pergunta:

— Db2?

DBA:

— Normal.

— CICS?

CICS:

— Normal.

— CPU?

Sysprog:

— Normal.

— Storage?

— Normal.

— MQ?

— Parece normal.

Silêncio.

Nosso jovem programador COBOL observa o dashboard.

Tudo:

verde.

Mas clientes continuam:

reclamando.

O gerente pergunta:

— Temos algum log mostrando erro?

— Não.

— Trace?

— Nada evidente.

— Então onde está o problema?

Nosso jovem responde:

— Talvez onde não estamos olhando.

O gerente olha para ele.

— Excelente. Onde?

— Não sei.

— Então como vamos procurar?

Silêncio.

Uma voz no fundo:

— Vamos aumentar o trace do Db2.

Outra:

— Podemos ativar mais CICS monitoring.

Outra:

— Vamos analisar SMF.

Nosso jovem percebe algo estranho.

Ninguém tinha evidência de que:

Db2

ou CICS

fossem a causa.

Mas eram os lugares onde:

existiam ferramentas excelentes.

Logs.

Counters.

Traces.

Especialistas.

Ou seja:

havia luz.

VWORP.

VWORP.

VWORP.

A TARDIS surge no corredor.

A porta abre.

O Doctor sai segurando algo aparentemente incapaz de passar por qualquer processo sério de change management.

Ele observa:

RMF.

Db2.

CICS.

MQ.

Depois pergunta:

— Por que estão olhando aqui?

Gerente:

— Porque o problema está aqui.

— Como sabem?

— Porque estamos investigando aqui.

Doctor:

— Isso explica onde vocês estão olhando.

Pausa.

— Não explica onde perderam a chave.

Bem-vindo ao:



Streetlight Effect

ou:

Efeito Poste de Luz

Também conhecido em alguns contextos como:

Drunkard’s Search Principle

A ideia é simples:

tendemos a procurar respostas onde é mais fácil procurar, não necessariamente onde é mais provável encontrá-las.

Em linguagem Bellacosa:

“Se só temos log embaixo do poste, depois de algumas horas começamos perigosamente a acreditar que a causa raiz também deve morar embaixo dele.”


💡 A história clássica

Existe uma velha anedota.

Um policial encontra um homem procurando algo debaixo de um poste.

Pergunta:

— O que você perdeu?

— Minhas chaves.

— Onde perdeu?

O homem aponta:

para uma área escura do outro lado da rua.

Policial:

— Então por que está procurando aqui?

Resposta:

— Porque aqui tem luz.

Pronto.

Streetlight Effect.


☕ O bêbado não é burro

Isso é importante.

Procurar:

onde existe luz

faz sentido.

É mais fácil.

Mais rápido.

Talvez inclusive valha a pena começar ali.

O erro acontece quando:

facilidade de investigação é confundida com probabilidade de causa.


🧠 COBOL para iniciantes

Imagine programa:

       READ CUSTOMER-FILE
           AT END
              MOVE 'Y' TO EOF-SW
       END-READ.

Produção relata:

registros desaparecendo.

Você abre:

programa COBOL.

Porque:

é o que conhece.

Analisa:

READ.

IF.

PERFORM.

Nada.

Passa:

três horas.

Depois alguém pergunta:

— O arquivo de entrada está completo?

Silêncio.

Você nunca:

olhou.

Porque o ticket dizia:

“Erro no programa COBOL.”

Streetlight Effect.


☕ Às vezes o bug do COBOL

não está:

no COBOL.

Essa frase separa:

iniciante

de:

analista.


🧠 Sintoma não identifica camada

Aplicação lenta.

Pode ser:

COBOL;

Db2;

CICS;

MQ;

network;

DNS;

storage;

API externa;

batch concorrente;

authentication;

downstream.

O sintoma:

“lento”

não possui:

copybook dizendo:

ROOT-CAUSE = DB2

Infelizmente.


🧠 Representativeness Heuristic entra pela porta

“Tem cara de Db2.”

Já vimos.

Agora Streetlight acrescenta:

“E Db2 é justamente onde temos ferramenta boa.”

Perfeito.

Duas forças:

parece Db2

é fácil investigar Db2

Resultado:

Db2 vira:

suspeito oficial.


👻 Easter Egg nº 1 — Dalek investigando

Dalek:

— LATENCY DETECTED.

Doctor:

— Onde?

— UNKNOWN.

— O que vão investigar?

— DATABASE.

— Por quê?

— DATABASE DASHBOARD AVAILABLE.

— Isso não é uma causa.

— DASHBOARD HAS GRAPHS.

— Também não é causa.

— GRAPHS ARE BEAUTIFUL.

Doctor:

— Estamos perdidos.


🧠 Streetlight Effect e McNamara Fallacy

Aqui a sequência fica linda.

McNamara Fallacy:

o que consigo medir ganha prioridade sobre o difícil de medir.

Streetlight Effect:

o que consigo observar ganha prioridade na investigação.

Ou seja:

MCNAMARA:
"MEÇA ONDE É FÁCIL"

          ↓

STREETLIGHT:
"PROCURE ONDE É FÁCIL"

Agora:

o escuro some.


🧠 Metric Fixation prepara terreno

Dashboard:

CPU.

Db2.

CICS.

Tudo bem instrumentado.

Uma dependência FTP obscura:

sem telemetria.

Qual área aparece em:

todas as War Rooms?

As instrumentadas.

Isso pode criar:

viés estrutural.


☕ O componente mais observado

não é necessariamente:

o componente mais culpado.

Talvez apenas:

o que tem Grafana.


🎯 Pergunta Bellacosa nº 1

“Estamos investigando este componente porque há evidência contra ele ou porque temos ferramentas melhores para observá-lo?”

Essa pergunta é ouro.


🧠 Observability Bias

Podemos pensar de forma prática:

aquilo que produz:

logs;

metrics;

traces

fica:

visível.

Aquilo que não produz:

some.

Mas:

invisibilidade técnica não é inocência.


🧠 Um legado silencioso

Imagine:

sistema antigo.

Sem:

APM.

Sem:

OpenTelemetry.

Sem:

dashboard moderno.

Só:

SYSOUT.

Aplicações modernas ao redor:

instrumentação total.

Incident:

qual recebe mais suspeita?

Modern services.

Porque:

vemos.

Legacy:

fica no escuro.

Talvez seja:

justamente a causa.


☕ O monstro pode não estar no dashboard

porque:

nasceu antes do dashboard.


🧠 Mainframe tem vantagem e armadilha

Mainframe possui:

instrumentação maravilhosa.

SMF.

RMF.

CICS statistics.

Db2 accounting.

IMS logs.

MQ.

Tudo muito rico.

Isso é:

excelente.

Mas também pode gerar:

uma confiança interessante:

“Se houvesse algo errado, apareceria.”

Hmm.

Nem sempre.


🧠 Telemetria não cobre tudo

Pode faltar:

business context;

external dependency;

bad data;

human process;

rare race condition;

timing;

client-side behavior.


🎯 Pergunta Bellacosa nº 2

“Que tipo de falha nosso conjunto atual de instrumentos simplesmente não consegue enxergar?”

Perfeita para arquitetura.


🧠 Streetlight e Confirmation Bias

Hipótese inicial:

Db2.

Agora procuramos:

Db2 logs.

Encontramos:

um warning.

Ahá!

Confirmation Bias.

Mas:

sistemas complexos sempre possuem:

warnings.

A questão:

é causal?

Talvez:

não.


☕ Todo log possui algo assustador

se você olhar:

tempo suficiente.


🧠 Correlation hunting

Incident:

01:43.

Encontramos:

Db2 spike:

01:42.

Pronto.

Cause.

Maybe.

Mas também:

backup começou;

network jitter;

authentication refresh;

MQ batch.

Precisamos:

causalidade.


🧠 Narrative Bias entra

Uma boa história aparece:

“Db2 começou a sofrer → aplicação ficou lenta → clientes reclamaram.”

Coerente.

Parece:

root cause.

Agora ninguém quer:

sair do poste.

Narrative Bias.


🎯 Pergunta Bellacosa nº 3

“Que evidência faria essa hipótese morrer?”

Excelente.

Se resposta:

“nenhuma,”

não temos hipótese.

Temos:

religião.


🧠 House MD entra no NOC

Equipe:

— Db2.

House:

— Por quê?

— Query ficou lenta.

— Causa ou sintoma?

— Parece causa.

— Então parem Db2.

— Não podemos.

— Ótimo. Então talvez precisemos pensar.

House e Doctor:

seriam expulsos da mesma War Room em aproximadamente:

12 minutos.


☕ Diagnóstico diferencial

É exatamente isso.

Não:

“qual causa?”

Mas:

“quais causas plausíveis explicariam o conjunto de sintomas?”


🧠 Differential Diagnosis para TI

Imagine:

transação lenta.

Hipóteses:

H1 DB2 LOCK
H2 CICS TASK QUEUE
H3 MQ LATENCY
H4 NETWORK
H5 EXTERNAL API
H6 RACF/AUTH
H7 DATA DISTRIBUTION
H8 CLIENT RETRY

Agora busque:

evidências.

Não fique:

apenas onde a lanterna alcança.


🧠 Hypothesis Matrix

HIPÓTESE      EVIDÊNCIA A FAVOR   CONTRA   TESTE

DB2 LOCK      pequena             forte    accounting
MQ            média               pouca    queue/trace
NETWORK       média               none     packet timing
API EXT       forte               none     external logs

Isso reduz:

Streetlight Effect.


☕ War Room vira investigação

Não:

turismo por dashboard.


🧠 Action Bias piora tudo

Pressão.

Todos querem:

fazer.

Onde conseguem agir?

Db2.

CICS.

Restart.

Porque:

tem console.

Illusion of Control.

Streetlight.

Action Bias.

Agora comando acontece:

no local mais visível,

não necessariamente:

no culpado.


🧠 Console Bias

Não é um termo formal que precisamos inventar.

Mas a imagem é ótima:

quem possui console sente que possui ação.


☕ Se tenho martelo

e dashboard de pregos...

você conhece o resto.


🧠 Maslow’s Hammer

Relacionado:

se a única ferramenta é martelo,

tudo parece prego.

Streetlight é diferente:

você procura onde há luz.

Mas os dois podem:

trabalhar juntos.


👻 Easter Egg nº 2 — Sonic Screwdriver

Companion:

— Doctor, sua chave de fenda sônica não abre madeira.

— Eu sei.

— Então?

— Estou procurando problema que envolva metal.

— Por quê?

— Porque consigo resolver metal.

Companion:

— Isso parece profundamente suspeito.


🧠 Expertise Bias

DBA vê:

Db2.

Network engineer vê:

network.

COBOL programmer vê:

code.

Security vê:

attack.

Todo especialista possui:

uma lanterna.

Problema:

cada lanterna ilumina:

um pedaço.


🧠 Fundamental Attribution to Component

Talvez possamos dizer:

não culpe especialistas.

É natural.

Conhecimento molda:

atenção.

Defesa:

multidisciplinaridade.


☕ War Room existe justamente porque

nenhuma pessoa possui:

todas as lanternas.


🎯 Pergunta Bellacosa nº 4

“Quem precisamos trazer para a sala porque pode enxergar uma parte do sistema que ninguém aqui enxerga?”

Muito importante.


🧠 Streetlight e silos

Silos tornam:

lanternas separadas.

App:

“infra.”

Infra:

“app.”

DB:

“network.”

Network:

“application.”

Cada um prova:

sua área verde.

Incident continua.


☕ Todos inocentes

sistema culpado.

Clássico.


🧠 End-to-End Thinking

Cliente atravessa:

front-end;

API;

network;

auth;

mainframe;

CICS;

COBOL;

Db2;

MQ.

O problema pode estar:

na transição.

Interfaces.

Onde ownership:

é fraco.

E justamente:

interfaces costumam ter:

menos observabilidade.


🧠 Handoffs são regiões escuras

Entre:

teams.

Products.

Vendors.

Protocols.

Streetlight ama:

essas regiões.

Porque:

ninguém olha.


🎯 Pergunta Bellacosa nº 5

“Onde estão os limites de responsabilidade entre sistemas e quem observa esses limites?”

Excelente.


🧠 A chave pode estar no estacionamento

Talvez o incidente esteja:

fora da nossa organização.

Third-party API.

Telecom.

DNS provider.

Certificate.

User device.

Se dashboard interno:

verde,

talvez seja:

boa pista.

Não:

prova de inexistência.


☕ “Nosso sistema está normal”

pode significar:

“nossos sensores internos estão normais.”

Frases diferentes.


🧠 External Dependencies

Catalog.

Map.

Monitor.

Include:

vendor.

Otherwise:

dark region.


🧠 Streetlight e Availability Heuristic

Último incidente:

Db2.

Agora:

novo incidente.

Db2 vem:

rápido à memória.

Availability Bias.

Streetlight:

ferramentas já abertas.

Recency Bias:

incidente de ontem.

Representativeness:

sintoma parece igual.

Perfeito storm.


🌀 Bias Stack

RECENCY
   ↓
"ONTEM FOI DB2"

REPRESENTATIVENESS
   ↓
"PARECE DB2"

AVAILABILITY
   ↓
"LEMBRO DE DB2"

STREETLIGHT
   ↓
"TEMOS LOG DB2"

CONFIRMATION
   ↓
"ACHEI UM WARNING DB2"

Parabéns.

Root cause:

talvez DNS.


☕ O cérebro acabou de abrir cinco tickets contra Db2

sem advogado.


🧠 Base Rate Neglect

Historicamente:

quantos incidentes vêm:

de Db2?

Network?

Data?

External?

Use:

base rate.

Ajuda:

priorizar hipóteses.

Mas:

não vire Metric Fixation.

Contexto.


🧠 Bayesian mindset

Sem matemática pesada:

prior probability.

New evidence.

Update.

Não:

apaixone pela primeira hipótese.


🎯 Pergunta Bellacosa nº 6

“Essa hipótese é provável ou apenas fácil de investigar?”

Simples.

Poderosa.


🧠 Streetlight em debugging COBOL

Bug:

valor incorreto.

Programador abre:

calculation paragraph.

COMPUTE TOTAL = PRICE * QUANTITY.

Parece:

óbvio.

Investiga.

Mas:

PRICE já chegou errado.

Origin:

copybook mapping.

Data conversion.

Input.

Streetlight:

olhar onde resultado aparece.

Root cause:

earlier.


☕ Bug costuma gostar de viajar

e aparecer:

muito longe de onde nasceu.


🧠 Data lineage

Para problemas de dados:

siga:

origem.

Transformações.

Don't only:

final program.


🧠 First Bad Value

Pergunte:

“Qual é o primeiro ponto onde o valor deixa de estar correto?”

Essa é uma técnica excelente.

Vai:

para trás.


🧠 Binary Search da cadeia

Se pipeline:

10 etapas.

Valor ruim no final.

Check:

etapa 5.

Bom?

Então:

6–10.

Ruim?

1–5.

Simple.


☕ Divide et impera

Antes:

de culpar COBOL.


🧠 Streetlight em performance

Application slow.

Você mede:

CPU.

CPU high.

Ahá.

Mas high CPU pode ser:

efeito.

Not cause.

Maybe retries:

cause CPU.

Why retries?

Network timeout.

Root cause:

network.

CPU:

poste iluminado.


🧠 Symptom vs Cause

Always ask:

upstream/downstream.


🎯 Pergunta Bellacosa nº 7

“Isso explica o incidente ou apenas mostra onde o incidente ficou visível?”

Excelente.


🧠 Streetlight em observabilidade

Observability itself can:

create blind spot.

Dashboard built:

for expected failures.

Unknown failure:

not represented.

That's why:

logs/traces/exploration.


🧠 Known Unknown versus Unknown Unknown

Metrics answer:

questions anticipated.

Observability ideally helps:

ask new questions.

Important.


☕ Métrica diz:

“aquilo que imaginamos monitorar.”

Incidente pergunta:

“e aquilo que vocês não imaginaram?”


🧠 Streetlight e AI Ops

IA recebe:

telemetria disponível.

Detecta:

patterns.

Mas se root cause está:

em fonte não conectada,

modelo não vê.

Then:

AI confidence may:

still high.

McNamara + Streetlight automatizados.


🤖 AI cannot infer data it never gets

Pode:

inferir.

Mas não magicamente:

observe.

Garbage/missing context.


🧠 AI incident assistant

It may rank:

Db2

because:

rich telemetry.

Legacy system:

little telemetry.

Algorithm:

biased by observability.

This is huge.


🎯 Pergunta Bellacosa nº 8

“O modelo está dizendo que esse componente é mais provável ou apenas possui mais dados sobre ele?”

Excelente para IA.


🧠 Data Availability Bias

In machine learning:

what data exists shapes:

model.

Streetlight Effect applies:

beautifully.


🧠 Search Space Bias

If tool only queries:

known datasets,

cause outside:

never found.

Need:

coverage awareness.


☕ IA com lanterna maior

continua:

lanterna.

Não vira sol.


🧠 Streetlight em segurança

Security monitors:

network events.

Attack occurs:

business logic.

Dashboard:

clean.

Or monitor:

cloud.

Mainframe path:

less visible.

Attacker chooses:

dark region.


🧠 Attackers love blind spots

If defenders monitor:

A,

adversary uses:

B.

Observability becomes:

attack surface information.


🧠 Detection coverage

Map:

what we detect.

What we don't.

Don't assume:

zero alert = zero attack.

McNamara again.


🎯 Pergunta Bellacosa nº 9

“Onde um atacante escolheria operar justamente porque nossos sensores são mais fracos?”

Powerful.


🧠 Streetlight em fraud detection

Model detects:

known fraud patterns.

Fraudsters move:

to new pattern.

Team studies:

alerts.

But no alert:

means invisible.

Streetlight.


🧠 Unknown fraud

Need:

random sampling.

Anomaly exploration.


☕ Procurar só onde detector apita

é deixar detector decidir:

o universo pesquisável.


🧠 Random Sampling

Excellent anti-Streetlight technique.

Sample:

transactions with no alert.

See:

what model misses.


🧠 Negative Space Analysis

Analyze:

absence.

Non-alerted population.

Very useful.


🧠 Streetlight em QA

Tests cover:

known paths.

Bugs appear:

untested combinations.

Team investigates:

failed tests.

But customer bug:

outside suite.

Coverage metric:

green.

Metric Fixation.

Streetlight.


🧠 Exploratory Testing

Human exploratory testing searches:

outside scripted light.

Very valuable.


☕ Test case é lanterna

Exploratory tester:

anda no escuro.

Com cuidado.


🧠 Streetlight e code coverage

Coverage:

95%.

Fantastic.

Remaining 5%:

maybe critical exception path.

Goal Gradient wants:

100%.

Streetlight focuses:

covered code because reports rich.

But defect:

uncovered.


🎯 Pergunta Bellacosa nº 10

“O que existe exatamente na parte que nossos testes não exercitam?”


🧠 Streetlight em RCA

Postmortem uses:

logs available.

Root cause becomes:

thing represented in logs.

Human process:

not logged.

Ambiguous requirement:

not logged.

Org pressure:

not logged.

So:

technical cause dominates.

McNamara Fallacy.


🧠 Socio-technical systems

Incidents often involve:

people;

process;

tools;

incentives.

Not just:

component failure.


ERROR CODE 1234

é mais fácil colocar no RCA

que:

“deadline fez equipe normalizar risco durante seis meses.”

Mas segundo pode ser:

mais importante.


🧠 Fundamental Attribution Error

If only human action visible:

“operator error.”

But system context:

dark.

Again.


🎯 Pergunta Bellacosa nº 11

“Qual parte organizacional ou processual da história não deixa log?”

Excelente para postmortem.


🧠 Streetlight em change management

Incident after change.

Change is:

visible.

Immediate suspect.

Maybe fair.

But could be:

coincidence.

Post hoc.

Need evidence.


☕ “Mudou às 14h, quebrou às 15h”

é:

pista.

Não sentença judicial.


🧠 Post Hoc Ergo Propter Hoc

After therefore because.

Another cognitive trap.

Streetlight enhances:

recent change visible.


🧠 Change Timeline

Compare:

symptoms before.

Control group.

Rollback.

Test causal.


🧠 Streetlight e blame

Person who touched system:

visible.

People who designed:

bad process years ago:

invisible.

Fundamental Attribution Error.


🧠 “Last touch” trap

Last person:

not necessarily cause.

Could be:

trigger.

Latent conditions.

Swiss Cheese.


☕ Quem apertou Enter

nem sempre escreveu:

o destino.


🧠 Streetlight em vendor management

Vendor system:

black box.

Internal system:

fully visible.

Incident.

Where do we investigate?

Internal.

Why?

Access.

Vendor says:

“all good.”

Maybe.

We can't see.

Dark region.


🧠 Black Box Risk

Contracts need:

telemetry.

Evidence.

Escalation.

Otherwise:

permanent blind spot.


🎯 Pergunta Bellacosa nº 12

“Que parte do serviço não conseguimos investigar diretamente por dependência de fornecedor?”


🧠 Streetlight em cloud

Cloud dashboards:

beautiful.

On-prem legacy:

awkward.

Transformation team sees:

cloud data.

Maybe assumes:

cloud issue share higher.

Measurement bias.


🧠 Data richness changes perception

More data often means:

more anomalies found.

Then:

“cloud has more problems.”

Maybe just:

more observable.


☕ Com lanterna melhor

você encontra:

mais poeira.

Não significa:

que aquele quarto é o mais sujo.


🧠 Detection Bias

More monitoring:

more incidents detected.

This can make:

system look worse.

Again McNamara.


🧠 Streetlight e training

Junior knows:

JCL.

Incident:

explores JCL.

Doesn't know:

WLM.

Maybe root cause:

WLM.

Knowledge defines:

search space.

Learning expands:

streetlights.


☕ Quanto mais você aprende

mais postes acende.

Beautiful.


🧠 Generalist value

Cross-domain people:

connect.

They may:

notice boundary.

Mainframe generalist:

COBOL + Db2 + CICS + JCL + ops.

Great for:

Streetlight defense.


🧠 But no one knows everything

Thus:

collaboration.


🎯 Pergunta Bellacosa nº 13

“Qual domínio relevante ninguém nesta War Room conhece suficientemente?”


🧠 Streetlight e Dunning-Kruger

Novice:

doesn't know dark regions exist.

Expert:

knows.

Dunning-Kruger.

A novice may:

confidently search:

known area.


☕ “Olhei tudo.”

Tudo o quê?

Tudo que:

você conhece.

Different.


🧠 Unknown Unknown Inventory

Funny but useful.

Ask:

what dependencies might we have forgotten?

Architecture map.

CMDB.

Service map.


🧠 Dependency discovery

Logs.

Network.

Code.

Documentation.

People.


🧠 Streetlight e Illusion of Control

Dashboard gives:

visibility.

Console gives:

commands.

Now:

feels controlled.

But dark dependency:

outside.

Illusion.


🎯 Pergunta Bellacosa nº 14

“O que está fora do nosso controle mas dentro da nossa cadeia de dependência?”


🧠 Streetlight Effect em mainframe performance — exemplo completo

Batch:

normally:

40 min.

Today:

Step:

COBOL + Db2.

First instinct:

Db2.

We have:

accounting.

SQL stats.

Nothing.

Next:

COBOL.

CPU:

normal.

Then someone asks:

input file size?

Yesterday:

20M.

Today:

75M.

Root cause:

upstream duplicate records.

Program:

fine.

Db2:

fine.

Performance:

expected given volume.

The Streetlight trap was:

investigate components

instead of:

workload.


☕ Antes de tunar

pergunte:

“o que mudou?”

Old but gold.


🧠 Change Analysis

Four buckets:

code;

config;

data;

environment.

Add:

external dependencies.


🧠 Bellacosa 5D

1. CODE
2. CONFIG
3. DATA
4. ENVIRONMENT
5. DEPENDENCIES

Check all.


🎯 Pergunta Bellacosa nº 15

“O que mudou no sistema, nos dados ou no ambiente antes do sintoma?”


🧠 Streetlight em dados

If log:

application.

But bad source data:

not logged as error.

Application behaves:

correctly on wrong data.

Important.


🧠 Correct Software, Wrong Outcome

Technical success.

Business failure.

Goal Substitution.


☕ Programa fez exatamente:

o que mandaram.

Infelizmente.


🧠 Reconciliation catches dark problems

Control totals.

Counts.

Business checks.

Excellent.


🧠 Streetlight em DR

DR tests:

documented scenarios.

Real disaster:

different.

Tests illuminate:

known.

Need:

chaos/scenario variation.


🧠 Preparedness beyond checklist

Unknown scenarios.

Decision-making.


☕ O desastre real raramente lê:

runbook antes.


🧠 Streetlight e Zero-Risk Bias

We eliminate:

well-understood risk.

Unknown risk:

dark.

Zero-Risk makes:

visible zero attractive.

Meanwhile:

unmeasured tail remains.

McNamara + Streetlight + Zero-Risk.


🎯 Pergunta Bellacosa nº 16

“Estamos removendo um risco porque é importante ou porque conseguimos provar que chegou a zero?”


🧠 Streetlight e Need for Control

Darkness:

uncomfortable.

So organizations:

increase instrumentation.

Good!

But cannot instrument:

everything perfectly.

At some point:

need judgement.


🧠 Observability expansion

A healthy response to Streetlight:

move the lamp.

Not:

deny darkness.


☕ Leve a lanterna

até onde perdeu a chave.

Simples.


🧠 Instrument the dark

If recurring blind spot:

add:

telemetry.

This is a key practical lesson.

After incident:

ask:

what did we wish we could see?

Then:

instrument.


🧠 Observability Debt

Systems can have:

observability debt.

No logs.

No trace.

Poor correlation IDs.

Worth fixing.


☕ Dívida técnica também pode:

ser escuridão.


🧠 But don't instrument blindly

Need:

useful signals.

Not:

terabytes.

Metric Fixation.


🧠 Streetlight anti-pattern: logging everything

You think:

more logs = more light.

But:

noise.

Need:

structure.

Correlation.

Context.


🎯 Pergunta Bellacosa nº 17

“Que nova evidência específica gostaríamos de ter tido durante este incidente?”

Then instrument that.


🧠 Streetlight e Correlation IDs

Modern distributed systems:

essential.

Request crosses:

many boundaries.

Correlation ID:

moves light.

Mainframe integrations:

same.

Trace transaction:

API → MQ → CICS → Db2.


☕ Um identificador atravessando mundos

quase uma mini-TARDIS.


🧠 End-to-End Transaction Tracing

Huge defense.

Don't only:

component dashboards.

Trace:

journey.


🧠 Customer-centric observation

Start:

customer transaction.

Follow.

Not:

component first.

This flips Streetlight.


🎯 Pergunta Bellacosa nº 18

“Podemos seguir uma transação real de ponta a ponta?”

Powerful.


🧠 Streetlight e sampling

If full tracing expensive:

sample.

But:

rare failures may be missed.

Adaptive sampling.

Error sampling.


🧠 Keep rare signals

Don't sample away:

problem.


☕ O bug raro

não aprecia:

amostragem econômica.


🧠 Streetlight em AI coding/debugging

Developer asks AI:

“find bug in this function.”

AI inspects function.

Maybe bug:

caller.

Input.

Schema.

Prompt created:

Streetlight boundary.

Need:

broader context.


🤖 Prompt Scope Bias

Not formal necessary.

But:

AI can only reason:

context given.

If context excludes:

root cause,

it may confidently debug:

wrong area.


🎯 Pergunta Bellacosa nº 19

“Estamos perguntando à IA onde está o bug ou dizendo implicitamente onde ela deve procurar?”

Excellent.


🧠 Repository-level context

For AI debugging:

stack trace.

Call chain.

Config.

Recent changes.

Tests.

Not only:

function.


☕ “Corrija este COBOL”

pode produzir:

belíssima correção

para:

programa inocente.


🧠 Streetlight e incident copilots

Agent trained on:

logs.

No ticket conversations.

Maybe misses:

human clue.

Connect:

multiple sources.

But privacy/governance.


🧠 Human-in-the-loop

Human can:

ask weird question.

Machine often:

optimizes available data.

Together:

stronger.


👻 Easter Egg nº 3 — Doctor e IA

AI:

— Probability Db2 root cause: 82%.

Doctor:

— Why?

— 84% of available telemetry pertains to Db2.

Doctor:

— That's not probability of guilt.

AI:

— Recalculating.

Good AI.


🧠 Streetlight e statistical significance

Researchers can study:

data available.

Hard-to-measure variables:

ignored.

Science also vulnerable.

Not anti-science.

It is:

methodological caution.


🧠 Measurement selection

Research question can drift:

to dataset availability.

Important.


☕ “Temos dados sobre isso”

não é:

a mesma frase que:

“isso é a pergunta mais importante.”


🧠 Business analytics

Same.

Company has:

clickstream.

Measures clicks.

Offline customer experience:

unknown.

Clicks become:

reality.

McNamara + Streetlight.


🎯 Pergunta Bellacosa nº 20

“Estamos fazendo a pergunta porque é importante ou porque já temos a tabela pronta?”

Brutal.


🧠 Streetlight e RCA tools

Automated RCA often ranks:

correlated metrics.

Useful.

But if causal source:

not monitored,

cannot rank.

Always retain:

unknown category.


🧠 "No evidence found" ≠ "component innocent"

Key.


☕ Ausência de evidência

não é automaticamente:

evidência de ausência.

Especially when:

sensor weak.


🧠 Negative Evidence depends on detection capability

If alarm would:

always fire,

no alarm:

strong evidence.

If alarm detects:

20%,

no alarm:

weak.

Need:

sensor sensitivity.


🎯 Pergunta Bellacosa nº 21

“Se esse problema estivesse acontecendo, nosso monitor realmente seria capaz de detectá-lo?”

This is one of the best.


🧠 Streetlight e security SIEM

No alert.

Means?

Depends:

coverage.

Rule.

Telemetry.

Detection logic.

No alert ≠ no compromise.


🧠 Detection engineering

Test controls.

Purple team.


☕ Detector também precisa:

ser testado.


🧠 Streetlight and backups again

Backup tool says:

success.

Restore test:

different light.

Need:

look at objective.


🧠 Goal Substitution connection

If goal:

backup completion,

you search:

backup logs.

If goal:

recoverability,

you test:

restore.

Different streetlight.


🧠 Streetlight e KPI investigation

KPI falls.

Management investigates:

components feeding KPI.

Maybe customer behavior changed outside:

measurement system.

Again.


🎯 Pergunta Bellacosa nº 22

“Qual fenômeno externo poderia produzir exatamente esse mesmo indicador?”


🧠 Streetlight e organisational politics

Sometimes dark regions remain dark because:

politically difficult.

Vendor.

Management decision.

Understaffing.

Unrealistic deadline.

Easier:

blame technical parameter.

Streetlight can be:

social.


☕ É mais fácil ajustar:

MAXTASK

que:

questionar prazo impossível.

Sometimes.


🧠 Political Streetlight

Not merely:

tool availability.

Also:

organizational comfort.

We search:

where safe.

Not:

where threatening.


🎯 Pergunta Bellacosa nº 23

“Existe uma hipótese que ninguém quer investigar porque seria organizacionalmente desconfortável?”

Powerful.


🧠 Moral Hazard and Principal-Agent

Vendor measured:

SLA.

Issue maybe contract design.

But investigation stays:

technical.

Because:

easier.

Principal-Agent.


🧠 Incentive Root Causes

Ask:

what behavior was rewarded?

Cobra.

Campbell.

Goodhart.

Some root causes:

not code.


☕ Nem todo bug compila

Alguns:

são aprovados em reunião.


🧠 Streetlight e “human error”

Human action:

visible.

System pressure:

dark.

So RCA:

human error.

Classic.


🧠 Work-as-imagined vs Work-as-done

Procedure says:

X.

Reality:

people do Y to make system work.

Y:

not logged.

Incident reveals.

Investigate.


🎯 Pergunta Bellacosa nº 24

“Como o trabalho realmente acontece quando ninguém está auditando?”

Important.


🧠 Streetlight e shadow IT

Official systems:

monitored.

Excel macro:

not.

Script local:

not.

Incident:

maybe shadow process.

Need:

discover.


☕ O componente mais crítico

pode estar:

no desktop do João.


🧠 Bus factor again

People are dependencies.

Observe.


🧠 Streetlight e monitoring design

A mature observability strategy asks:

not only:

“What should we measure?”

But:

“Where are we blind?”

Maintain:

blind spot register.


🧠 Blind Spot Register

BLIND SPOT:
External partner latency

IMPACT:
Payment timeout

CURRENT EVIDENCE:
Customer complaints only

MITIGATION:
Synthetic probe

Useful.


🎯 Pergunta Bellacosa nº 25

“Quais são nossos cinco maiores pontos cegos conhecidos?”

Excellent executive question.


🧠 Synthetic Monitoring

Great way to:

move light toward:

user journey.

Test:

from outside.


🧠 Real User Monitoring

Another view.

Internal green.

External slow.

Now:

see.


☕ Olhar de dentro

e olhar de fora.

Duas lanternas.


🧠 Streetlight e canaries

Canary transactions.

Business checks.

Useful.


🧠 Streetlight and data quality

Technical service green.

Business reconciliation red.

Need:

business observability.


🧠 Business Metrics

Not only:

technical.

Transaction value.

Success.

Balance.


🎯 Pergunta Bellacosa nº 26

“Temos observabilidade técnica ou observabilidade do negócio também?”

Huge.


🧠 Streetlight Effect em uma linha COBOL

       IF LOG-AVAILABLE = 'Y'
           PERFORM SEARCH-HERE
       ELSE
           MOVE 'NOT-CAUSE'
             TO ASSUMPTION
       END-IF.

Bug.


💻 Correção

       IF LOG-AVAILABLE = 'Y'
           PERFORM SEARCH-HERE
       ELSE
           PERFORM EVALUATE-BLIND-SPOT
       END-IF.

Much better.


🧠 Bellacosa Search Strategy

When incident:

1. Start where evidence points.

Not where tools are nice.

2. List plausible layers.

Don't tunnel.

3. Mark blind spots.

Known dark.

4. Seek disconfirming evidence.

Kill hypotheses.

5. Trace end-to-end.

Customer journey.

6. Expand instrumentation after incident.

Move lamp.


📋 Checklist anti-Streetlight

[ ] Por que estamos investigando esta área?

[ ] Existe evidência ou apenas boa observabilidade?

[ ] Que componentes estão no escuro?

[ ] Alguma dependência externa está fora do painel?

[ ] O sintoma pode ser efeito e não causa?

[ ] Que hipótese contradiz nossa favorita?

[ ] Qual especialista ainda não está na sala?

[ ] Estamos ignorando interfaces entre times?

[ ] O dado de entrada foi validado?

[ ] Houve mudança de volume?

[ ] Existe trabalho manual escondido?

[ ] Um fornecedor é black box?

[ ] Nosso monitor detectaria essa classe de falha?

[ ] Podemos seguir uma transação ponta a ponta?

[ ] Qual evidência gostaríamos de ter e não temos?

🧠 Bellacosa Darkness Map

Antes de incidentes grandes:

WELL OBSERVED:
Db2
CICS
CPU

PARTIALLY OBSERVED:
MQ
Network

POORLY OBSERVED:
External API
User device
Manual reconciliation

UNKNOWN:
Legacy transfer chain

Isso é:

humildade operacional.


☕ Saber onde está escuro

já é:

forma de observabilidade.


🧠 Red Team da Observabilidade

Pergunte:

“Como um incidente poderia acontecer sem gerar nenhum de nossos alertas?”

Excelente.

Depois:

simulate.


🧠 Failure Injection

Chaos engineering can:

test blind spots.

But:

safely.


🧠 Tabletop

Cheaper.

“What if?”


🎯 Pergunta Bellacosa nº 27

“Qual falha grave passaria silenciosamente por todos os sensores atuais?”

Excellent.


🧠 Streetlight e AI Red Team

Ask model:

given monitoring map,

find blind spots.

Useful.

But:

human validation.


🧠 AI can help expand search

Instead of:

just ranking logged anomalies,

ask:

what unobserved dependencies could explain symptoms?

That's smarter.


☕ Use IA para:

mover a lanterna.

Não apenas:

examinar mais profundamente o mesmo poste.


🧠 Streetlight e Decision Journal

Record:

why investigated.

After RCA:

compare.

Were we biased?

Learn.


🧠 Incident Learning

If cause outside observed region:

add:

lesson.

Not only:

monitor.

Maybe:

architecture simplification.


🧠 Sometimes best fix is remove dark dependency

Not instrument:

everything.

Simplify.


☕ Menos corredor escuro

melhor que:

mil lanternas.


🧠 Streetlight e Need for Control

Instrumentation can grow:

infinitely.

Don't.

Prioritize:

risk.

Critical journeys.


🧠 Risk-Based Observability

Instrument:

high impact.

Hard failure.

Unknown.


🎯 Pergunta Bellacosa nº 28

“Estamos colocando luz onde há maior risco ou apenas onde é mais barato instalar a lâmpada?”

Perfeita.


🧠 Streetlight e McNamara — ciclo completo

Observe:

O QUE É FÁCIL MEDIR
        ↓
RECEBE DASHBOARD
        ↓
FICA VISÍVEL
        ↓
RECEBE ATENÇÃO
        ↓
RECEBE INVESTIGAÇÃO
        ↓
PARECE MAIS IMPORTANTE

Enquanto:

O DIFÍCIL DE MEDIR
        ↓
SEM DASHBOARD
        ↓
INVISÍVEL
        ↓
MENOS ATENÇÃO
        ↓
MENOS INVESTIGAÇÃO
        ↓
PARECE MENOS IMPORTANTE

Esse loop:

é perigoso.


🧠 Measurement becomes attention allocation

This is profound.

Dashboards don't only:

describe organization.

They decide:

where people look.


☕ Aquilo que ganha gráfico

ganha olhos.

Aquilo que ganha olhos

ganha orçamento.

Aquilo sem gráfico:

reza.


🧠 Streetlight em governance

Risk register includes:

known risks.

Management manages:

known.

Unknown:

ignored.

Need:

scenario planning.


🧠 Premortem

Imagine failure.

What could cause:

that isn't in risk register?

Excellent.


🎯 Pergunta Bellacosa nº 29

“O que pode nos derrubar justamente porque nunca entrou na lista?”


🧠 Streetlight em documentação

Runbook covers:

known incidents.

Future:

new.

Operator may search:

runbook only.

Need:

diagnostic thinking.


☕ Runbook é mapa

não:

território.

De novo.


🧠 Teach beginners hypotheses

Not only:

commands.

Why command?

What evidence?

What would prove wrong?

That's expertise development.


🧠 COBOL beginner maturity ladder

Nível 1

“Erro está no COBOL.”

Nível 2

“Vou ler código.”

Nível 3

“Vou validar input.”

Nível 4

“Vou mapear fluxo.”

Nível 5

“Vou testar hipóteses end-to-end.”

Nível 6

“Vou perguntar onde estamos cegos.”

Welcome:

seniority.


☕ Senior não sabe todas as respostas

Sabe:

onde ainda pode estar errado.


👻 Easter Egg final — a chave

Depois de quatro horas:

o Doctor pergunta:

— O que aconteceu imediatamente antes do primeiro timeout?

Alguém lembra:

— À 01:40 houve troca automática de certificado num proxy externo.

Silêncio.

— Temos log?

— Não.

— Dashboard?

— Não.

— Monitoring?

— Não.

— Então por que ninguém olhou?

Nosso jovem responde:

— Porque estava escuro.

Doctor:

— Finalmente.


🔧 Teste no proxy

Certificate chain:

incompleta.

Alguns clientes:

retries.

Timeout.

Application:

waiting.

Db2:

normal.

CICS:

normal.

MQ:

normal.

CPU:

normal.

O sistema interno estava:

fazendo exatamente aquilo que deveria.

O problema:

estava fora do poste.


☕ Quatro horas analisando Db2

Root cause:

certificado.

Um clássico universal.


🧠 Pós-incidente

Equipe adiciona:

synthetic monitoring.

Certificate expiry validation.

External dependency telemetry.

Service map.

Agora:

um pedaço do escuro:

ganha luz.


🧠 Não procuram culpado

Melhoram:

capacidade de enxergar.

Isso é:

maturidade.


📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Streetlight Effect é a tendência de procurar respostas onde é mais fácil procurar, em vez de onde a resposta é mais provável.

A anedota clássica envolve alguém procurando uma chave debaixo do poste porque ali existe luz, embora a tenha perdido em outro lugar.

Em TI, logs, dashboards, traces e conhecimento especializado criam regiões iluminadas.

Componentes pouco instrumentados podem virar pontos cegos.

McNamara Fallacy privilegia aquilo que conseguimos medir; Streetlight Effect privilegia aquilo que conseguimos investigar.

Metric Fixation faz o dashboard ganhar autoridade.

Representativeness faz o incidente “parecer” com algo conhecido.

Recency faz o incidente recente dominar a memória.

Confirmation Bias encontra sinais que apoiam nossa primeira hipótese.

Narrative Bias transforma esses sinais numa história convincente.

Action Bias nos faz agir sobre o componente onde temos console.

Illusion of Control faz confundir comandos disponíveis com controle real.

Sintoma não é causa.

Correlação temporal não é automaticamente causalidade.

Ausência de alertas só é evidência útil se o monitor realmente conseguir detectar aquela classe de falha.

A causa pode estar numa interface entre equipes, fornecedores ou tecnologias.

Tracing ponta a ponta é uma das melhores defesas.

Conhecer seus pontos cegos é parte da observabilidade.

E principalmente:

não procure a chave debaixo do poste apenas porque ali é confortável investigar. Se a evidência aponta para o estacionamento escuro, pegue uma lanterna e vá até lá.


🥚 Easter Egg final

Na manhã seguinte aparece um membro:

BELLACOSA.BIAS(STREETLIGHT)

Dentro:

       IF AREA-HAS-GOOD-LOGS = 'Y'
           PERFORM INVESTIGATE
       END-IF.

       IF AREA-HAS-NO-LOGS = 'Y'
           PERFORM CHECK-BLIND-SPOT
       END-IF.

       IF HYPOTHESIS = 'EASY-TO-TEST'
          AND EVIDENCE = 'WEAK'
           PERFORM EXPAND-SEARCH
       END-IF.

       IF DASHBOARD = 'GREEN'
          AND CUSTOMER = 'BROKEN'
           PERFORM LEAVE-THE-STREETLIGHT
       END-IF.

Comentário:

* THE LIGHT
* SHOWS WHERE
* YOU CAN SEE.
*
* NOT NECESSARILY
* WHERE THE ANSWER IS.

Outro:

* NO LOG
* DOES NOT MEAN
* NO PROBLEM.

Outro:

* FOLLOW THE TRANSACTION,
* NOT THE DASHBOARD.

Outro:

* IF EVERYONE
* IS LOOKING AT DB2,
* SOMEONE SHOULD
* LOOK SOMEWHERE ELSE.

E naturalmente:

* LOST KEY:
* DARK PARKING LOT.
*
* SEARCH LOCATION:
* UNDER LAMP.
*
* ROOT CAUSE:
* HUMAN.

Nosso jovem fecha o membro.

Ri.


🕰️ 06:34

Incident:

resolved.

Gerente pergunta:

— Então nossos dashboards estavam errados?

Nosso jovem:

— Não.

— Como não?

— Eles mostravam corretamente aquilo que estavam observando.

— Então qual era o problema?

Ele aponta para o mapa de dependências.

— Eles não estavam observando o lugar onde o problema estava.

Silêncio.

Doctor sorri.

— Excelente.

O gerente pergunta:

— Como impedimos isso da próxima vez?

Nosso jovem responde:

— Não impedimos completamente.

— Então?

— Aprendemos onde estão nossas áreas escuras.

— E colocamos mais dashboards?

— Às vezes.

Pausa.

— Em outras, colocamos pessoas melhores para perguntar onde ainda não olhamos.

Boa.

VWORP.

VWORP.

VWORP.

A TARDIS desaparece.

Na War Room fica uma frase:

“Observabilidade não é enxergar tudo. É saber o que enxergamos, saber o que não enxergamos e ter disciplina para procurar fora da luz quando as evidências exigirem.”

E talvez essa seja a essência do Streetlight Effect no Bellacosa Mainframe:

as ferramentas determinam onde é fácil procurar; engenharia madura garante que elas não determinem onde somos obrigados a acreditar que a verdade está.

☕🌀

Próxima parada: Search Satisfaction / Premature Search Termination — o dia em que encontramos a primeira explicação plausível, paramos de procurar e descobrimos tarde demais que havia uma segunda falha escondida logo atrás da primeira.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...