☕ 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 Normalization of Deviance. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Normalization of Deviance. Mostrar todas as mensagens

sábado, 15 de agosto de 2026

Normalization of Deviance: Doctor Who, COBOL e o Dia em que a Gambiarra Funcionou Tantas Vezes que Virou Procedimento Oficial

 

Bellacosa Mainframe e a normalization of devianc

☕ Um Café no Bellacosa Mainframe

Normalization of Deviance: Doctor Who, COBOL e o Dia em que a Gambiarra Funcionou Tantas Vezes que Virou Procedimento Oficial

Uma viagem pela TARDIS dos incidentes para entender como pequenos desvios, exceções, atalhos e riscos podem ser repetidos sem consequências imediatas até deixarem de parecer perigosos — e como sistemas críticos podem caminhar lentamente para o desastre enquanto todo mundo continua dizendo que “sempre fizemos assim”

23:41.

Sala de operações.

Nenhum incidente.

Nenhuma War Room.

Nenhum gerente correndo.

Nenhum Dalek.

Ainda.

Nosso jovem programador COBOL está acompanhando:

um fechamento noturno.

O batch deveria executar:

STEP10
STEP20
STEP30
STEP40

Mas:

STEP30 costuma travar.

O operador experiente explica:

— Quando chegar no STEP30, cancela e restart no STEP40.

Nosso jovem:

— Mas o procedimento diz para investigar antes do restart.

— Eu sei.

— Então por que pulamos?

— Porque funciona.

— Sempre?

— Faz uns dois anos.

Ah.

Essa é uma frase:

interessante.

“Faz uns dois anos.”

Nosso jovem olha:

para o runbook.

IF STEP30 FAILS:
1. COLLECT DUMP
2. VALIDATE DATASET
3. CONTACT APPLICATION SUPPORT
4. AUTHORIZE RESTART

Depois olha para:

o processo real.

STEP30 FAILS
↓
OPERATOR: "DE NOVO"
↓
CANCEL
↓
RESTART STEP40
↓
JOB ENDS CC=0000

Ele pergunta:

— E por que ninguém corrigiu o STEP30?

Operador:

— Porque ele nunca causou problema.

Nosso jovem:

— Mas ele falha toda semana.

— Sim.

— Isso não é um problema?

— Não mais.

Silêncio.

Essa frase:

é ainda melhor.

“Não mais.”

VWORP.

VWORP.

VWORP.

A TARDIS aparece ao lado do console.

A porta abre.

O Doctor sai.

Olha para o runbook.

Depois olha para o procedimento real.

— Qual deles é o correto?

Operador:

— Oficialmente?

— Ah. Já gostei do começo da resposta.

— Oficialmente é esse.

Aponta para:

o runbook.

Doctor:

— E na prática?

Aponta:

para cancel/restart.

Operador:

— Esse.

Doctor:

— Há quanto tempo?

— Dois anos.

— Algum incidente?

— Não.

Doctor pensa.

— Então vocês concluíram que é seguro?

— Claro.

— Porque nada ruim aconteceu?

— Exato.

Doctor sorri.

— Esse é um dos mecanismos mais perigosos já inventados pela humanidade.

Gerente entra:

— Qual?

Doctor aponta:

para a gambiarra.

“Uma coisa errada que continua funcionando.”

Bem-vindo à:



Normalization of Deviance

ou:

Normalização do Desvio.

Em linguagem Bellacosa:

é quando um comportamento que inicialmente sabemos estar fora do padrão é repetido tantas vezes sem consequência aparente que deixa de parecer um desvio e passa a ser tratado como operação normal.


🧠 Primeiro: o que significa “deviance”?

Aqui:

não significa:

crime.

Nem:

desvio moral.

Significa:

desvio de uma regra, limite, procedimento ou condição considerada segura.

Exemplos:

rodar mudança sem rollback testado;

ignorar warning conhecido;

usar credencial compartilhada;

pular uma validação;

executar manualmente um processo que deveria ser automatizado;

operar equipamento acima do limite recomendado;

deixar teste quebrado porque “sempre foi flaky”;

não abrir P1 porque “normalmente volta”;

fazer restart semanal em vez de corrigir memory leak.

No começo:

todos sabem:

“isso não é o ideal.”

Depois:

“é exceção.”

Depois:

“sempre fazemos.”

Depois:

“qual o problema?”

Aí chegamos.


☕ Definição Bellacosa

Normalização do Desvio é quando a exceção fica tanto tempo em produção que ganha crachá, ramal e vaga no estacionamento.


💻 COBOL cognitivo

No início:

       IF PROCEDURE-DEVIATION = 'Y'
           DISPLAY 'WARNING'
           PERFORM ESCALATE
       END-IF.

Depois de dez execuções bem-sucedidas:

       IF PROCEDURE-DEVIATION = 'Y'
           CONTINUE
       END-IF.

Depois de cem:

       IF PROCEDURE-DEVIATION = 'N'
           DISPLAY 'WHY ARE YOU DOING IT DIFFERENTLY?'
       END-IF.

Pronto.

A anomalia:

virou baseline.


🧠 Por que isso acontece?

Porque o cérebro aprende:

pela experiência.

Se fazemos algo arriscado:

e nada acontece,

a evidência subjetiva parece dizer:

“talvez não seja tão arriscado.”

Depois repetimos.

Nada acontece.

Confiança aumenta.


🧠 Resultado bom alimenta percepção de segurança

Aqui entra:

Outcome Bias.

Decisão arriscada:

terminou bem.

Logo:

“decisão era boa.”

Repete.

Novamente:

bem.

Agora:

a própria repetição vira:

evidência.


☕ O sistema está ensinando a lição errada

Ele diz:

“Você fez fora da regra e sobreviveu.”

Humano conclui:

“Então a regra era exagerada.”

Talvez.

Ou talvez:

o risco simplesmente não tenha se materializado ainda.


👻 Easter Egg nº 1 — Dalek Compliance

Dalek:

— SAFETY PROCEDURE REQUIRES THREE CHECKS.

Operator:

— Podemos pular uma?

Dalek:

— NO.

Primeira vez:

pulam.

Nada acontece.

Segunda:

também.

Décima:

também.

Um ano depois:

novo operador pergunta:

— Por que só fazemos duas verificações?

Dalek:

— BECAUSE THREE IS UNNECESSARY.

Doctor:

— Quem decidiu?

Dalek:

— EXPERIENCE.

Doctor:

— Quantos testes provaram isso?

Dalek:

— ZERO FAILURES.

Doctor:

— Isso não é exatamente o mesmo que zero risco.

Dalek:

— EXTERMINATE STATISTICS.


🧠 O caso histórico mais famoso

O conceito de Normalization of Deviance ficou associado principalmente ao trabalho da socióloga Diane Vaughan sobre o desastre do ônibus espacial Challenger.

A ideia central não era:

“as pessoas simplesmente ignoraram risco”.

Era muito mais interessante.

Certos sinais anormais foram:

observados;

discutidos;

aceitos;

reinterpretados.

Como missões anteriores haviam ocorrido sem desastre, aquilo que inicialmente parecia:

desvio

acabou sendo incorporado:

à normalidade operacional.

Essa é a parte importante.

Não foi:

um dia alguém acordou e decidiu:

“Vamos trabalhar de forma insegura.”

Foi gradual.


☕ Grandes acidentes muitas vezes têm:

uma longa pré-história

de pequenas exceções bem-sucedidas.


🧠 O sucesso é um péssimo professor quando não analisamos margem

Imagine:

sistema suporta:

100 unidades.

Você roda:

Funciona.

Então:

Funciona.

Funciona.

Agora:

110 virou:

normal.

Mas talvez:

limite real dependa de:

temperatura;

carga;

timing;

outro componente.

Você está:

consumindo margem.


🎯 Pergunta Bellacosa nº 1

“O fato de termos sobrevivido ao desvio prova que ele era seguro — ou apenas que ainda existia margem suficiente?”


🧠 Margem é tudo

Uma organização costuma observar:

falha / não falha.

Mas segurança muitas vezes depende de:

quanto espaço existe até:

falha.

Exemplo:

queue limit:

10.000.

Normal antigo:

2.000.

Hoje:

8.500.

Nenhum incidente.

Dashboard:

green.

Mas:

margem caiu:

75%.


☕ O sistema ainda está vivo.

Mas:

respira pela reserva.


🧠 Normalization of Deviance versus Normalcy Bias

Isso é muito importante.

No capítulo anterior:

Normalcy Bias.

Situação muda.

Nós pensamos:

“Deve voltar ao normal.”

Normalization of Deviance:

o desvio continua.

Depois pensamos:

“Então isso é o normal.”

Diferença:

Normalcy Bias nega a ruptura.

Normalization of Deviance redefine a ruptura como aceitável.


🧠 Um é reação à crise

Outro:

é evolução cultural.


🎯 Pergunta Bellacosa nº 2

“Estamos esperando o sistema voltar ao normal ou já alteramos silenciosamente nossa definição de normal?”


🧠 “Sempre foi assim”

Uma das frases mais poderosas:

da série.

Porque geralmente não significa:

sempre.

Significa:

“há tempo suficiente para ninguém mais lembrar de antes.”


☕ Em mainframe:

“sempre”

pode significar:

desde 1998.

Que, convenhamos,

é bastante tempo.

Mas ainda:

não é eternidade.


🧠 Cultural Debt entra forte aqui

Lembra do Cultural Debt?

Uma prática surge:

por motivo real.

Depois:

contexto muda.

Mas prática:

permanece.

Normalization of Deviance pode criar:

outro tipo de dívida cultural.

A prática começou:

como exceção.

Depois:

virou tradição.

Então nova geração:

nem sabe que existe:

desvio.


🎯 Pergunta Bellacosa nº 3

“A pessoa que executa esse procedimento hoje sabe qual regra original estava sendo contornada?”


🧠 Quando ninguém mais sabe...

...a gambiarra virou:

arquitetura social.


🧠 Workaround permanente

Exemplo clássico.

Aplicação:

memory leak.

Runbook:

restart toda quarta.

No começo:

workaround temporário.

Ticket:

aberto.

Meses:

passam.

Ticket:

fechado por inatividade.

Restart:

continua.

Novo operador entra.

— Por que restartamos quarta?

Resposta:

— Porque precisa.


☕ Agora o workaround ganhou:

ontologia própria.

Ele não contorna mais:

um bug.

Ele é:

“como o sistema funciona.”


🎯 Pergunta Bellacosa nº 4

“Estamos operando uma solução temporária ou apenas esquecemos de remover a palavra temporária?”


🧠 Technical Debt + Cultural Debt

Technical Debt:

memory leak.

Cultural Debt:

restart virou tradição.

Os dois:

se alimentam.


🧠 Outcome Bias novamente

Cada restart:

funciona.

Logo:

“boa solução.”

Mas custo:

manual;

risco;

downtime;

dependência humana.

Não aparece:

no resultado binário.


🧠 McNamara Fallacy

O que medimos?

SERVICE UP = YES

Então:

tudo bem.

Mas não medimos:

toil;

fragilidade;

manual intervention;

cognitive load;

knowledge concentration.


☕ Dashboard verde

pode esconder:

uma equipe inteira segurando o teto com as mãos.


🎯 Pergunta Bellacosa nº 5

“Quanto trabalho invisível é necessário para manter aquilo que chamamos de operação normal?”


🧠 Hero Culture

Pessoa experiente sabe:

17 passos secretos.

Tudo funciona.

Management:

“sistema estável.”

Pessoa tira férias:

caos.

Então estabilidade era:

real?

Ou:

humana?


🧠 Normalização do heroísmo

A organização aprende:

“sempre damos um jeito.”

No começo:

orgulho.

Depois:

dependência.


☕ O herói vira:

middleware.

Sem licença.


🎯 Pergunta Bellacosa nº 6

“Se retirarmos o especialista que conhece os atalhos, o sistema continua operável?”


🧠 Normalization of Deviance e Ratchet Effect

Equipe faz:

esforço extra.

Entrega.

Management:

observa resultado.

Nova meta:

igual.

Excepcional virou:

mínimo.

Ratchet Effect.

Mas existe também:

normalização do desvio humano:

horas extras;

plantão informal;

atalhos;

ausência de descanso.


☕ Um sprint heroico

vira:

velocidade oficial.

Outro tipo de acidente:

começando.


🧠 Campbell e Goodhart

Meta:

fechar ticket rápido.

Para cumprir:

pula investigação.

Funciona.

KPI:

melhora.

Agora:

o desvio é recompensado.

Campbell.

Goodhart.


🎯 Pergunta Bellacosa nº 7

“Nosso sistema de métricas está punindo quem segue o processo seguro e premiando quem aprende a contorná-lo?”


🧠 Cobra Effect

Regra pretende:

melhorar.

Mas incentivo:

cria desvio.

Depois:

desvio normaliza.

Exemplo:

change approvals levam:

quatro semanas.

Equipe cria:

“emergency change.”

Primeiro:

realmente emergência.

Depois:

qualquer coisa urgente.

Depois:

metade das mudanças.

Agora:

emergency path

é:

processo normal.


☕ Se metade das mudanças é:

emergency,

talvez a emergência:

seja o processo.


🎯 Pergunta Bellacosa nº 8

“Uma exceção cresceu tanto que já representa parte significativa do fluxo?”


🧠 Principal-Agent Problem

Governança quer:

controle.

Equipe quer:

entregar.

Se processo oficial:

inviável,

equipe cria:

atalho racional.

Depois:

atalho vira normal.

A pergunta madura não é:

“Quem burlou?”

É:

“Por que o processo real precisou divergir do processo formal para o trabalho acontecer?”**


🧠 Moral Hazard

Se risco:

fica com outro time,

desvio pode:

crescer.

Dev:

deploy rápido.

Ops:

paga incidente.

Vendor:

economiza controle.

Cliente:

absorve risco.


🎯 Pergunta Bellacosa nº 9

“Quem ganha com o atalho e quem absorve a consequência se ele falhar?”


🧠 Risk Compensation

Temos:

backup.

Então:

somos mais agressivos.

Temos:

autoscaling.

Então:

ignoramos capacity.

Temos:

failover.

Então:

testamos menos.

Proteção reduz:

medo.

Comportamento:

muda.

Depois:

novo nível de risco:

normal.


☕ Guardrail pode virar:

licença psicológica.


🧠 Zero-Risk Bias em contraste

Às vezes organização exige:

zero risco

numa área.

Isso cria processo:

insuportável.

Pessoas:

contornam.

O desvio:

normaliza.

Paradoxo bonito:

tentativa de risco zero

produz:

risco escondido.


🎯 Pergunta Bellacosa nº 10

“Nosso controle é tão rígido que está empurrando o trabalho real para caminhos não oficiais?”


🧠 Need for Control

Mais controles.

Mais aprovações.

Mais formulários.

Trabalho:

ainda precisa acontecer.

Cria:

shadow process.

Depois:

todos usam.

No papel:

uma coisa.

Na realidade:

outra.


☕ Quando documentação e prática divergem por anos

qual delas é:

o sistema?

Tecnicamente:

as duas.

Operacionalmente:

a prática.


🧠 Shadow IT / Shadow Process

Normalization of Deviance pode viver:

fora do código.

Excel secreto.

Script pessoal.

Senha compartilhada.

FTP manual.

Planilha que controla:

processo crítico.


🎯 Pergunta Bellacosa nº 11

“Quais componentes críticos existem de fato, mas não aparecem na arquitetura oficial?”


🧠 Streetlight Effect

Se shadow process:

não monitorado,

não aparece.

Dashboard:

green.

Porque:

instrumentamos:

sistema oficial.

Não:

real.


☕ Arquitetura desenhada

e arquitetura vivida

podem:

ser sistemas diferentes.


🧠 Metric Fixation

Monitoramos:

processo formal.

Então concluímos:

governança funciona.

Mas todo mundo:

contorna.

Metrics:

beautiful.

Reality:

creative.


🎯 Pergunta Bellacosa nº 12

“Estamos medindo adesão real ou apenas registrando os caminhos oficiais?”


🧠 Normalization of Deviance e warnings

Compiler warning.

Primeiro:

investiga.

Depois:

“conhecido.”

Depois:

100 warnings.

Novo warning crítico:

misturado.


☕ Warning pile

vira:

aterro sanitário cognitivo.


🧠 Alert fatigue

Mesmo mecanismo.

Alerta dispara:

sem consequência.

Equipe aprende:

ignorar.

Quando alerta real:

mesmo comportamento.


🎯 Pergunta Bellacosa nº 13

“Quantos alertas aceitos como normais estão treinando a equipe para ignorar o próximo sinal importante?”


🧠 Flaky Tests

Primeiro teste falha.

Investiga.

Descobre:

intermitência.

Marca:

flaky.

Depois:

mais.

CI sempre:

vermelho parcial.

Team:

rerun.

Eventually:

red doesn't mean:

bad build.

System loses:

signal.

Normalization of Deviance.


☕ Se vermelho não significa mais:

pare,

qual cor:

vai fazer você parar?


🎯 Pergunta Bellacosa nº 14

“Que sinais perderam significado porque nos acostumamos a vê-los quebrados?”


🧠 Security exception

MFA atrapalha:

service account.

Exception.

Depois:

mais contas.

Depois:

grupo inteiro.

Depois:

ninguém sabe:

why exempt.

Classic.


🧠 Expiration dates ajudam

Exception:

must expire.

If still needed:

renew deliberately.


🎯 Pergunta Bellacosa nº 15

“Toda exceção possui dono, justificativa e data para ser reavaliada?”


🧠 Isso é poderosíssimo

Exceção eterna:

é candidata:

a virar normal.


🧠 Exception Budget

Uma ideia interessante:

quantas exceções?

Trend?

Age?

If increasing:

culture drift.


☕ Technical debt tem backlog.

Exception debt também deveria.


🧠 Normalization of Deviance e access control

Usuário precisa:

acesso temporário.

Recebe.

Nunca revoga.

Depois:

“sempre teve.”

Identity drift.


🎯 Pergunta Bellacosa nº 16

“Quantos privilégios temporários envelheceram até virarem permanentes?”


🧠 Least privilege erosion

Every exception:

small.

Years:

big.


🧠 Normalization of Deviance em change management

“Só dessa vez sem peer review.”

Then:

again.

Why?

Deadline.

Eventually:

peer review only:

special cases.

Rule inverted.


☕ Quando exceção vira maioria

a regra já:

perdeu a guerra.


🎯 Pergunta Bellacosa nº 17

“A regra oficial ainda representa o comportamento majoritário?”


🧠 Normalization of Deviance e deadlines

Deadline impossible.

Team cuts:

testing.

Works.

Next:

same deadline.

Testing cuts:

expected.

Ratchet.

Outcome.

Cultural Debt.

Beautiful chain.


🧠 A exceção prova capacidade errada

Management sees:

output.

Not:

risk taken.


🎯 Pergunta Bellacosa nº 18

“Qual controle foi sacrificado para produzir o desempenho que agora estamos chamando de capacidade normal?”


🧠 Normalization of Deviance e AI coding

Developer uses AI-generated code.

No review.

Works.

Next:

more.

Soon:

large blocks

without understanding.

No incident:

yet.

Deviation:

“temporary speedup.”

Then:

normal workflow.


🤖 AI doesn't create the bias

It can:

accelerate repetition.


🎯 Pergunta Bellacosa nº 19

“Estamos aumentando automação mais rápido do que nossa capacidade de verificar o que ela produz?”


🧠 AI agents and privileges

Agent needs:

write access

for test.

Gets:

production-adjacent capability.

Works.

No issue.

Access remains.

Then:

more autonomy.

Normalization of Deviance can:

scale very fast

because automation repeats:

without fatigue.


☕ Um humano pode fazer:

atalho 20 vezes.

Um agente:

20 mil.


🧠 Automation Bias

Agent succeeded:

trust.

Less review.

Outcome Bias.

Deviation:

normal.


🎯 Pergunta Bellacosa nº 20

“O histórico de sucesso da automação está sendo usado como substituto para limites e controles?”


🧠 Normalization of Deviance em observabilidade

Log errors:

known.

Dashboard:

permanently yellow.

Then:

new issue.

Hard to see.

Healthy system should not:

normalize degraded observability.


☕ Um painel permanentemente amarelo

não é:

painel amarelo.

É:

nova decoração.


🎯 Pergunta Bellacosa nº 21

“Que indicador hoje está permanentemente fora do esperado sem gerar nenhuma ação?”


🧠 Baseline drift

Dangerous.

If baseline recalculated automatically:

anomaly may become:

normal.

Example:

latency gradually grows:

200 → 300 → 400 → 500.

If baseline follows:

everything always:

normal.


🧠 Statistical normalization can mimic cultural normalization

Wonderful parallel.


🎯 Pergunta Bellacosa nº 22

“Estamos atualizando o baseline porque o sistema melhorou — ou porque nos acostumamos com a degradação?”


🧠 Normalization of Deviance e SLO

SLO missed:

once.

Exception.

Then:

every month.

Eventually:

“realistic target.”

Maybe target was:

wrong.

Or service:

degraded.

Need:

distinguish.


☕ Redefinir meta pode ser:

realismo.

Ou:

capitulação.

Investigue.


🎯 Pergunta Bellacosa nº 23

“Estamos recalibrando o objetivo com base na realidade do negócio ou apenas legitimando desempenho pior?”


🧠 Normalization of Deviance e Root Cause

Repeated incidents:

same workaround.

No root fix.

Eventually:

incident category becomes:

“known issue.”

The phrase:

dangerous.


☕ “Known issue”

pode significar:

“decidimos viver com ele.”

Às vezes corretamente.

Às vezes:

não.


🎯 Pergunta Bellacosa nº 24

“Conhecido por quem, aceito por quem e com qual risco residual?”


🧠 Risk Acceptance

Deviation may be:

legitimate.

Maybe fixing costs:

too much.

Important distinction.

Normalization of Deviance is not:

“qualquer desvio = errado.”

Organizations can:

consciously accept risk.

Difference:

explicit risk acceptance versus silent drift.


🧠 Deliberate exception

Document:

risk;

owner;

expiry;

controls.

That's governance.


☕ “Sabemos e aceitamos”

é diferente de:

“ninguém sabe por que fazemos.”


🎯 Pergunta Bellacosa nº 25

“Este risco foi conscientemente aceito ou simplesmente deixou de ser discutido?”


🧠 Silent Acceptance

One of most dangerous.

No meeting.

No decision.

Just:

time.


🧠 Normalization through survival

Each successful cycle:

acts like:

informal approval.


☕ O calendário assina:

a exceção.


🧠 Hindsight Bias depois

After disaster:

“como ninguém percebeu?”

But:

normalization happened slowly.

Hindsight compresses:

years of drift

into:

one obvious mistake.

Wrong lesson.


🎯 Pergunta Bellacosa nº 26

“Estamos procurando o momento único da falha quando deveríamos procurar anos de adaptação gradual?”


🧠 This is essential

Normalization of Deviance often:

not event.

Process.


🧠 Fundamental Attribution Error

Blame:

last operator.

But:

operator followed:

actual culture.

Maybe:

formal procedure different.

Yet everybody:

used workaround.

Need:

system view.


☕ Punir a última pessoa

por executar:

o processo real da organização

não corrige:

o processo.


🎯 Pergunta Bellacosa nº 27

“A pessoa violou a cultura real ou apenas violou a documentação?”


🧠 Blameless Postmortem

Ask:

When did deviation start?

Why?

What pressure?

What successful outcomes reinforced?

What barriers disappeared?


🧠 Timeline of normalization

JAN: exception once
MAR: weekly
JUN: undocumented workaround
SEP: new hires trained on workaround
DEC: official procedure ignored

Amazing evidence.


☕ O acidente nasce:

na linha do tempo.


🎯 Pergunta Bellacosa nº 28

“Quando a exceção começou a ser ensinada aos novos funcionários como prática normal?”

Isso é enorme.


🧠 Training reveals culture

If new person learns:

official + “but in reality...”

you found:

deviation gap.


☕ A frase:

“no manual é assim, mas aqui fazemos assado”

merece:

atenção imediata.


🧠 Sometimes the manual is wrong

Important.

Maybe practical process:

better.

Then:

update manual.

If everyone bypasses:

rule,

maybe rule is:

obsolete.

Normalization of Deviance diagnosis shouldn't:

automatically restore old rule.


🎯 Pergunta Bellacosa nº 29

“Precisamos eliminar o desvio ou admitir que o processo oficial está errado e atualizá-lo?”

Excelente.


🧠 This avoids bureaucracy worship

Goal:

safe effective system.

Not:

blind compliance.


🧠 Need for Control warning

Don't respond:

with 50 new controls.

Could:

produce more bypass.

Need:

root incentive.


☕ Um processo impossível de seguir

é fábrica:

de exceções.


🎯 Pergunta Bellacosa nº 30

“O procedimento seguro também é operacionalmente viável?”


🧠 Human Factors

People optimize:

local work.

If rule:

slow,

ambiguous,

unrealistic,

they adapt.

Adaptation:

can be intelligent.

But risk:

unseen.


🧠 Local Rationality again

Why did bypass:

make sense?


☕ “Porque eram preguiçosos”

é resposta:

fraca.


🧠 Production Pressure

Deadline.

Customer.

SLA.

Revenue.

Deviation buys:

time.

Repeated pressure:

makes permanent.


🎯 Pergunta Bellacosa nº 31

“Que pressão recorrente torna o desvio racional no curto prazo?”


🧠 Migration scenario

Reconciliation takes:

6h.

Go-live schedule:

4h.

First time:

sample only.

Works.

Next migration:

same.

Full reconciliation:

never returns.

Deviation normalized.

Later:

data issue.


☕ O cronograma ganhou:

mais autoridade

que integridade.


🧠 Principal-Agent again

Manager owns:

deadline.

Ops owns:

risk.

Classic.


🎯 Pergunta Bellacosa nº 32

“O benefício do desvio aparece imediatamente enquanto o risco fica para outro momento ou outra equipe?”


🧠 Technical debt interest

Deviation:

saves 20 min.

Each day.

But:

adds tail risk.

Hard to see.

Outcome Bias:

wins.


🧠 Low-frequency high-impact risk

Normalization especially dangerous here.

Because:

many successes before:

failure.


☕ Um risco de 1%

te dá:

99 oportunidades

para aprender a lição errada.


🎯 Pergunta Bellacosa nº 33

“Estamos inferindo segurança a partir de uma amostra pequena demais para revelar um risco raro?”


🧠 Probability example

Risk per execution:

1%.

10 successful runs:

not surprising.

50:

still possible.

People:

“never fails.”

Probability:

still exists.


🧠 Compounding exposure

Repeated risk:

probability accumulates.

If independent:

chance of at least one failure grows.

No need math heavy.

Concept enough.


☕ “Funcionou cem vezes”

pode ser:

motivo para comemorar.

Também:

motivo para perguntar:

quantas vezes vamos continuar apostando?


🧠 Normalization of Deviance e Challenger

Challenger disaster:

famous lesson:

past success can normalize anomalous signals.

Again:

not “stupid people.”

Systemic adaptation.


🧠 This is the mature interpretation

People acted:

within organizational context.


🎯 Pergunta Bellacosa nº 34

“O passado sem desastre está sendo tratado como prova de segurança futura?”


🧠 Safety Margin Erosion

Key concept.

Every deviation:

may reduce margin.

Yet outcome:

still success.


🧠 Example

Deploy:

without rollback.

No issue.

Then:

without test.

No issue.

Then:

without backup validation.

No issue.

Each:

takes away layer.

Eventually:

one failure meets:

no defenses.


☕ O desastre não precisou:

ficar maior.

Nós apenas:

retiramos as redes.


🎯 Pergunta Bellacosa nº 35

“Quantas barreiras originais continuam realmente ativas?”


🧠 Swiss Cheese Model

Layers:

review;

test;

canary;

rollback;

monitoring.

Deviations:

poke holes.

If holes align:

incident.


🧠 Normalization = holes become accepted

Nice.


☕ Um buraco temporário

ganha:

CEP.


🧠 Defense in Depth degradation

Security too.

Exception after exception:

layers shrink.


🎯 Pergunta Bellacosa nº 36

“Qual camada de defesa estamos tratando como opcional porque as outras ainda seguraram?”


🧠 Outcome Bias central

A layer wasn't needed:

this time.

People infer:

unnecessary.

Wrong.

Seatbelt analogy:

not needed on trip.

Still useful.


🧠 Prevention paradox

Effective controls often:

look redundant

because bad outcome:

doesn't occur.


☕ “Nunca usamos o DR”

não prova:

que DR é desperdício.


🧠 Normalization and budgeting

Control costs.

No incident.

Budget cuts.

Outcome Bias.

Defense shrinks.


🎯 Pergunta Bellacosa nº 37

“Estamos removendo uma proteção porque demonstramos que ela é redundante ou porque tivemos sorte de não precisar dela?”


🧠 Normalization of Deviance e maintenance windows

Change outside window:

once.

Works.

Then:

regular.

Monitoring/staff coverage:

not present.

Eventually:

incident at 3 AM.


🧠 Context matters

Same action:

different safety depending:

support available.


🎯 Pergunta Bellacosa nº 38

“O desvio continua seguro quando mudam horário, volume, pessoas ou dependências?”


🧠 Copy/paste culture

One script:

manual.

Person shares.

Everyone uses.

No source control.

Works.

Years.

Then:

someone edits local version.

Different outcomes.

Shadow automation.


FINAL_v7_REAL_OK.sh

Critical infrastructure.

We've all met:

the species.


🎯 Pergunta Bellacosa nº 39

“Quantas ferramentas operacionais críticas existem fora de versionamento, revisão e ownership?”


🧠 COBOL copybooks

Local copy modified:

“temporary.”

Another program:

uses different.

Works.

Then:

record mismatch.

Deviation from:

single source.

Normal.


🧠 Schema drift

Perfect example.


🎯 Pergunta Bellacosa nº 40

“Quantas versões não oficiais do mesmo contrato de dados existem?”


🧠 Normalization of Deviance e manual data fixes

Production data correction:

manual SQL.

Emergency.

Works.

Then:

support routine.

No audit.

No validation.

Risk.


UPDATE ... WHERE ...

pode virar:

runbook.

Aí:

eu começo a suar.


🧠 Four-Eyes Principle

First bypass:

emergency.

Then:

“trusted senior.”

Eventually:

single person.


🎯 Pergunta Bellacosa nº 41

“Qual controle desapareceu porque confiamos na experiência de uma pessoa específica?”


🧠 Authority Bias

Senior always:

knows.

So:

exceptions allowed.

Success:

confirms.

Then:

junior imitates.

Without:

same tacit knowledge.

Risk explodes.


☕ Um desvio seguro na mão do mestre

pode ser:

perigoso como receita.


🎯 Pergunta Bellacosa nº 42

“Estamos copiando uma exceção sem copiar o contexto e a experiência que a tornavam tolerável?”


🧠 Dunning-Kruger connection

Novice sees:

senior bypass.

Thinks:

rule unnecessary.

Doesn't see:

senior monitoring hidden signals.

Danger.


🧠 Tacit safeguards

Sometimes expert:

breaks rule

while applying:

other controls mentally.

Not transferable.


☕ O aprendiz vê:

o atalho.

Não:

os 30 anos que avaliam:

quando não usar.


🧠 Normalization of Deviance e Documentation Debt

Runbook:

outdated.

People:

ignore.

Because:

wrong.

Now documentation loses:

credibility globally.

Then:

even correct parts ignored.


🎯 Pergunta Bellacosa nº 43

“Quantas regras são ignoradas porque algumas delas já provaram estar desatualizadas?”


🧠 Trust in governance

Once low:

more deviation.

Feedback loop.


🧠 Deviance loop

BAD PROCESS
↓
BYPASS
↓
SUCCESS
↓
BYPASS NORMALIZED
↓
PROCESS EVEN LESS RELEVANT
↓
MORE BYPASS

Beautiful.


☕ O processo oficial vira:

ficção administrativa.


🧠 Confirmation Bias

Once we believe:

shortcut safe,

we remember:

successes.

Failures:

“different.”


🎯 Pergunta Bellacosa nº 44

“Estamos registrando também as vezes em que o desvio quase falhou?”


🧠 Near Misses

Critical.

A risky deviation:

almost causes issue.

But final outcome:

fine.

Near miss:

ignored.

Outcome Bias.

Normalization continues.


☕ Near miss é:

o universo oferecendo:

desconto no aprendizado.


🧠 Near-Miss Review

Ask:

What nearly failed?

What margin?

Would same procedure survive:

slightly different conditions?


🎯 Pergunta Bellacosa nº 45

“Quanto de sorte foi necessário para o processo continuar parecendo normal?”


🧠 This may be central

Success quality:

not binary.


🧠 Normalization of Deviance em SRE

On-call:

alerts.

Ack without action.

Known noise.

Then:

critical.

SRE practices:

reduce toil;

fix noisy alerts.

Because:

noise trains:

deviance.


🧠 Error budget

If repeated breach accepted:

SLO meaningless.


🎯 Pergunta Bellacosa nº 46

“Qual regra deixou de governar comportamento porque nunca acontece nada quando a violamos?”


🧠 Enforcement credibility

If policy:

never enforced,

becomes:

suggestion.


☕ Regra sem consequência

vira:

comentário no código.


🧠 Normalization of Deviance em password policy

Shared account:

exception.

Everyone:

uses.

Audit:

later.

Again.


🧠 Security risk accumulates silently

No breach:

not proof.


🎯 Pergunta Bellacosa nº 47

“Estamos usando ausência de incidente de segurança como evidência de segurança?”


🧠 Outcome Bias again!

The sibling.


🧠 Normalization of Deviance e Normalcy Bias after symptoms

Once deviation:

normal,

its warning signs:

also normal.

Then actual incident:

Normalcy Bias.

So cycle:

DEVIATION
↓
NO BAD OUTCOME
↓
NORMALIZATION
↓
WARNING BECOMES NORMAL
↓
REAL FAILURE STARTS
↓
NORMALCY BIAS
↓
LATE RESPONSE

Oof.


☕ Um viés prepara:

o terreno

para o outro.


🎯 Pergunta Bellacosa nº 48

“Os primeiros sinais do incidente se parecem justamente com desvios que já aprendemos a tolerar?”


🧠 Hindsight Bias closes cycle

After:

“how could we ignore?”

Because:

we normalized.

Need:

history.


🧠 Postmortem must study drift

Not only:

last minutes.


🎯 Pergunta Bellacosa nº 49

“Quanto tempo antes do incidente começamos a aceitar comportamentos que reduziram nossa margem?”


🧠 Practical antidotes

Now:

what to do?

Not:

zero exceptions.

Impossible.

Need:

exception discipline.


🧪 Passo 1 — Declare exception explicitly

Never:

silent.

EXCEPTION:
Skip STEP30 validation.

🧪 Passo 2 — Record why

Pressure?

Bug?

Cost?


🧪 Passo 3 — Record risk

What could happen?


🧪 Passo 4 — Add owner

Who owns:

removal/review?


🧪 Passo 5 — Add expiry

Critical.


🧪 Passo 6 — Count recurrence

If exception repeats:

trigger process review.


🧪 Passo 7 — Track near misses

Not only:

failures.


🧪 Passo 8 — Compare formal vs actual

Walkthrough.

Observe.


🧪 Passo 9 — Restore margin

Fix:

warnings;

tests;

procedures.


🧪 Passo 10 — Update rule if rule is wrong

Don't force fiction.


☕ Uma exceção recorrente é:

pedido de mudança de arquitetura/processo.


🧠 Bellacosa Three-Strikes Rule

Not universal.

But useful principle:

If same exception:

repeatedly necessary,

stop calling:

exception.

Investigate:

system design.


🧠 Exception frequency

Could define:

1 = exception.

10 = pattern.

100 = process.

Not mathematical law.

But:

nice warning.


🎯 Pergunta Bellacosa nº 50

“Se precisamos abrir a mesma exceção toda semana, ainda temos uma exceção ou temos um processo mal desenhado?”


📋 Checklist Bellacosa anti-Normalization of Deviance

[ ] Que regras estão sendo regularmente contornadas?

[ ] Qual foi a justificativa original?

[ ] A exceção tem dono?

[ ] A exceção tem validade?

[ ] O risco foi formalmente aceito?

[ ] Quantas vezes esse desvio ocorreu?

[ ] Houve near misses?

[ ] A margem operacional está diminuindo?

[ ] O dashboard trata desvio como normal?

[ ] Novos funcionários aprendem o atalho?

[ ] O processo oficial continua viável?

[ ] Estamos recompensando o bypass?

[ ] O workaround virou permanente?

[ ] Controles de defesa desapareceram?

[ ] Ausência de falha está sendo confundida com segurança?

🧠 Bellacosa Deviance Card

DEVIATION:
____________________________

ORIGINAL RULE:
____________________________

WHY BYPASSED:
____________________________

RISK:
____________________________

OWNER:
____________________________

EXPIRY:
____________________________

NUMBER OF OCCURRENCES:
____________________________

NEAR MISSES:
____________________________

FIX / PROCESS CHANGE:
____________________________

👻 Easter Egg nº 2 — BELLACOSA.BIAS(NORMALIZATION)

       IF EXCEPTION-USED = 'Y'
           ADD 1 TO EXCEPTION-COUNT
       END-IF.

       IF EXCEPTION-COUNT > ACCEPTABLE-LIMIT
           DISPLAY
           'WARNING: EXCEPTION MAY BE THE REAL PROCESS'
           PERFORM REVIEW-PROCEDURE
       END-IF.

       IF NO-INCIDENT = 'Y'
          AND DEVIATION = 'Y'
           DISPLAY
           'SURVIVAL IS NOT PROOF OF SAFETY'
       END-IF.

       IF NEW-EMPLOYEE-TAUGHT-WORKAROUND = 'Y'
           DISPLAY
           'CULTURAL NORMALIZATION DETECTED'
       END-IF.

Comentários:

* TEMPORARY
* WITHOUT EXPIRY
* MEANS PERMANENT.

Outro:

* SUCCESSFUL BYPASS
* IS STILL
* A BYPASS.

Outro:

* DO NOT CALL IT
* NORMAL
* JUST BECAUSE
* YOU ARE USED TO IT.

Outro:

* A GREEN DASHBOARD
* CANNOT SEE
* AN UNMONITORED WORKAROUND.

E naturalmente:

* DALEK SAFETY RULE:
* STAY 10 METERS AWAY.
*
* CURRENT PRACTICE:
* 9M
* 8M
* 7M
* 6M
*
* INCIDENT REVIEW:
* "WHY WAS ANYONE
* STANDING AT 5M?"

🕰️ Voltando ao batch

23:58.

STEP30:

falha.

Operador:

— Cancela e restart.

Nosso jovem:

— Não hoje.

— Por quê?

— Quero descobrir por que fazemos isso.

— Porque funciona.

— Isso eu sei.

— Então?

Nosso jovem aponta:

para o histórico.

STEP30 FAILURE:
48 OCCURRENCES IN 12 MONTHS

Doctor sorri.

— Quarenta e oito exceções?

Operador:

— Sim.

Doctor:

— Isso é uma exceção muito dedicada.


🔧 Investigação

Descobrem:

STEP30 fazia:

reconciliação auxiliar.

O dataset de entrada:

cresceu.

Job:

estourava tempo.

Quando pulavam:

STEP40 processava:

quase tudo.

Quase.

Em certas condições:

alguns registros ficavam:

sem reconciliar.

Nunca havia causado:

impacto grande.

Ainda.


🧠 O risco estava lá

Mas:

raramente.

48 sucessos:

tinham ensinado:

“seguro.”

Na verdade:

tinham apenas mostrado:

“a condição perigosa ainda não coincidiu com o desvio.”


☕ Então corrigem:

performance;

timeout;

runbook;

monitoring;

reconciliation.

E eliminam:

restart informal.


🧠 O gerente pergunta:

— Mas se fizemos assim dois anos e nada aconteceu, realmente era tão perigoso?

Doctor responde:

— Isso depende do que vocês acham que dois anos sem desastre provam.

— Que funciona?

— Provam que vocês tiveram dois anos sem desastre.

Pausa.

“Não confundam ausência de consequência com ausência de risco.”


🧬 Regeneração organizacional

Uma organização madura não tenta:

eliminar adaptações.

Sistemas reais:

precisam delas.

Pessoas:

resolvem problemas.

Flexibilidade:

é necessária.

A maturidade está em impedir:

que adaptação invisível

se transforme:

em risco invisível.

Ela pergunta:

por que o processo formal não serve?

qual risco o workaround cria?

quantas vezes repetimos?

quem possui?

quando expira?

precisamos corrigir o sistema

ou:

mudar oficialmente a regra?

Ela também entende:

quando pessoas repetidamente desviam de um procedimento, isso pode ser evidência de comportamento arriscado — ou evidência de que o procedimento é irrealista.

Precisamos:

descobrir qual.


📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Normalization of Deviance é o processo pelo qual desvios de uma regra ou margem inicialmente percebidos como excepcionais passam a ser aceitos como normais após repetidas ocorrências sem consequências graves.

Ela costuma acontecer gradualmente, não por uma decisão explícita de trabalhar de forma insegura.

Sucessos anteriores podem produzir uma falsa sensação de segurança.

Outcome Bias transforma desvios bem-sucedidos em decisões aparentemente boas.

Normalcy Bias pode fazer os primeiros sinais de deterioração parecerem parte da normalidade já ampliada.

Hindsight Bias depois transforma anos de drift em um “erro óbvio” que todos supostamente deveriam ter percebido.

Confirmation Bias ajuda a lembrar sucessos do workaround e minimizar near misses.

Ratchet Effect pode transformar esforço excepcional e atalhos em nova expectativa mínima.

Goodhart e Campbell podem premiar comportamentos que produzem números bons enquanto reduzem margem de segurança.

Cobra Effect mostra como regras mal desenhadas podem incentivar exatamente os desvios que pretendiam evitar.

Principal-Agent e Moral Hazard ajudam a explicar por que quem obtém o benefício de um atalho pode não carregar todo o risco criado.

Need for Control pode criar processos excessivamente burocráticos, incentivando shadow processes e exceções permanentes.

Metric Fixation e McNamara Fallacy podem esconder desvios não instrumentados atrás de dashboards verdes.

Workarounds permanentes, flaky tests, warnings ignorados, acessos temporários eternos e scripts fora de versionamento são excelentes lugares para procurar normalização do desvio.

Toda exceção importante deveria ter motivo, dono, risco e validade.

Uma exceção repetida frequentemente é um sinal de que o processo oficial precisa ser corrigido ou atualizado.

A ausência de acidente não prova segurança.

E principalmente:

o momento mais perigoso de uma gambiarra não é necessariamente a primeira vez em que ela é usada — é quando ninguém mais percebe que aquilo ainda é uma gambiarra.


🥚 Easter Egg final

Antes de entrar na TARDIS, o Doctor escreve:

EXCEPTION-COUNT = 48

Nosso jovem pergunta:

— Em que número deixa de ser exceção?

Doctor:

— Não existe número mágico.

— Então como sabemos?

— Quando você encontra alguém novo ensinando o atalho sem saber por que ele é um atalho.

Nosso jovem fica:

quieto.

— Aí já virou cultura?

Doctor abre:

a porta.

“Exatamente.”

VWORP.

VWORP.

VWORP.

A TARDIS começa:

a desaparecer.

Nosso jovem grita:

— Doctor!

A porta abre novamente.

— O quê?

— Então toda prática antiga deve ser questionada?

Doctor pensa.

— Não.

— Não?

“Toda prática antiga deve conseguir explicar por que ainda merece existir.”

A porta fecha.

VWORP.

VWORP.

VWORP.

No console fica:

STEP30:
FIXED

WORKAROUND:
RETIRED

EXCEPTION AGE:
2 YEARS

INCIDENTS CAUSED:
ZERO

RISK REMOVED:
NOT ZERO

Nosso jovem toma:

o último café.

Olha para:

o velho runbook.

E escreve:

“Uma regra pode estar errada. Uma exceção pode ser necessária. Mas nenhuma delas deveria sobreviver apenas porque o tempo passou e tivemos sorte.”

E talvez essa seja toda a essência da Normalization of Deviance no Bellacosa Mainframe:

quando o desvio deixa de causar desconforto, não significa necessariamente que ficou seguro — pode significar apenas que ficamos confortáveis demais convivendo com ele.

☕🌀

Próxima parada: Plan Continuation Bias — o dia em que o plano dizia “seguir”, a realidade gritava “pare”, mas cancelar parecia psicologicamente mais difícil do que continuar até o desastre.

segunda-feira, 8 de fevereiro de 2010

A Normalização do Desvio: Doctor Who, COBOL e o Dia em que o Errado Virou Procedimento

Bellacosa Mainframe e a normalizacao do desvio

☕ Um Café no Bellacosa Mainframe

A Normalização do Desvio: Doctor Who, COBOL e o Dia em que o Errado Virou Procedimento

Uma viagem pela TARDIS dos incidentes para descobrir por que “sempre fizemos assim” talvez seja uma das frases mais perigosas da informática

08:07.

Sala de operação.

Café razoavelmente quente.

Mainframe perfeitamente indiferente aos dramas humanos.

Um job termina:

JOB04217 ENDED - RC=0004

O programador COBOL recém-chegado olha para a tela.

Ele chama o analista veterano.

— Deu RC=04.

O veterano nem levanta os olhos.

— Normal.

O jovem observa novamente.

RC=0004

Ele hesita.

— Mas quatro não significa que aconteceu alguma coisa diferente?

O veterano bebe o café.

— Faz três anos que termina assim.

— E está correto?

— Nunca deu problema.

Nesse exato momento, em algum ponto aparentemente impossível entre Londres, Gallifrey e uma sala de máquinas IBM, começa aquele som.

VWORP.

VWORP.

VWORP.

Uma velha cabine policial azul materializa-se entre dois racks.

A porta abre.

O Doctor sai.

Olha para o monitor.

Olha para o veterano.

Olha novamente para:

RC=0004

E pergunta:

— Por que isso é normal?

O veterano responde:

— Porque acontece todos os dias.

O Doctor faz uma expressão preocupada.

— Ah.

Pausa.

— Isso não significa que seja normal.

Outra pausa.

— Significa apenas que vocês se acostumaram.

E assim começa nosso segundo passeio pela TARDIS dos incidentes.

Hoje conheceremos um dos fenômenos mais fascinantes — e perigosos — da engenharia de sistemas:


Normalization of Deviance

ou:

Normalização do Desvio.


🌀 Primeiro precisamos voltar no tempo

Nossa viagem anterior terminou no Swiss Cheese Model, de James Reason.

Aprendemos que sistemas complexos possuem várias camadas de defesa.

Cada camada possui fragilidades.

Os famosos buracos do queijo.

Um erro pode atravessar uma barreira e ser interrompido pela seguinte.

O desastre aparece quando vários buracos acabam alinhados.

Mas existe uma pergunta que ficou esperando dentro da TARDIS:

Como alguns desses buracos ficam tão grandes?

Ou ainda:

Como uma organização consegue conviver durante anos com uma situação claramente anormal sem perceber que existe perigo?

É aqui que encontramos a socióloga Diane Vaughan.

Vaughan estudou profundamente o processo decisório relacionado ao desastre do ônibus espacial Challenger e popularizou o conceito de normalization of deviance para explicar como desvios em relação aos padrões esperados podem, ao longo do tempo, tornar-se aceitos como normais dentro de uma organização. Materiais posteriores da própria NASA continuam usando explicitamente o conceito ao discutir Challenger, Columbia e outros eventos de segurança. (NTRS)

A ideia pode ser resumida assim:

Algo começa fora do padrão.

Nada ruim acontece.

Repetimos.

Nada ruim acontece novamente.

Repetimos outra vez.

Lentamente deixamos de enxergar aquilo como exceção.

Até que o desvio se transforma em normalidade.

E talvez a frase mais importante deste artigo seja:

Ausência de desastre não é evidência de segurança.


🧀 O queijo suíço começa a mudar de sabor

Voltemos ao nosso exemplo.

O padrão oficial diz:

RC=0000

Mas determinada rotina começou a terminar ocasionalmente com:

RC=0004

Na primeira vez alguém investigou.

Descobriu que existia um warning.

O processamento pareceu correto.

Nada foi perdido.

Então alguém decidiu:

— Podemos seguir.

Na semana seguinte:

RC=04 novamente.

A equipe verifica.

Tudo aparentemente correto.

Depois de um mês, ninguém verifica.

Depois de seis meses, o operador escreve no procedimento:

RC=04 pode ser ignorado.

Depois de dois anos, um programador pergunta:

— Por quê?

E ninguém mais sabe.

Essa é a parte fascinante.

A exceção adquiriu tradição.


👻 O fantasma do “nunca deu problema”

Existe uma expressão que aparece frequentemente em incidentes:

“Sempre fizemos assim.”

Sua prima:

“Nunca deu problema.”

E uma terceira:

“Isso acontece direto.”

As três deveriam causar aproximadamente a mesma reação que ouvir alguém dizer em Doctor Who:

“Não se preocupe. Essas estátuas nunca se mexem.”

Talvez seja uma boa hora para não piscar.


🚀 Challenger: quando resultados anteriores começam a ensinar a lição errada

O conceito de Diane Vaughan ficou fortemente associado à análise organizacional do desastre do Space Shuttle Challenger.

O Challenger foi destruído 73 segundos após o lançamento de 28 de janeiro de 1986, e os sete tripulantes morreram. A investigação e os estudos posteriores concentraram-se, entre outras questões, no comportamento dos O-rings dos Solid Rocket Boosters e no processo decisório que antecedeu o lançamento. (NTRS)

Mas o aspecto organizacional é particularmente interessante para nossa TARDIS.

Problemas e evidências envolvendo comportamento inadequado dos O-rings haviam aparecido anteriormente.

Os lançamentos anteriores, entretanto, não haviam terminado em catástrofe.

E aí ocorre algo profundamente humano.

Cada sucesso anterior começa a funcionar como argumento de segurança.

Observe a perversidade lógica:

Houve anomalia.
       ↓
Não ocorreu acidente.
       ↓
Logo, a anomalia aparentemente é tolerável.
       ↓
Repetimos.
       ↓
Outra anomalia.
       ↓
Novamente não ocorreu acidente.
       ↓
A confiança aumenta.

Parece lógico.

Mas existe um problema monumental.

Talvez você não esteja demonstrando que o sistema é seguro.

Talvez esteja apenas tendo sorte.

A própria NASA posteriormente passou a discutir explicitamente a normalização do desvio como uma lição de segurança associada a Challenger e Columbia. (NTRS)


🎲 Sorte não é controle operacional

Imagine um programa COBOL.

Existe um array:

01  WS-TABELA.
    05 WS-ITEM OCCURS 100 TIMES.

Alguém encontra um cenário onde um índice eventualmente chega a 101.

Por alguma razão, nada visível acontece.

Talvez aquela posição de memória não produza imediatamente um efeito perceptível.

Executa novamente.

Nada.

Mais uma vez.

Nada.

Alguém conclui:

“Pode deixar.”

Não.

O que aconteceu foi apenas:

“Ainda não observamos a consequência.”

Essas duas frases parecem semelhantes.

Não são.


🧠 O cérebro humano aprende com resultados

Nós somos excelentes máquinas de reconhecimento de padrões.

Isso nos salvou muitas vezes durante a evolução.

Se fazemos algo repetidamente e recebemos um resultado positivo, nosso cérebro aprende:

isso funciona.

No trabalho ocorre o mesmo.

Imagine:

procedimento oficial: 12 passos.

Operador percebe que pode pular os passos 4 e 7.

Executa.

Tudo funciona.

No dia seguinte repete.

Funciona.

Depois ensina para o colega:

— Esses dois você não precisa fazer.

Meses depois chega um novo funcionário.

Pergunta por que o procedimento possui doze passos se todo mundo realiza dez.

Resposta:

— O documento está velho.

Talvez esteja.

Ou talvez os passos quatro e sete existam porque alguém aprendeu uma lição extremamente cara em 1998.

Mas ninguém mais se lembra.


🏛️ A arqueologia dos procedimentos

Essa é uma dica valiosíssima para quem entra em ambientes legados.

Nunca presuma imediatamente que um procedimento estranho é inútil.

Pergunte:

por que isso existe?

Mainframes possuem décadas de história operacional.

Algumas rotinas aparentemente absurdas surgiram porque algum incidente igualmente absurdo aconteceu muito tempo atrás.

Talvez exista uma checagem aparentemente redundante porque um arquivo chegou vazio em 1994.

Talvez exista uma reconciliação porque um lote foi processado duas vezes em 2001.

Talvez alguém exija:

COUNT INPUT = COUNT OUTPUT + COUNT REJECT

porque certa madrugada milhões desapareceram em alguma etapa intermediária.

Procedimentos carregam fósseis de incidentes.

O problema aparece quando esquecemos a história.

Então começamos a retirar as proteções.


🦖 Easter Egg nº 1 — O procedimento jurássico

Todo ambiente mainframe possui pelo menos um procedimento cujo autor:

  1. aposentou-se;

  2. mudou de empresa;

  3. ninguém conhece;

  4. talvez seja hoje uma lenda;

  5. ou possivelmente todos os anteriores.

O documento chama-se algo como:

PROCEDIMENTO_BATCH_FINAL_REV17_2007.doc

Ninguém sabe por que o passo 13 existe.

Portanto alguém decide removê-lo.

Três semanas depois descobrimos.


🚨 Como nasce a Normalização do Desvio?

Ela raramente aparece em uma reunião onde alguém anuncia:

“A partir de hoje vamos trabalhar perigosamente.”

Seria conveniente.

Normalmente acontece gradualmente.

Primeiro surge uma pequena exceção.

Depois uma justificativa.

Depois repetição.

Depois tolerância.

Depois hábito.

Depois cultura.

Podemos representar assim:

PADRÃO
  ↓
PEQUENO DESVIO
  ↓
NADA ACONTECE
  ↓
REPETIÇÃO
  ↓
ACEITAÇÃO
  ↓
NOVO NORMAL
  ↓
DESVIO MAIOR
  ↓
NADA ACONTECE
  ↓
NOVA ACEITAÇÃO
  ↓
...
  ↓
INCIDENTE

Perceba um detalhe terrível.

A fronteira do aceitável se move.

Pouco a pouco.


🐸 A metáfora do sapo — com cuidado

Existe aquela famosa história do sapo colocado em água que esquenta lentamente e não percebe até ser tarde demais.

Como descrição literal do comportamento real de sapos, essa história é problemática.

Mas como metáfora organizacional é extraordinariamente útil.

As pessoas percebem facilmente uma mudança enorme.

Percebem muito menos uma mudança de 1% por semana.

Essa erosão progressiva da segurança também aparece em discussões de engenharia de segurança sob ideias relacionadas, como condições latentes e drift toward failure; um material da NASA sobre segurança organizacional coloca explicitamente esses conceitos próximos à normalização do desvio. (NTRS)


🖥️ Normalização do Desvio no Bellacosa Mainframe

Agora vamos aterrissar definitivamente no z/OS.

Imagine algumas frases.

“Esse dataset chega a 95%, mas nunca estourou.”

Desvio.

“Esse job demora três horas, mas sempre terminou antes da abertura.”

Desvio potencial.

“Temos que reiniciar a CICS toda quarta-feira.”

Hmm.

“Essa transação às vezes dá timeout; manda tentar de novo.”

Muito interessante.

“Quando ocorre esse ABEND, basta restartar.”

Doctor?

“Esse usuário tem SPECIAL porque facilita o suporte.”

DOCTOR?

“Essa senha é compartilhada pela equipe porque é operacional.”

DOCTOR!

O problema não é simplesmente cada situação isolada.

O problema é quando o excepcional ganha aparência de normalidade.


💾 Exemplo: o dataset de 95%

Segunda-feira:

82%.

Terça:

84%.

Semana seguinte:

87%.

Mês seguinte:

91%.

Alerta dispara.

Equipe limpa espaço.

Volta para 75%.

Meses depois:

93%.

Nada acontece.

Depois:

94%.

Nada.

95%.

Ainda funciona.

Então aparece uma nova crença:

“Até 95 está tranquilo.”

Observe.

O limite técnico pode não ter mudado.

Mas o limite psicológico mudou.

Depois chega 96%.

Funcionou.

Novo normal:

Depois 97.

Você percebe o padrão?

Estamos transformando sobrevivência passada em autorização futura.


⏱️ Exemplo: batch cada vez mais lento

Seu batch deveria terminar às 03:00.

Durante anos termina 02:15.

Um dia:

02:24.

Depois:

02:31.

02:38.

02:42.

02:50.

Ainda antes das 03:00.

Então ninguém se preocupa.

02:56.

02:58.

Continua “dentro da janela”.

Até que numa sexta-feira:

03:17.

E alguém pergunta:

— Como esse problema apareceu de repente?

Resposta:

não apareceu de repente.

Nós apenas demoramos para reconhecê-lo.


🔍 Aqui entram os Weak Signals

No episódio anterior falamos sobre sinais fracos.

Agora fica claro por que eles são tão importantes.

Normalização do desvio é frequentemente a arte organizacional de transformar sinais fracos em paisagem.

Um alerta aparece todo dia.

Inicialmente incomoda.

Depois você aprende a fechá-lo.

Depois configura filtro.

Depois ninguém vê.

Isso possui até um conceito associado:

alarm fatigue.

Quando tudo alerta, nada alerta.

Se um sistema produz 10.000 mensagens irrelevantes, a mensagem realmente importante precisa competir com 9.999 ruídos.


🚨 O pior alerta é aquele que todos conhecem

Imagine:

WARNING XYZ123

Operador novo:

— O que significa?

Veterano:

— Ignora.

— Por quê?

— Sempre aparece.

Essa conversa deveria imediatamente gerar uma pergunta:

Se é realmente irrelevante, por que ainda é um warning?

Existem duas possibilidades:

  1. o alerta deveria ser eliminado ou corrigido;

  2. o comportamento deveria ser investigado.

Deixar um warning permanente ensina pessoas a ignorarem warnings.

É treinamento comportamental involuntário.


🧀 Swiss Cheese + Normalization of Deviance

Agora podemos conectar nossos dois episódios.

No Swiss Cheese Model aprendemos que as barreiras possuem buracos.

A Normalização do Desvio mostra algo ainda mais assustador:

podemos aprender a conviver com os buracos.

Pior:

podemos ampliá-los.

Imagine:

FATIA 1 — PROCEDIMENTO

Desvio conhecido:
passo de validação ignorado.

Nada acontece.

Depois:

FATIA 2 — TESTE

Desvio conhecido:
cenário raro não testado.

Nada acontece.

Depois:

FATIA 3 — MONITORAMENTO

Desvio conhecido:
alerta ignorado.

Nada acontece.

Temos agora três buracos maiores.

O queijo suíço está ficando perigosamente transparente.


🛸 A TARDIS precisa viajar para antes do desastre

Em um post-mortem tradicional, talvez alguém pergunte:

“O que aconteceu às 14:32?”

Mas na normalização do desvio talvez precisemos perguntar:

“Quando esse comportamento começou?”

Pode ter sido:

três dias antes;

seis meses;

cinco anos.

Essa é outra razão pela qual incidentes são problemas temporais.

Precisamos estudar sua genealogia.


📝 Passo a passo — Como detectar Normalization of Deviance

Pegue papel, quadro, planilha, Confluence, SharePoint ou aquele bloco de notas que todo analista mainframe inexplicavelmente mantém ao lado do teclado.

Faça algumas perguntas.

Passo 1 — Liste os “sempre fazemos assim”

Converse com operadores e desenvolvedores.

Procure frases:

  • sempre fazemos;

  • pode ignorar;

  • nunca deu problema;

  • funciona desse jeito;

  • esse erro é normal;

  • precisa executar duas vezes;

  • de vez em quando trava;

  • é só reiniciar;

  • todo mundo usa esse usuário;

  • produção é diferente.

Cada uma merece investigação.

Não significa necessariamente que existe perigo.

Significa:

há algo interessante aqui.


🔍 Passo 2 — Compare prática e procedimento

Existe uma diferença entre:

work as imagined

e

work as done.

O primeiro é como imaginamos que o trabalho acontece.

O segundo é como ele realmente acontece.

Manual:

1. Gerar relatório.
2. Validar relatório.
3. Solicitar aprovação.
4. Executar processamento.

Realidade:

1. Gerar relatório.
2. Ninguém olha.
3. João manda OK no Teams.
4. Executar.

Temos um gap.

Investigue.


📈 Passo 3 — Procure tendências, não apenas limites

Não pergunte apenas:

“Passou do SLA?”

Pergunte:

“Está se aproximando progressivamente dele?”

Não pergunte apenas:

“Dataset encheu?”

Pergunte:

“Qual é a tendência de crescimento?”

Não pergunte:

“Houve ABEND?”

Pergunte:

“Warnings estão aumentando?”

Sistemas frequentemente contam sua doença antes de entrar em coma.

Precisamos escutar.


🧯 Passo 4 — Catalogue near misses

Lembra dos quase acidentes?

Eles são especialmente importantes aqui.

Imagine:

produção errada preparada.

Alguém percebe antes da execução.

Todo mundo comemora:

— Ainda bem.

Fecha chamado.

Fim.

Não.

Pergunte:

Por que quase executamos?

A NASA também usa casos de close call para discutir normalização do desvio. Em uma retrospectiva sobre a caminhada espacial EVA 23, a agência descreveu como uma falha de sensor passou a ser aceita como normal com base na experiência anterior, sem que sua causa fosse adequadamente questionada. (NASA)

Esse é um exemplo fantástico.

O sistema estava literalmente ensinando a equipe a aceitar um comportamento anormal.


🧠 Passo 5 — Pergunte o que mudou no significado de “normal”

Isso é poderoso.

Não pergunte apenas:

O sistema mudou?

Pergunte:

Nossa tolerância mudou?

Talvez um job sempre tivesse de terminar em 30 minutos.

Agora consideramos 50 aceitável.

Quando isso aconteceu?

Quem decidiu?

Foi formal?

Houve análise?

Ou aconteceu organicamente?


📏 Passo 6 — Defina guardrails

Um guardrail é uma proteção clara.

Por exemplo:

CPU > X        → investigar
Elapsed > Y    → investigar
Dataset > 85%  → agir
RC != 0        → justificar
Rejeição > Z%  → interromper

O importante é evitar limites negociáveis diariamente.

Caso contrário:

80 parece seguro.

82 também.

85 também.

90 também.

Até 99.


🛑 Passo 7 — Crie stop conditions

Profissionais precisam saber quando parar.

Em algumas culturas operacionais existe enorme pressão para:

continuar funcionando.

Mas maturidade também significa saber dizer:

“Não temos evidência suficiente para continuar com segurança.”

Isso vale para:

deploy;

migração;

batch;

IPL;

alteração de banco;

processamento financeiro;

mudança de infraestrutura.


🧹 Passo 8 — Mate warnings permanentes

Se existe alerta que pode ser ignorado diariamente, faça alguma coisa.

Corrija a causa.

Ajuste o alerta.

Mude severidade.

Documente formalmente.

Mas evite criar uma floresta de warnings inúteis.

Porque um dia, entre eles, chegará o warning importante.


🧪 Passo 9 — Revalide exceções

Toda exceção operacional deveria ter prazo.

Exemplo:

“Durante três semanas aceitaremos processamento de até 70 minutos.”

Excelente.

Depois de três semanas:

reavaliar.

Sem isso a exceção temporária possui uma habilidade corporativa impressionante:

tornar-se permanente.


📚 Passo 10 — Preserve memória organizacional

Documente:

  • por que o controle existe;

  • qual incidente o originou;

  • que risco ele reduz;

  • quem pode alterá-lo.

Imagine um comentário:

* NÃO REMOVER ESTA VALIDAÇÃO.
* INTRODUZIDA APÓS INCIDENTE INC-2008-1742.
* SEM ELA REGISTROS DUPLICADOS PODEM SER
* PROCESSADOS EM RESTART.

Isso vale ouro.

Muito melhor que:

* NAO MEXER.

Embora, admitamos, o segundo tenha certa elegância ameaçadora.


👾 Easter Egg nº 2 — “Não pisque”

No universo de Doctor Who, os Weeping Angels possuem uma regra extremamente simples:

Don't blink.

Na operação talvez devêssemos criar outra:

Don't normalize.

Encontrou algo estranho?

Observe.

Entenda.

Explique.

Corrija ou aceite conscientemente.

Mas nunca permita que se torne normal apenas porque você o viu muitas vezes.


⚠️ Normalização não significa incompetência

Essa é uma parte importantíssima.

Pessoas envolvidas nesse processo não precisam ser irresponsáveis.

Normalização do desvio pode acontecer justamente com profissionais experientes.

Eles conhecem o sistema.

Já viram aquilo várias vezes.

Criaram adaptações.

Obtiveram sucesso.

Então seu próprio conhecimento produz confiança.

Esse é o paradoxo.

Experiência pode aumentar segurança.

Mas experiência com desvios sobrevividos também pode produzir excesso de confiança.


🧭 “Funcionou ontem” não é prova matemática

Existe uma lógica silenciosa:

Funcionou 100 vezes.
Logo funcionará na 101ª.

Não necessariamente.

Talvez exista uma probabilidade pequena de falha.

Imagine 1%.

Você pode executar dezenas de vezes sem observar nada.

Isso não torna o risco zero.

Significa apenas que a amostra ainda não encontrou o problema.

Em sistemas críticos, precisamos evitar confundir:

histórico de sucesso

com

demonstração de segurança.


💥 Quando a sorte cobra juros

Pense numa equipe que realiza deploy manualmente.

Existe um passo perigoso.

Durante cinco anos ninguém erra.

A organização conclui:

O processo é seguro.

Talvez não seja.

Talvez você tenha uma equipe extraordinariamente cuidadosa compensando um processo ruim.

Então chega:

turnover;

pressão;

madrugada;

incidente paralelo;

pessoa nova;

cansaço.

Os buracos alinham.

A organização pergunta:

— Por que fulano errou?

Resposta mais interessante:

Por que nossa segurança dependia de ninguém jamais errar?


⚖️ Just Culture entra novamente na TARDIS

Precisamos criar ambiente onde alguém consiga dizer:

“Isso aqui está errado.”

Sem ouvir:

“Sempre funcionou.”

Profissionais novos possuem uma vantagem curiosa.

Eles ainda enxergam estranheza.

Depois de anos, nossos olhos se acostumam.

Por isso uma pergunta aparentemente ingênua pode ser extremamente valiosa:

“Por que fazemos isso?”

Nunca ridicularize essa pergunta.

Talvez o iniciante esteja vendo um buraco que todos os veteranos aprenderam a ignorar.


☕ Conselho Bellacosa para quem começa em COBOL

Se entrar num ambiente e alguém disser:

“Esse erro é normal.”

Não responda imediatamente:

“Está errado!”

Você ainda não possui contexto.

Pergunte humildemente:

“Você pode me explicar por que ele ocorre e por que sabemos que é seguro?”

Essa pergunta é extraordinária.

Pode haver uma explicação perfeitamente legítima.

Ótimo.

Você aprendeu.

Mas talvez a resposta seja:

“Não sei. Sempre foi assim.”

Nesse momento:

anote.

Talvez você tenha encontrado nossa próxima investigação.


🔬 Métricas que ajudam

Algumas tendências merecem acompanhamento:

tempo médio de batch;

CPU;

I/O;

paging;

volume processado;

crescimento de datasets;

frequência de restart;

ABENDs;

warnings;

timeouts;

filas;

reprocessamentos;

erros funcionais;

chamados repetidos;

intervenções manuais.

E existe uma métrica especialmente interessante:

quantas vezes alguém precisa “dar um jeitinho” para o sistema continuar funcionando?

Não costuma existir no dashboard.

Talvez devesse.


👨‍🚒 Heroísmo operacional pode esconder fragilidade

Existe aquele profissional lendário.

Quando tudo quebra:

liga para Carlos.

Carlos executa três comandos misteriosos.

Sistema volta.

Todos aplaudem.

Excelente Carlos.

Mas temos um problema.

Se isso acontece constantemente, Carlos pode estar funcionando como mecanismo compensatório de uma arquitetura frágil.

Organizações frequentemente confundem heroísmo com resiliência.

Resiliência é:

o sistema consegue lidar com problemas.

Heroísmo é:

precisamos encontrar Carlos às 03:17.

São coisas diferentes.


🌀 Doctor Who e o perigo da rotina

Talvez essa seja nossa melhor conexão com Doctor Who.

O Doctor chega em um lugar onde moradores dizem:

— Sempre fazemos esse ritual.

— Por quê?

— Porque sempre fizemos.

— E aquela porta?

— Nunca abrimos.

— Por quê?

— Porque disseram que não devemos.

Naturalmente atrás da porta existe algum alienígena ancestral capaz de destruir metade da galáxia.

Em organizações, nossos monstros são menos cinematográficos.

São:

scripts antigos;

autorizações excessivas;

warnings ignorados;

planilhas manuais;

restarts rotineiros;

acessos compartilhados;

validações puladas;

backups nunca restaurados;

procedimentos desatualizados.

Mas o mecanismo psicológico é surpreendentemente parecido.


🔄 A Regeneração

Nossa série não existe para admirar acidentes.

Existe para aprender.

Então qual seria a regeneração depois de detectar normalização do desvio?

Primeiro:

tornar o desvio novamente visível.

Depois:

entender sua origem.

Medir o risco.

Decidir conscientemente:

corrigir;

mitigar;

monitorar;

ou formalmente aceitar.

O fundamental é substituir:

“sempre fizemos assim”

por:

“sabemos por que fazemos assim.”

Essa diferença representa maturidade operacional.


📓 Diário do Doctor

Guarde estas ideias.

Normalização do desvio ocorre quando uma prática fora do padrão passa gradualmente a ser aceita porque consequências negativas não apareceram imediatamente.

Sucesso passado não comprova segurança futura.

Near misses são dados, não apenas golpes de sorte.

Warnings repetidos precisam ser entendidos, não domesticados.

A tolerância organizacional pode mudar lentamente sem decisão formal.

Procedimentos podem carregar memória de acidentes antigos.

Iniciantes enxergam coisas que veteranos deixaram de notar.

“Nunca deu problema” descreve o passado. Não garante absolutamente nada sobre amanhã.

E sobretudo:

O desvio mais perigoso pode ser justamente aquele que deixou de parecer desvio.


🕰️ 17:43 — sexta-feira

Voltamos à nossa sala de operação.

O programador iniciante continua olhando para:

JOB04217 ENDED - RC=0004

O veterano termina o café.

O Doctor aproxima-se.

— Há quanto tempo isso acontece?

— Uns três anos.

— Alguém investigou?

— No começo.

— E descobriram a causa?

Silêncio.

— Não lembro.

O Doctor sorri.

Não é um sorriso tranquilizador.

— Excelente.

— Excelente?

— Sim.

Ele abre a porta da TARDIS.

— Encontramos nosso monstro.

O programador aponta para a tela.

— O RC=04?

— Não.

O Doctor entra.

— O fato de vocês terem parado de perguntar por quê.

A porta fecha.

VWORP.

VWORP.

VWORP.

A cabine desaparece.

O jovem olha novamente para o console.

Pensa durante alguns segundos.

Abre o histórico.

Pesquisa:

JOB04217

Três anos.

Centenas de RC=04.

Mas encontra algo interessante.

No começo acontecia uma vez por mês.

Depois semanalmente.

Depois diariamente.

Mais interessante ainda:

o elapsed time também estava aumentando.

Pouco.

Lentamente.

Quase imperceptivelmente.

Ele pega o telefone.

— Temos uma coisa estranha aqui.

Do outro lado alguém pergunta:

— Está dando erro?

Ele olha para:

RC=0004

Sorri.

— Ainda não.

E talvez essa seja justamente a melhor hora para investigar.

Porque incidentes possuem uma propriedade desagradável:

antes de acontecerem, parecem apenas possibilidades.

Depois que acontecem, todos dizem que eram óbvios.

Nossa missão nessa série será encontrá-los enquanto ainda estão no primeiro grupo.

☕🌀


🥚 Easter Egg final

Em algum lugar do código do JOB04217 existe um comentário que ninguém havia notado:

      * BAD WOLF

Ninguém sabe quem escreveu.

O ChangeMan indica que a linha existe desde 2005.

Melhor deixarmos para outra viagem.

Next stop: Hindsight Bias — o estranho fenômeno pelo qual todo incidente se torna absolutamente óbvio cinco minutos depois de acontecer.


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...