☕ 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

domingo, 12 de dezembro de 2010

🐈‍⬛ GATO FÉLIX E AS 10 PORTAS SECRETAS DO WINDOWS

 

Bellacosa Mainframe e os 10 comandos windows 

☕ Um Café no Bellacosa Mainframe

🐈‍⬛ GATO FÉLIX E AS 10 PORTAS SECRETAS DO WINDOWS

CMD, PowerShell, MSConfig, Services, Registry, System Properties, Network Connections, MSInfo32, Disk Cleanup, TEMP — e o dia em que um programador COBOL descobriu que o Windows também tinha seus próprios corredores de serviço.



Sob a tutela do Gato Félix, aquele sujeito que atravessava mundos impossíveis carregando uma bolsa de truques que sempre parecia conter exatamente a ferramenta necessária.



🎬 PRÓLOGO — O PROGRAMADOR COBOL ENCONTROU UMA JANELA

Eram 03:17.

Sim, 03:17.

Porque todo incidente verdadeiramente educativo parece escolher um horário em que não existe café suficiente no planeta.

Nosso jovem programador COBOL estava diante do computador.

Na tela, um programa havia parado de funcionar.

Ele fez aquilo que gerações de profissionais de informática aprenderam como primeiro procedimento técnico universal:

reiniciou o computador.

Nada.

Reiniciou novamente.

Nada.

Então apareceu sobre a mesa uma criatura preta e branca, com olhos enormes e um sorriso que demonstrava experiência demais com sistemas legados.

Era o Gato Félix.

— Você sabe qual é o problema?

— Não.

— Excelente! Então finalmente podemos começar a investigar.

Félix abriu sua famosa bolsa de truques.

Mas, em vez de martelos, escadas e balões, retirou dez pequenos cartões:

cmd
powershell
msconfig
services.msc
regedit
sysdm.cpl
ncpa.cpl
msinfo32
cleanmgr
%temp%

O programador olhou para aquilo.

— São comandos?

Félix sorriu.

— Alguns.

— Programas?

— Alguns.

— Painéis?

— Também.

— Então o que são?

— Portas.

E nossa viagem começa aqui.



🪟 CAPÍTULO 1 — WIN + R: O PEQUENO EXECUTAR QUE ABRE UM MUNDO

Pressione:

Windows + R

Aparece uma pequena janela chamada Executar.

Ela parece insignificante.

Mas é uma espécie de recepcionista do Windows.

Você entrega alguma coisa:

cmd

e o Windows tenta descobrir o que aquilo significa.

Pode ser um executável.

Pode ser um console administrativo.

Pode ser um applet clássico do Painel de Controle.

Pode ser um caminho.

Pode até conter uma variável de ambiente.

É por isso que a popular lista dos “10 comandos do Windows” é útil, mas tecnicamente simplificada demais.

Observe:

EntradaO que realmente é
cmdinterpretador de comandos
powershellshell e plataforma de automação
msconfigutilitário de configuração
services.mscconsole MMC
regediteditor do Registro
sysdm.cplapplet clássico do sistema
ncpa.cplapplet de conexões de rede
msinfo32ferramenta de informações do sistema
cleanmgrutilitário de limpeza
%temp%variável de ambiente expandida para um diretório

Primeira lição de Félix:

Não decore apenas o nome da ferramenta. Entenda qual camada do sistema ela permite observar ou administrar.

Isso será importante mais adiante.



🐾 CAPÍTULO 2 — CMD: O VELHO GATO AINDA CAÇA

Digite:

cmd

O Prompt de Comando aparece.

Para alguém chegando agora ao Windows, aquela tela preta pode parecer antiquada.

Para um programador COBOL, porém, ela quase diz:

“Bem-vindo. Aqui você não precisa clicar em tudo.”

O CMD carrega décadas de compatibilidade.

Experimente:

hostname

para descobrir o nome da máquina.

Depois:

whoami

para descobrir sob qual identidade está executando.

Agora:

ipconfig /all

para visualizar informações detalhadas das interfaces de rede.

Também temos:

tasklist

para processos.

E:

netstat -ano

para observar conexões e seus respectivos PIDs.

Imagine encontrar:

TCP   192.168.0.20:52100   203.0.113.10:443   ESTABLISHED   8740

O número final é o PID.

Então podemos investigar:

tasklist | findstr 8740

Agora temos uma relação:

conexão
   ↓
PID
   ↓
processo

Veja como mudou a pergunta.

Antes:

“Tem alguma coisa estranha na rede.”

Agora:

“Qual processo está associado a determinada conexão?”

Isso é troubleshooting orientado por evidência.

No mainframe fazemos exatamente esse tipo de decomposição.

O segredo não está no comando.

Está na pergunta feita antes do comando.



⚡ CAPÍTULO 3 — POWERSHELL: A BOLSA MÁGICA FICOU PROGRAMÁVEL

Félix retira outra ferramenta:

powershell

Nosso programador pensa:

— CMD azul?

Não.

Essa interpretação perde justamente a característica mais interessante.

No CMD, boa parte do universo é apresentada como texto.

No PowerShell, os comandos trabalham intensamente com objetos.

Execute:

Get-Process

Não estamos simplesmente imprimindo uma lista bonita.

Estamos manipulando objetos representando processos.

Por isso podemos fazer:

Get-Process | Sort-Object CPU

Ou:

Get-Service

E depois:

Get-Service | Where-Object Status -eq "Running"

O símbolo:

|

é o famoso pipe.

Conceitualmente:

Get-Service
     |
     v
objetos
     |
     v
Where-Object
     |
     v
somente os desejados

Para o programador COBOL, pense em uma sequência de processamento:

INPUT
  ↓
SELEÇÃO
  ↓
TRANSFORMAÇÃO
  ↓
OUTPUT

Mas PowerShell pode continuar encadeando operações de maneira extremamente poderosa.

💡 Curiosidade

É comum um iniciante pensar:

“Se existe PowerShell, CMD morreu.”

Não.

Compatibilidade importa.

Existem .bat, .cmd, instaladores, rotinas administrativas e procedimentos construídos durante décadas.

Programador de mainframe deveria reconhecer imediatamente essa filosofia.

Modernização não é sinônimo de destruição daquilo que continua funcionando.

Félix aprovaria.



🚦 CAPÍTULO 4 — MSCONFIG: NÃO ARRANQUE FIOS PARA DESCOBRIR QUAL LÂMPADA APAGOU

Digite:

msconfig

Entramos no System Configuration.

Ali encontramos áreas relacionadas a inicialização, boot, serviços e ferramentas.

O propósito interessante do MSConfig não é transformar qualquer pessoa em “otimizador de Windows”.

É diagnóstico.

Suponha:

Windows inicia
    ↓
problema aparece

Podemos investigar se componentes e serviços carregados durante a inicialização estão relacionados ao comportamento.

O erro clássico da internet é:

“DESATIVE ESTES 28 SERVIÇOS SECRETOS E GANHE 500% DE PERFORMANCE!”

Félix imediatamente fecha o navegador.

Desativar componentes aleatoriamente produz algo pior do que um sistema lento:

um sistema alterado sem documentação.

Você corrige um sintoma hoje e cria três mistérios para daqui a seis meses.

Regra Bellacosa:

ANTES
estado original

ALTERAÇÃO
o que mudou

MOTIVO
por que mudou

RESULTADO
o que aconteceu

ROLLBACK
como retornar

Isso é praticamente change management aplicado ao desktop.


⚙️ CAPÍTULO 5 — SERVICES.MSC: OS TRABALHADORES QUE VOCÊ NÃO VÊ

Digite:

services.msc

Aparece o gerenciador de serviços.

Aqui encontramos processos e componentes executados em background para sustentar funcionalidades do sistema e aplicações.

Podemos observar:

Nome
Descrição
Status
Tipo de inicialização
Conta utilizada

E estados como:

Running
Stopped
Paused

Um serviço também pode possuir diferentes comportamentos de inicialização:

Automatic
Automatic (Delayed Start)
Manual
Disabled

E aqui existe uma pegadinha importante:

Manual não significa defeituoso.

Alguns serviços simplesmente não precisam permanecer ativos continuamente.

Pense no mainframe.

Uma Started Task não existe simplesmente para “encher o SDSF”.

Existe porque algum subsistema ou função precisa dela.

No Windows, o raciocínio também deve ser:

“Qual função depende deste serviço?”

Não:

“Nunca ouvi falar dele. Vou desabilitar.”

🖨️ Exemplo

A impressão parou.

Podemos investigar o subsistema relacionado ao spooler.

A sequência mental seria:

Usuário não imprime
       ↓
impressora?
       ↓
fila?
       ↓
serviço?
       ↓
driver?
       ↓
rede?
       ↓
permissão?

Isso é investigação.


🗝️ CAPÍTULO 6 — REGEDIT: FÉLIX ENTRA NA SALA DAS MÁQUINAS

Então aparece:

regedit

Félix fica sério.

— Aqui não é lugar para experimentar receita de TikTok.

O Windows Registry é uma estrutura hierárquica utilizada pelo Windows e por aplicações para armazenar grande quantidade de configurações.

Encontramos raízes como:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG

Visualmente:

REGISTRY
│
├── HKEY_CURRENT_USER
│     └── configurações associadas ao usuário
│
├── HKEY_LOCAL_MACHINE
│     └── configurações da máquina
│
└── ...

Para alguém que trabalhou com estruturas hierárquicas, a árvore imediatamente faz sentido.

Mas existe um perigo.

O Registry Editor permite alterações que podem afetar profundamente o sistema.

Portanto:

“achei esta chave”

não significa:

“devo alterar esta chave”

Antes de uma mudança séria, registre:

chave
valor anterior
novo valor
motivo
data
resultado esperado
rollback

🐈 Easter egg

Félix encontra uma chave misteriosa:

HKEY_LOCAL_MACHINE
   \SOFTWARE
      \BELLACOSA
         \INCIDENT

Dentro dela:

LastIncident = 03:17

Ele olha para o relógio.

03:17.

O jovem COBOL decide que talvez seja melhor não abrir a próxima chave.


🧬 CAPÍTULO 7 — SYSDM.CPL: O DNA DA MÁQUINA

Digite:

sysdm.cpl

As propriedades clássicas do sistema aparecem.

Aqui encontramos áreas relacionadas a:

Computer Name
Hardware
Advanced
System Protection
Remote

Em opções avançadas encontramos elementos importantes como desempenho, perfis, inicialização e variáveis de ambiente.

Uma das mais famosas é:

PATH

Imagine digitar:

java

Como o Windows encontra java.exe?

Uma das peças dessa resolução é justamente o PATH.

Conceitualmente:

java
 ↓
Windows procura nos locais apropriados
 ↓
PATH contém vários diretórios
 ↓
executável encontrado
 ↓
execução

Também encontramos variáveis como:

TEMP
TMP
JAVA_HOME

E isso nos prepara para uma das últimas portas de Félix.


🌐 CAPÍTULO 8 — NCPA.CPL: “A INTERNET CAIU” NÃO É DIAGNÓSTICO

Digite:

ncpa.cpl

Você chega às conexões de rede clássicas.

Ali podem aparecer:

Ethernet
Wi-Fi
VPN
Bluetooth
adaptadores virtuais

Aqui começamos a enxergar aquilo que o usuário simplesmente chama de:

“Internet.”

Mas “internet não funciona” pode significar dezenas de coisas.

Faça perguntas:

Adaptador está ativo?
        ↓
Recebeu endereço IP?
        ↓
Existe gateway?
        ↓
Gateway responde?
        ↓
DNS funciona?
        ↓
Existe conectividade externa?
        ↓
Somente determinada aplicação falha?

Podemos combinar:

ipconfig /all

com outros testes de rede.

Isso é importantíssimo.

Se conseguimos alcançar um endereço IP externo, mas nomes não são resolvidos, por exemplo, a investigação começa a apontar para DNS em vez de simplesmente declarar:

“A internet caiu.”

No mainframe ocorre a mesma coisa.

“CICS está lento” também não é diagnóstico.

É sintoma.


🔬 CAPÍTULO 9 — MSINFO32: A RADIOGRAFIA DO COMPUTADOR

Digite:

msinfo32

Temos uma extraordinária ferramenta de inventário e diagnóstico.

Ela permite observar informações sobre:

Sistema operacional
versão
fabricante
modelo
processador
memória
BIOS/UEFI
hardware
componentes
drivers
ambiente de software

Em vez de perguntar ao usuário:

“Qual computador você tem?”

e receber:

“Um preto.”

podemos coletar evidências.

Existe inclusive possibilidade de produzir relatório por linha de comando, por exemplo:

msinfo32 /report relatorio.txt

Agora o suporte deixa de depender apenas da memória do usuário.

Temos um artefato.

Isso é muito próximo da mentalidade mainframe:

não suponha
     ↓
colete
     ↓
correlacione
     ↓
compare
     ↓
conclua

🧹 CAPÍTULO 10 — CLEANMGR: NÃO CONFUNDA LIMPEZA COM EXORCISMO

Digite:

cleanmgr

O clássico Disk Cleanup aparece.

Ele pode ajudar a remover categorias de arquivos que não precisam permanecer ocupando armazenamento.

Mas existe uma lição maior.

Limpeza de disco não é cura universal de performance.

Um computador lento pode estar sofrendo por:

CPU
memória
I/O
processos
drivers
serviços
rede
storage
malware
aplicação
configuração

Ter arquivos temporários não significa automaticamente que encontramos a causa.

No Windows moderno também existe Storage Sense, proporcionando mecanismos mais atuais e automatizados de gerenciamento de espaço.

O cleanmgr representa perfeitamente uma característica que programadores COBOL conhecem muito bem:

Uma ferramenta pode ser antiga sem ser inútil.


📦 CAPÍTULO 11 — %TEMP% NÃO É UM COMANDO

Chegamos à décima entrada:

%temp%

Aqui a famosa imagem de “10 comandos” comete sua simplificação mais interessante.

%temp% é uma variável de ambiente.

Quando digitamos:

%temp%

o Windows expande o valor.

Algo conceitualmente parecido com:

%temp%
   ↓
C:\Users\USUARIO\AppData\Local\Temp

e abre esse diretório.

Portanto, a sequência real é aproximadamente:

variável
   ↓
expansão
   ↓
caminho
   ↓
Explorer

Outro mito precisa morrer:

“Tudo em TEMP é lixo e pode ser apagado cegamente.”

Não necessariamente.

Programas ativos podem utilizar arquivos temporários. Alguns estarão bloqueados justamente porque estão sendo usados.

A postura correta continua sendo compreender o que estamos removendo e por quê.


🧰 CAPÍTULO 12 — FÉLIX DESCOBRE QUE A BOLSA TEM MAIS DE 10 FERRAMENTAS

Nossa lista original é apenas o começo.

Eu acrescentaria ao kit do aprendiz:

eventvwr.msc
devmgmt.msc
taskmgr
diskmgmt.msc
compmgmt.msc
perfmon
resmon
control
appwiz.cpl

E um merece destaque especial:

eventvwr.msc

O Event Viewer.

Agora entramos no terreno da evidência histórica.

Compare:

“O sistema deu erro ontem.”

com:

“Às 03:17 ocorreu determinado evento, envolvendo determinado componente, depois da inicialização de determinado serviço.”

Isso muda tudo.

É a diferença entre história oral e telemetria.


🏛️ CAPÍTULO 13 — O PROGRAMADOR COBOL DESCOBRE UM PEQUENO MAINFRAME DENTRO DO WINDOWS

Félix espalha os cartões sobre a mesa.

Nosso programador percebe um padrão.

Podemos construir algumas analogias didáticas, tomando cuidado para não tratá-las como equivalências técnicas:

WindowsPonte mental para z/OS
Event Viewerlogs/SMF
Performance MonitorRMF e ferramentas de performance
ServicesStarted Tasks
PowerShellautomação/REXX, em sentido amplo
identidade/permissõesRACF
CMDambiente de comandos, analogia distante com TSO
processosvisão operacional lembrando algumas funções do SDSF
configurações de redeTCP/IP stack e ferramentas relacionadas

Não são equivalentes.

SMF não é “o Event Viewer do mainframe”.

SDSF não é “Task Manager do z/OS”.

RACF não é simplesmente “usuários do Windows”.

A analogia serve apenas para construir a primeira ponte cognitiva.

Depois atravessamos a ponte e estudamos cada tecnologia corretamente.


🕵️ CAPÍTULO 14 — A VERDADEIRA FERRAMENTA ESTAVA NA CABEÇA DE FÉLIX

O jovem programador finalmente pergunta:

— Qual desses comandos eu preciso decorar?

Félix coloca todos de volta na bolsa.

— Nenhum deles é o principal.

— Então qual é?

Ele escreve:

SINTOMA
   ↓
HIPÓTESE
   ↓
EVIDÊNCIA
   ↓
TESTE
   ↓
RESULTADO
   ↓
NOVA HIPÓTESE
   ↓
CAUSA
   ↓
CORREÇÃO
   ↓
VALIDAÇÃO

Essa é a ferramenta.

Imagine:

“Meu Windows está lento.”

Não execute cleanmgr automaticamente.

Pergunte:

Lento como?

Inicialização?

Aplicação?

Rede?

Disco?

Resposta da interface?

Depois:

WINDOWS LENTO
     │
     ├── CPU?
     │
     ├── memória?
     │
     ├── disco?
     │
     ├── rede?
     │
     ├── processo?
     │
     ├── serviço?
     │
     ├── driver?
     │
     └── aplicação?

Agora escolhemos ferramentas de acordo com a hipótese.

Essa mudança parece pequena.

É gigantesca.


🔭 CAPÍTULO 15 — OBSERVABILIDADE ANTES DA CHAVE DE FENDA

Existe uma tentação permanente na informática:

mexer primeiro e investigar depois.

Félix ensina o contrário.

Antes de reiniciar um serviço, talvez seja útil observar seu estado.

Antes de matar um processo, descubra o que ele está fazendo.

Antes de alterar o Registry, registre o valor existente.

Antes de limpar arquivos, determine se armazenamento realmente é o problema.

Antes de alterar rede, capture a configuração.

Em outras palavras:

ANTES DA MUDANÇA
      ↓
COLETE EVIDÊNCIA
      ↓
FAÇA UMA ALTERAÇÃO CONTROLADA
      ↓
OBSERVE
      ↓
COMPARE

Isso vale para um notebook Windows.

Vale para um servidor.

Vale para CICS.

Vale para Db2.

Vale para MQ.

E certamente vale para z/OS.


🧙 CAPÍTULO 16 — O SEGREDO DA BOLSA MÁGICA

Existe uma razão pela qual escolhemos o Gato Félix para essa viagem.

A famosa bolsa de truques sempre oferecia uma ferramenta apropriada à situação.

Mas um profissional de infraestrutura precisa aprender justamente o contrário da interpretação infantil da bolsa:

não escolha primeiro a ferramenta.

Escolha primeiro a pergunta.

Depois procure a ferramenta adequada.

O mau troubleshooting funciona assim:

Tenho PowerShell!
       ↓
O que posso fazer com ele?

O bom troubleshooting:

Tenho um problema.
       ↓
O que preciso descobrir?
       ↓
Que evidência responderia?
       ↓
Qual ferramenta consegue obtê-la?

Essa inversão transforma completamente o profissional.


☕ EPÍLOGO — NÃO ERA SOBRE DEZ COMANDOS

Já estava amanhecendo.

Nosso programador olhou novamente para a imagem original:

1  cmd
2  powershell
3  msconfig
4  services.msc
5  regedit
6  sysdm.cpl
7  ncpa.cpl
8  msinfo32
9  cleanmgr
10 %temp%

No começo da noite ele enxergava dez comandos.

Agora enxergava:

Shell
Automação
Boot
Serviços
Configuração
Sistema
Rede
Inventário
Storage
Ambiente

E, por trás deles:

Aplicação
     ↓
Sistema operacional
     ↓
Serviços
     ↓
Rede
     ↓
Segurança
     ↓
Storage
     ↓
Hardware

Félix colocou a bolsa no ombro.

— Então agora você sabe consertar Windows?

O programador respondeu:

— Não.

Félix abriu um enorme sorriso.

— Ótimo.

Porque finalmente ele havia entendido a diferença entre saber alguns truques e saber investigar.

Um profissional experiente raramente começa dizendo:

“Eu sei qual é o problema.”

Ele começa perguntando:

“Que evidências temos?”

Essa pergunta atravessa gerações de tecnologia.

Do cartão perfurado ao PowerShell.

Do JCL ao Git.

Do TSO ao terminal moderno.

Do RMF à observabilidade distribuída.

Do COBOL de milhões de linhas ao pequeno notebook sobre nossa mesa.

Ferramentas mudam.

Interfaces mudam.

Nomes mudam.

Mas o método permanece:

observar, decompor, medir, correlacionar, testar, corrigir e validar.

Às 03:17, o programa voltou a funcionar.

Nosso jovem COBOL virou-se para agradecer.

Félix já havia desaparecido.

Sobre a mesa restava apenas um pequeno cartão preto:

//FELIXJOB JOB ...
//STEP01   EXEC PGM=CURIOSITY
//SYSOUT   DD SYSOUT=*
//*
//* NEVER TRUST A GREEN DASHBOARD
//* WITHOUT LOOKING AT THE EVIDENCE.
//*

No verso, escrito a lápis:

“A melhor ferramenta da bolsa não resolve o incidente. Ela ajuda você a fazer a pergunta certa.”

E, em algum lugar entre uma LPAR, um notebook Windows e uma velha fita esquecida no datacenter, alguém abriu o eventvwr.msc.

Havia um evento registrado exatamente às 03:17.

🐈‍⬛ Fim? Não. Apenas mais uma madrugada no Bellacosa Mainframe.

sábado, 11 de dezembro de 2010

Diffusion of Responsibility: Doctor Who, COBOL e o Dia em que Todo Mundo Viu o Alerta — Mas Ninguém Era o Responsável

Bellacosa Mainframe e a diffusion of responsibility

☕ Um Café no Bellacosa Mainframe

Diffusion of Responsibility: Doctor Who, COBOL e o Dia em que Todo Mundo Viu o Alerta — Mas Ninguém Era o Responsável

Uma viagem pela TARDIS dos incidentes para entender por que quanto mais pessoas recebem um problema, mais fácil pode ser acreditar que outra pessoa já está cuidando dele

08:57.

Segunda-feira.

Café quente.

Produção funcionando.

O Teams tranquilo.

Uma manhã suspeitosamente agradável.

Até que surge:

09:01:17

WARNING
PAYMENT QUEUE DEPTH > THRESHOLD

O monitoramento envia automaticamente a mensagem para:

Operações.

Aplicação.

Middleware.

CICS.

DBA.

Infraestrutura.

Gestão.

Suporte.

Vinte e três pessoas recebem.

Excelente.

Um sistema moderno.

Comunicação perfeita.

Visibilidade ampla.

09:04.

A fila continua crescendo.

QUEUE DEPTH: 4.312

João, da aplicação, vê.

Pensa:

“Operação certamente está olhando.”

Maria, de operações, vê.

Pensa:

“Isso parece problema da aplicação.”

Carlos, de middleware, recebe.

Pensa:

“Se for MQ de verdade, alguém vai me chamar.”

O gerente recebe no celular.

Pensa:

“A equipe técnica já está atuando.”

Nosso jovem programador COBOL vê a mensagem.

Olha a quantidade de pessoas no canal.

Vinte e três.

Pensa:

“Não vou atrapalhar. Certamente alguém mais experiente está cuidando.”

09:12.

QUEUE DEPTH: 12.891

Ninguém está cuidando.

09:17.

TIMEOUT RATE: +320%

09:19.

Usuários começam a reclamar.

09:22.

Alguém pergunta no Teams:

“Pessoal, alguém olhando isso?”

Silêncio.

Então...

VWORP.

VWORP.

VWORP.

A TARDIS materializa-se no corredor.

A porta abre.

O Doctor sai.

Olha para o painel.

Olha para o Teams.

Conta os participantes.

— Vinte e três pessoas receberam o alerta?

— Sim.

— Quantas estão investigando?

Silêncio.

— Interessante.

Nosso programador responde:

— Achei que alguém estivesse.

O Doctor aponta para os demais.

— Eles também.

Pausa.

— Vocês construíram uma equipe tão grande que conseguiram criar uma pessoa imaginária chamada “alguém”.

Bem-vindo ao:



Diffusion of Responsibility

Ou:

Difusão de Responsabilidade

O fenômeno pelo qual a presença de várias pessoas pode reduzir a sensação individual de responsabilidade para agir.

Quanto mais fácil pensar:

“Outra pessoa fará”

mais perigoso fica descobrir que todas as outras pessoas pensaram exatamente a mesma coisa.


🌀 A TARDIS já colecionou muitos monstros

Nossa jornada está ficando perigosamente parecida com um bestiário de sistemas complexos.

Começamos pelo Swiss Cheese Model.

Aprendemos que barreiras imperfeitas podem falhar simultaneamente.

Depois:

Normalization of Deviance — aquilo que estava errado vai ficando familiar.

Hindsight Bias — depois do desastre todo mundo acredita que deveria ter percebido.

Confirmation Bias — encontramos aquilo que procuramos.

Anchoring Bias — a primeira explicação prende nossa atenção.

Groupthink — pessoas concordam porque as outras concordam.

Authority Gradient — alguém percebe, mas não consegue confrontar autoridade.

Plan Continuation Bias — continuamos porque já começamos.

Alarm Fatigue — recebemos tantos alertas que deixamos de ouvi-los.

Automation Bias — acreditamos demais na máquina.

Drift Into Failure — pequenas adaptações empurram todo o sistema lentamente para condições perigosas.

Agora encontramos outra peça.

O alerta funciona.

Não existe necessariamente fadiga.

A máquina detectou corretamente.

As pessoas viram.

O problema foi distribuído para tanta gente que a responsabilidade ficou...

distribuída também.


🧠 O que é Diffusion of Responsibility?

A ideia é bastante simples.

Imagine que você esteja sozinho numa sala.

Um alarme começa.

Você pensa:

“Preciso fazer alguma coisa.”

Agora imagine vinte pessoas.

O mesmo alarme aparece.

Você pode pensar:

“Alguém mais qualificado vai cuidar.”

Cada pessoa individualmente sente uma fração menor da responsabilidade.

Não precisamos literalmente calcular:

RESPONSABILIDADE / NÚMERO DE PESSOAS

A psicologia não funciona como COBOL.

Mas a sensação pode se comportar aproximadamente dessa maneira.

Uma responsabilidade claramente individual:

“Vagner, investigue este alerta.”

é muito diferente de:

“Pessoal, alguém consegue olhar?”

A segunda frase acabou de criar um funcionário imaginário chamado:

Alguém.


👥 O famoso Bystander Effect

Diffusion of Responsibility é fortemente relacionada ao chamado Bystander Effect, ou efeito espectador.

Estudos clássicos da psicologia social associados a John Darley e Bibb Latané investigaram por que indivíduos podem ter menor probabilidade de ajudar em certas situações quando outras pessoas também estão presentes.

A lógica psicológica inclui elementos como:

“Outra pessoa deve agir.”

ou:

“Se ninguém está reagindo, talvez não seja grave.”

Isso é fascinante porque se conecta imediatamente aos incidentes.

Uma War Room possui muitos espectadores.

Todos tecnicamente capazes.

Todos informados.

Mas capacidade coletiva não garante ação individual.


🚨 O alerta para “todos”

Existe uma frase operacional que deveria causar desconforto:

“Mandamos para todo mundo.”

Parece robusto.

Mas quem é o responsável?

Resposta:

“Todo mundo.”

Então talvez tenhamos um problema.

Porque:

Responsabilidade de todos pode virar responsabilidade de ninguém.


☕ Bellacosa Mainframe: o job que ninguém assumiu

Imagine:

JOB ABC123 ABENDED S0C7

Scheduler envia:

Aplicação.

Produção.

Suporte.

DBA.

Operador.

Email de distribuição.

Teams.

Telefone automático.

Fantástico.

Agora:

Operação pensa:

aplicação está vendo.

Aplicação pensa:

operador deve ter iniciado restart.

DBA pensa:

não parece Db2.

Gestão pensa:

equipes técnicas receberam.

Resultado:

35 minutos.

Nenhuma ação.

O problema não foi falta de notificação.

Foi falta de:

ownership.


🏷️ Ownership muda tudo

Compare:

ALERT:
ABC123 S0C7

RECIPIENTS:
OPERATIONS@EMPRESA

com:

ALERT:
ABC123 S0C7

OWNER:
BATCH PAYMENTS TEAM

ON-CALL:
MARIA

ACK REQUIRED: 5 MIN

ESCALATE AFTER: 10 MIN

A segunda versão responde à pergunta:

Quem precisa agir agora?

Isso vale ouro.


🧠 Informação e responsabilidade são coisas diferentes

Enviar informação não significa atribuir responsabilidade.

Você pode informar 200 pessoas.

Ainda precisa existir alguém dizendo:

“Eu tenho este incidente.”

Isso é uma distinção maravilhosa para quem começa em TI.

Broadcast

“Todos precisam saber.”

Assignment

“Você precisa agir.”

Não confunda.


👻 Easter Egg nº 1 — O companion imaginário

O Doctor pergunta:

— Quem deveria apertar o botão?

Companion A:

— Achei que fosse B.

Companion B:

— Eu achei que fosse o Doctor.

Doctor:

— E eu estava ocupado impedindo a destruição do espaço-tempo.

Pausa.

— Talvez devêssemos começar a colocar nomes nos botões.

TI aprendeu a mesma lição.

Ou deveria.


📣 “Alguém pode verificar?”

Essa frase aparece muito em chats operacionais:

“Alguém consegue verificar CICS?”

Cinco pessoas leem.

Ninguém responde.

Melhor:

“Carlos, consegue verificar CICS e retornar em 10 minutos?”

Agora temos:

responsável;

atividade;

expectativa.

Se Carlos não puder:

— Não consigo. Maria assume?

Responsabilidade transferida explicitamente.


🏃 O bastão precisa ser entregue

Imagine corrida de revezamento.

Não basta:

“Acho que o próximo corredor sabe que deve correr.”

Existe entrega do bastão.

Em incidentes deveria ser semelhante:

OWNER: CARLOS
        ↓
HANDOFF
        ↓
OWNER: MARIA

Nunca:

CARLOS
   ↓
“PESSOAL”
   ↓
???

O ??? é onde incidentes moram.


🔁 Handoff é uma transação

Para um programador COBOL, pense como uma transação.

Transferência de responsabilidade deveria possuir confirmação.

CARLOS:
“Maria, transfiro análise de MQ para você.”

MARIA:
“Recebido. Assumo MQ.”

Commit.

Sem confirmação:

rollback psicológico.

Ninguém sabe quem possui.


🧠 Two Generals Problem corporativo

Em sistemas distribuídos existe toda uma discussão sobre confirmação e coordenação.

Na organização temos versão humana:

Pessoa A:

“Mandei mensagem.”

Pessoa B:

“Não vi.”

Pessoa A:

“Mas mandei.”

Tecnicamente:

mensagem transmitida.

Operacionalmente:

responsabilidade não assumida.

Por isso acknowledgement importa.


✅ ACK novamente

No capítulo de Alarm Fatigue aprendemos:

ACK ≠ RESOLVED

Agora adicionamos:

DELIVERED ≠ OWNED

E:

READ ≠ ACTION

Essas três inequações deveriam estar na parede da War Room.


🧀 Diffusion of Responsibility encontra o Swiss Cheese

Uma fatia importante de segurança é:

resposta humana.

Monitor detecta.

Equipe recebe.

Parece barreira robusta.

Mas:

ninguém possui ownership.

Temos um buraco.

Pior.

Todos acreditam que a barreira existe.

Isso produz falsa confiança.


🚨 Alarm Fatigue + Diffusion of Responsibility

Agora os dois monstros se encontram.

Quatro mil alertas.

Todos enviados para vinte pessoas.

Cada pessoa pensa:

alguém pegará os importantes.

Perfeito.

Temos ruído distribuído para responsabilidade distribuída.

O verdadeiro alerta entra.

E desaparece.


🤖 Automation Bias + Diffusion of Responsibility

Sistema automático cria ticket.

Ótimo.

Ticket entra numa fila geral.

Todos confiam:

sistema direcionará corretamente.

Mas regra de roteamento está errada.

Ticket permanece sem owner.

Como foi criado automaticamente, todos assumem que o processo automático também garantiu tratamento.

Não garantiu.

Automação aumentou sensação de segurança.

Ownership continuou vazio.


👥 Groupthink também aparece

Equipe inteira vê ninguém reagindo.

Cada pessoa interpreta silêncio como:

provavelmente não é grave.

Esse mecanismo é próximo daquilo que psicólogos chamam de pluralistic ignorance.

Cada pessoa observa a ausência de reação das outras e usa isso como informação.

Internamente:

“Estou preocupado.”

Externamente:

ninguém age.

Então todos concluem:

“Talvez eu esteja exagerando.”

Agora o silêncio se autoalimenta.


😐 Pluralistic Ignorance

Imagine oito pessoas numa sala.

Todas sentem cheiro estranho.

Cada uma olha para as outras.

Ninguém reage.

Cada uma pensa:

“Se fosse perigoso, alguém estaria preocupado.”

Mas todos estão preocupados.

Fantástico.

Agora troque cheiro por:

QUEUE DEPTH +400%

War Room:

ninguém fala.

Mesmo mecanismo.


⚓ Anchoring Bias pode definir o dono errado

Primeiro chamado diz:

“Problema de rede.”

Todos:

— Network team cuidará.

A rede pensa:

— Não é nossa.

Mas ninguém realoca formalmente.

Agora incidente fica órfão.

O título inicial ancorou não apenas diagnóstico.

Ancorou ownership.


🪜 Authority Gradient e responsabilidade

Júnior percebe:

— Ninguém está olhando isso.

Mas pensa:

“O gerente certamente sabe.”

Ou:

“O Incident Commander já deve ter atribuído.”

Não pergunta.

Authority Gradient transforma dúvida em silêncio.


▶️ Plan Continuation Bias

Mudança em andamento.

Alerta surge.

Todos assumem que “alguém da validação” está analisando.

Ninguém interrompe plano.

Continua.

Mais um exemplo de como nossos monstros cooperam.


🌀 Drift Into Failure

Difusão de responsabilidade também pode se tornar estrutural ao longo do tempo.

Equipe pequena:

ownership claro.

Empresa cresce.

Mais times.

Mais fornecedores.

Mais camadas.

Agora:

Aplicação.

Plataforma.

Infra.

Cloud.

Mainframe.

Middleware.

Rede.

Segurança.

Fornecedor A.

Fornecedor B.

Quem é dono do fluxo ponta a ponta?

Resposta:

depende.

Essa resposta merece investigação.


🕸️ Complexidade organizacional cria fronteiras

Muitos incidentes vivem nas interfaces.

Time A:

meu componente está verde.

Time B:

o meu também.

Time C:

idem.

Usuário:

não funciona.

Cada equipe possui parte.

Ninguém possui jornada completa.

Isso é perigoso.


🗺️ Component Ownership versus Service Ownership

Você pode possuir:

CICS.

Db2.

MQ.

API.

Mas quem possui:

Pagamento do cliente?

Isso é diferente.

Serviços ponta a ponta precisam de responsabilidade além de componentes.

Caso contrário:

todos os componentes verdes.

Cliente vermelho.


💻 O COBOL está funcionando!

Programador:

— Meu programa retornou RC=00.

DBA:

— Db2 normal.

MQ:

— Mensagem entregue.

API:

— HTTP 200.

Cliente:

— Dinheiro não chegou.

Cada profissional está correto localmente.

O sistema está errado globalmente.

Drift Into Failure nos ensinou sobre racionalidade local.

Diffusion of Responsibility acrescenta:

ninguém pode estar olhando o todo.


🧠 O problema dos silos

Silos organizacionais não são apenas problema burocrático.

São risco técnico.

Quanto mais fragmentado:

mais handoffs;

mais fronteiras;

mais possibilidade de:

“não é comigo.”

Essa frase deveria ser tratada como evento operacional.


🚪 “Not my problem”

Às vezes realmente não é responsabilidade daquele time.

Tudo bem.

Mas resposta madura não é:

“Não é nosso.”

É:

“Não é nosso componente. Estou transferindo para X e confirmando que assumiram.”

O incidente precisa sair de uma mão e chegar a outra.

Não cair no chão.


🏷️ Incident Commander

É exatamente por isso que o papel de Incident Commander pode ser tão útil.

Não precisa ser o maior especialista técnico.

Sua função é garantir:

quem investiga o quê;

quem possui a próxima ação;

qual prazo;

qual hipótese;

qual decisão;

qual escalonamento.

Ou seja:

o Incident Commander combate difusão de responsabilidade.


🎬 War Room sem direção

Imagine:

15 especialistas falando.

Cada um executa alguma coisa.

Mas ninguém sabe:

quem decide;

quem registra;

quem atualiza;

quem comunica;

quem acompanha ação.

Isso não é equipe.

É multiplayer sem party leader.

E o boss está batendo.


🎮 Easter Egg nº 2 — Raid de RPG

Imagine uma raid.

Tank pensa:

healer vai puxar.

Healer pensa:

tank vai puxar.

DPS já começou.

Boss acorda.

Raid wipe.

No post-mortem:

“Quem puxou?”

Resposta:

“Ninguém.”

TI às vezes consegue reproduzir MMORPG com orçamento corporativo.


🧪 RACI pode ajudar — mas não salvar sozinho

Uma ferramenta conhecida:

RACI

Responsible.

Accountable.

Consulted.

Informed.

Pode ser útil para esclarecer funções.

Exemplo:

INCIDENTE DE PAGAMENTO

Responsible:
Payments Operations

Accountable:
Payments Manager

Consulted:
DB2, MQ, CICS

Informed:
Business, Service Desk

Muito melhor que:

todos envolvidos.

Mas cuidado.

Matriz no SharePoint não resolve automaticamente cultura.

Precisa refletir trabalho real.


🧠 Responsible versus Accountable

Uma distinção útil:

Responsible

faz o trabalho.

Accountable

responde pelo resultado e garante que exista dono.

Em incidentes críticos, alguém precisa possuir accountability.

Não necessariamente executar tudo.


📝 Single Threaded Owner

Outra ideia muito útil:

uma pessoa claramente responsável pela coordenação do problema.

Mesmo com dezenas de especialistas.

Não significa centralizar conhecimento.

Significa centralizar ownership.


🎯 Pergunta Bellacosa nº 1

Quando surgir incidente:

“Quem é o dono?”

Se resposta:

“A equipe.”

Pergunte novamente.

“Qual pessoa está coordenando?”

Nome.


🎯 Pergunta Bellacosa nº 2

Para cada atividade:

“Quem vai fazer e quando retorna?”

Não:

“Precisamos verificar MQ.”

Mas:

“Carlos verifica MQ e retorna às 09:30.”

Agora existe ação.


🎯 Pergunta Bellacosa nº 3

Depois de handoff:

“A outra pessoa confirmou que assumiu?”

Se não:

a responsabilidade ainda é sua.

Essa regra pode evitar muita coisa.


🎯 Pergunta Bellacosa nº 4

Quando dez pessoas recebem alerta:

“Quem precisa acordar por causa dele?”

Se ninguém:

talvez o alerta seja informativo.

Se alguém:

roteie diretamente.


🔔 Notifications devem refletir papéis

Nem todo mundo precisa pager.

Talvez:

Owner:

pager.

Especialistas:

Teams.

Gestão:

status periódico.

Usuários:

comunicação de impacto.

Um sistema que manda a mesma mensagem para todos não está necessariamente comunicando bem.


🧠 Broadcast cria espectadores

Quanto mais amplo o broadcast:

mais pessoas informadas.

Mas também pode criar:

mais espectadores passivos.

Se precisar de ação:

atribua.


🔥 Incêndio corporativo

Imagine prédio pegando fogo.

Mensagem:

“Pessoal, alguém chama os bombeiros?”

Você ficaria tranquilo?

Melhor:

“Maria, ligue para emergência. Carlos, evacue o andar. João, confirme.”

Incidentes precisam dessa clareza.


🛑 Role Assignment nos primeiros minutos

Uma War Room madura deveria rapidamente definir algo como:

INCIDENT COMMANDER: ANA

TECH LEAD: CARLOS

COMMS: JULIANA

SCRIBE: PEDRO

DB2: MARIA

MQ: ROBERTO

APPLICATION: LUCAS

Agora ninguém pergunta:

“Achei que alguém estava anotando.”

Temos Pedro.

Pobre Pedro.

Mas necessário.


✍️ O Scribe é mais importante do que parece

Durante crise:

ações acontecem rápido.

Sem registro:

hipóteses repetidas;

decisões esquecidas;

comandos duplicados;

handoffs confusos.

Scribe preserva memória coletiva.

Isso reduz difusão cognitiva.


📜 Decision Log novamente

09:13
Carlos assume MQ.

09:16
MQ channel healthy.

09:18
Maria verifica DB2 waits.

09:22
DB2 normal.

09:24
Hipótese muda para consumer.

Agora todo mundo sabe.


🚧 Evite investigação duplicada

Difusão de responsabilidade tem um primo estranho:

às vezes ninguém faz.

Outras vezes cinco pessoas fazem a mesma coisa.

Porque ninguém coordenou.

Resultado:

DBA investigado cinco vezes.

MQ ninguém olhou.

Ownership também evita duplicação.


🧮 Paralelismo precisa ser controlado

Mainframeiro entende paralelismo.

Você quer tarefas independentes.

THREAD A → DB2
THREAD B → MQ
THREAD C → APPLICATION

Não:

THREAD A → DB2
THREAD B → DB2
THREAD C → DB2
MQ → NINGUÉM

War Room também precisa scheduling.


📊 Action Board

Uma ferramenta incrivelmente simples:

AÇÃO             OWNER      PRAZO    STATUS
MQ consumer      Carlos     09:30    RUNNING
DB2 wait         Maria      09:28    DONE
App logs         João       09:32    RUNNING
Comms negócio    Ana        09:35    OPEN

Acaba com boa parte da ambiguidade.


🧠 “Eu achei que...”

Uma frase favorita dos post-mortems:

“Eu achei que fulano estava fazendo.”

Alarmes.

Backups.

Validação.

Rollback.

Comunicação.

Esses “achei” são ouro investigativo.

Pergunte:

Por que o sistema permitiu que uma atividade crítica dependesse de suposição?


💾 Backup: o clássico

Todo mundo acredita:

infraestrutura faz backup.

Infra acredita:

aplicação valida restore.

Aplicação acredita:

backup é responsabilidade da infra.

Incidente.

Backup existe.

Restore nunca testado.

Diffusion of Responsibility mora feliz.


🔐 Segurança

Alerta de vulnerabilidade.

Security envia para aplicação.

Aplicação pensa:

plataforma corrigirá.

Plataforma:

código é aplicação.

90 dias depois:

continua aberto.

CVSS não liga para organograma.


🏦 Reconciliação financeira

Operação:

negócio valida valores.

Negócio:

TI valida processamento.

TI:

reconciliação é automática.

Automação:

erro.

Quem percebe?

Talvez o cliente.

Nunca faça do cliente seu mecanismo de observabilidade.


🧠 Customer as Monitor

Existe um anti-pattern terrível:

“Se der problema, usuário reclama.”

Isso significa:

cliente virou sistema de alerta.

Alarm Fatigue agradece.

Automation Bias agradece.

Diffusion of Responsibility também.


🤖 Agentes de IA e responsabilidade

Agora fica interessante.

Imagine múltiplos agentes:

Agent A analisa.

Agent B executa.

Agent C valida.

Quem é responsável pelo resultado?

Não diga:

“o agente.”

Responsabilidade organizacional continua humana.

Precisamos saber:

quem configurou;

quem autorizou;

quem monitora;

quem pode interromper;

quem responde por exceção.


🤖 Multi-Agent Diffusion

Agentes também podem criar versão tecnológica:

Agent A:

deleguei para B.

B:

classifiquei como responsabilidade de C.

C:

aguardando entrada de A.

Loop.

Nenhum humano percebe.

Então sistemas multiagentes precisam:

ownership;

state;

timeouts;

escalation;

orchestrator.

Viu como nossa teoria volta aos agentes?


🧭 Orchestrator como Incident Commander

Num sistema agentic:

orquestrador precisa saber:

quem está fazendo;

qual status;

quando expira;

quando escalar.

Exatamente como War Room.

Tecnologia muda.

Coordenação continua sendo coordenação.


⏰ Timeout de responsabilidade

Uma tarefa não deveria ficar eternamente:

STATUS: ASSIGNED

Sem resposta.

Defina timeout.

ACK REQUIRED: 5 MIN
ACTION UPDATE: 15 MIN
ESCALATE: 20 MIN

Responsabilidade precisa de relógio.


🧠 Escalation não é punição

Escalar significa:

a condição exige mais atenção.

Não:

alguém falhou moralmente.

Se escalonamento vira punição, pessoas escondem atraso.

Just Culture novamente.


🧪 Passo a passo para combater Diffusion of Responsibility

Passo 1 — Todo incidente precisa de owner

Uma pessoa.

Nome.

Não “time”.


Passo 2 — Toda ação precisa de owner

“Verificar banco”

não é ação completa.

Use:

“Maria verifica Db2 até 09:30.”

Passo 3 — Exija ACK

Assignment sem confirmação não terminou.


Passo 4 — Defina tempo

Responsabilidade sem deadline pode evaporar.


Passo 5 — Crie escalation path

Se owner não responde:

quem recebe?


Passo 6 — Separe FYI de ACTION REQUIRED

No assunto.

Na ferramenta.

Na cultura.


Passo 7 — Use Incident Commander

Principalmente em incidentes grandes.


Passo 8 — Registre handoffs

Não confie em memória.


Passo 9 — Audite filas sem owner

Tickets.

Alertas.

Vulnerabilidades.

Problemas.

Tudo que não possui dono é dívida operacional.


Passo 10 — Investigue “achei que alguém”

Toda vez que essa frase aparece no post-mortem, existe oportunidade de melhorar processo.


📬 FYI versus ACTION REQUIRED

Uma disciplina simples.

FYI:
Informação.

ACTION:
Pessoa específica precisa fazer algo.

Não misture.

Se tudo pede ação:

Alarm Fatigue.

Se nada especifica ação:

Diffusion of Responsibility.


🎯 O equilíbrio

Boa operação precisa de:

informação suficiente;

responsabilidade específica.

VISIBILIDADE AMPLA
+
OWNERSHIP CLARO
=
COORDENAÇÃO

Não precisamos esconder informação.

Precisamos evitar ambiguidade.


🧠 Dunbar não salva a War Room

Adicionar pessoas não aumenta indefinidamente capacidade.

Às vezes mais gente significa:

mais canais;

mais conversas;

mais suposições;

mais handoffs.

Existe custo de coordenação.

Um incidente com 50 pessoas pode ser mais difícil que com 10 especialistas bem organizados.


🚪 War Room precisa de porta

Nem todo mundo precisa falar.

Alguns podem acompanhar.

Roles:

core responders;

SMEs sob demanda;

stakeholders informados.

Isso reduz ruído.


🧠 Incident Command System

Estruturas de comando em emergência existem por uma razão:

quando tudo fica caótico, funções precisam ficar mais claras, não menos.

Tecnologia às vezes tenta resolver crise colocando cinquenta especialistas numa call.

Não é necessariamente coordenação.

Pode ser apenas Zoom cheio.


👻 Easter Egg nº 3 — 50 pessoas no Teams

War Room:

“Participants: 57”

Doctor:

— Quem está coordenando?

— Não sei.

— Quem está investigando MQ?

— Acho que alguém.

— Quem comunica usuários?

— Deve ter alguém.

Doctor:

— Então por que temos 57 pessoas?

Silêncio.

— Ah.

— O quê?

— Vocês estão usando quantidade como substituto de estrutura.


🧩 Diffusion of Responsibility no code review

PR com 12 reviewers.

Cada um pensa:

alguém fará review profundo.

Resultado:

12 approvals superficiais.

Compare com:

PRIMARY REVIEWER: Maria
SECURITY REVIEWER: Carlos
DB REVIEWER: Ana

Funções claras.


🧪 Testes

“Equipe é responsável pelos testes.”

Quem escreve?

Quem valida?

Quem dá sign-off?

Se ninguém sabe:

todo mundo pode acreditar que outra pessoa cobriu determinado cenário.


📚 Documentação

“Precisamos documentar.”

Todo mundo concorda.

Seis meses depois:

nenhum documento.

Por quê?

Porque tarefas coletivas abstratas não executam a si mesmas.

OWNER: João
DUE: sexta

A mágica administrativa.


🧠 Shared Responsibility precisa de fronteiras claras

Cloud popularizou expressão:

shared responsibility.

Importante.

Mas responsabilidade compartilhada não significa responsabilidade ambígua.

Precisamos saber:

provedor faz X.

cliente faz Y.

integração faz Z.

Toda fronteira precisa estar explícita.


☁️ “Achei que a cloud fazia backup”

Clássico.

Serviço fornece mecanismo.

Cliente precisa configurar.

Cliente pensa:

provider faz.

Incidente.

Surpresa.

Shared Responsibility mal compreendida vira Diffusion of Responsibility contratual.


🧠 Psychological Ownership

Quando alguém diz:

“Esse serviço é meu.”

normalmente presta mais atenção.

Isso é ownership psicológico.

Organizações maduras desenvolvem isso sem criar feudos.

Você quer:

“Eu cuido.”

Não:

“Só eu mexo.”


🚧 Ownership não pode virar silo

Cuidado.

Combater Diffusion of Responsibility não significa criar:

“Esse problema é seu, me deixa fora.”

Owner coordena.

Especialistas colaboram.

Responsabilidade clara + conhecimento distribuído.

Essa é a meta.


👨‍💻 Dica Bellacosa para o COBOL iniciante

Você encontra problema.

Manda no grupo:

“Pessoal, achei algo estranho.”

Não pare aí.

Se ninguém responder:

follow-up.

“Maria, você é owner dessa rotina? Posso abrir incidente e acompanhar?”

Ou assuma temporariamente:

“Vou iniciar análise e preciso de alguém de Db2.”

Não deixe descoberta importante evaporar em chat.


📢 Speak Up + Take Ownership

No Authority Gradient aprendemos a falar.

Agora precisamos aprender o próximo passo:

“Eu vi.”

não basta.

Talvez seja necessário:

“Eu assumo até transferir formalmente.”

Essa é uma poderosa mentalidade operacional.


🧠 Mas cuidado com heroísmo

Não queremos que uma pessoa assuma tudo.

Isso nos leva ao problema de heróis.

Owner não significa:

executar 27 tarefas.

Significa garantir que 27 tarefas possuam donos.

Essa diferença protege pessoas e sistemas.


🦸 Incident Commander não é Superman

Ele não resolve tudo.

Ele impede:

coisas esquecidas;

duplicação;

contradição;

responsabilidade órfã.

Orquestra.

Como JES para humanos.


😄 JES humano

Agora temos talvez um conceito digno do Bellacosa Mainframe:

Incident Commander é o JES da War Room.

Jobs chegam.

Prioridades.

Owners.

Estados.

Dependências.

O JES não executa o COBOL.

Coordena processamento.

Incident Commander também.

Há um Easter Egg mainframeiro que merecia existir.


🔄 Handoff de turno

Diffusion of Responsibility fica especialmente perigosa em mudança de turno.

Turno A:

turno B continuará.

Turno B:

achei que A tivesse encerrado.

Portanto handover precisa ser formal.


📋 Handover mínimo

INCIDENT:
INC-1234

CURRENT OWNER:
Ana

CURRENT STATE:
Queue stabilized, root cause open.

OPEN ACTIONS:
Carlos → consumer logs
Maria → reconciliation

NEXT DECISION:
10:30

RISKS:
Backlog remains.

Agora turno seguinte entra com contexto.


🕰️ Temporal Diffusion of Responsibility

Existe até uma versão temporal interessante:

“Amanhã resolvemos.”

Quem é amanhã?

Pessoas mudam.

Prioridades mudam.

Se tarefa futura não possui owner e deadline:

pode nunca existir.


🗃️ Backlog é cemitério de responsabilidades?

Pode ser.

Ações de post-mortem:

Improve monitoring.
Review process.
Update documentation.

Quem?

Quando?

Sem owner:

são desejos.

Não ações.


🔁 Melhoria contínua exige owner

Todo action item deveria ter:

ACTION
OWNER
DATE
SUCCESS CRITERIA
EVIDENCE

Caso contrário:

post-mortem produz PowerPoint.

Não melhoria.


🧠 Accountability sem blame

Precisamos distinguir.

Accountability:

responsabilidade clara pelo acompanhamento.

Blame:

busca simplista de culpado.

Você pode ter cultura blameless e ownership forte.

Aliás, deveria.

Blameless não significa:

ninguém é responsável.

Significa:

responsabilidade serve para coordenar e aprender, não para simplificar causas sistêmicas.


🧀 A fatia “ownership”

Vamos adicionar ao Swiss Cheese:

FATIA:
CLEAR OWNERSHIP

Buracos:

responsável desconhecido;

handoff incompleto;

alerta genérico;

on-call desatualizado;

equipe errada;

escalation inexistente.

Agora podemos fortalecer essa barreira.


🔍 Métricas interessantes

Meça:

alertas sem ACK;

tickets sem owner;

tempo até ownership;

handoffs falhos;

ações vencidas;

incidentes sem Incident Commander;

vulnerabilidades órfãs.

São indicadores organizacionais.


⏱️ Time to Ownership

Todo mundo mede:

MTTD — Mean Time to Detect.

MTTR — Mean Time to Restore.

Talvez devêssemos observar:

Time to Ownership

Quanto tempo entre:

problema detectado;

alguém claramente assumir?

Esse intervalo pode ser crítico.


📊 Exemplo

09:01 Alert
09:23 Owner assigned

22 minutos.

Talvez investigação técnica tenha durado apenas 10.

Então metade do incidente foi:

ninguém assumindo.

Descoberta valiosa.


🎯 Pergunta pós-incidente

Não pergunte apenas:

“Quando detectamos?”

Pergunte:

“Quando alguém assumiu responsabilidade explícita?”

Às vezes as respostas são muito diferentes.


🔬 RCA organizacional

Timeline:

09:01 alert generated
09:02 sent to distribution list
09:05 seen by operations
09:07 seen by application
09:12 second alert
09:19 user impact
09:22 someone asks who is checking
09:25 owner assigned

Root cause técnico:

consumer failed.

Contributing factor:

22 minutos sem owner.

Isso produz ação concreta:

melhorar roteamento e ownership.


🧠 Hindsight Bias retorna

Depois:

— Como ninguém fez nada?

Cuidado.

Talvez cada pessoa racionalmente acreditasse que outra era responsável.

Não basta dizer:

“Todos deveriam agir.”

Isso perpetua ambiguidade.

Melhor:

“Nosso design de ownership permitiu que todos acreditassem que outro agiria.”

Agora podemos corrigir.


🌀 Drift Into Failure retorna

Talvez antigamente houvesse um operador claramente responsável.

Depois reorganizações.

Outsourcing.

Novo fornecedor.

Cloud.

Novos times.

Responsabilidade ficou fragmentada.

Não houve decisão:

“Vamos perder ownership.”

A organização derivou.

Lembra?

Nossos monstros estão cada vez mais interligados.


🧬 Regeneração organizacional

Como regenerar após encontrar Diffusion of Responsibility?

Primeiro:

identifique serviços críticos.

Depois:

owner explícito.

On-call.

Escalation.

ACK.

Incident Commander.

Action board.

Handoffs formais.

Post-mortem actions com dono.

E principalmente:

ensine uma regra simples:

uma responsabilidade não foi transferida até que a próxima pessoa tenha aceitado.

Isso muda muita coisa.


📋 Checklist anti-Diffusion

Durante incidente:

[ ] Existe Incident Commander?

[ ] Existe owner técnico?

[ ] Cada ação possui uma pessoa?

[ ] Cada ação possui prazo?

[ ] Handoffs foram confirmados?

[ ] Alertas têm owner definido?

[ ] Existe escalation path?

[ ] FYI está separado de ACTION?

[ ] Alguém está registrando decisões?

[ ] Existe alguma tarefa que “todo mundo” deveria fazer?

[ ] Algum item está sem nome ao lado?

Se aparecer:

OWNER: ALL

talvez devêssemos conversar.


📓 Diário do Doctor

Se guardar apenas algumas ideias desta viagem, guarde estas:

Diffusion of Responsibility acontece quando várias pessoas presentes reduzem a sensação individual de responsabilidade para agir.

Informar não é atribuir responsabilidade.

Entregue não significa assumido.

Lido não significa tratado.

Todo incidente precisa de owner claro.

Toda ação precisa de pessoa e prazo.

Handoffs precisam de confirmação.

Broadcast amplo pode produzir espectadores.

Incident Commander reduz ambiguidade.

Responsabilidade clara é compatível com cultura blameless.

Silos tornam incidentes ponta a ponta especialmente vulneráveis.

E principalmente:

Se a resposta para “quem está cuidando?” é “alguém”, existe uma chance perigosamente grande de que a resposta real seja “ninguém”.


🕰️ De volta às 09:01

A TARDIS retorna.

VWORP.

O alerta acaba de chegar:

PAYMENT QUEUE DEPTH > THRESHOLD

Vinte e três pessoas recebem.

Nosso programador olha.

Desta vez não pensa:

“Alguém vai olhar.”

Escreve:

“Estou assumindo triagem inicial do alerta de PAYMENT QUEUE. Preciso de suporte MQ.”

Carlos responde:

“Assumo MQ.”

Maria:

“Fico com consumer.”

Incident Commander entra:

OWNER: JOÃO

MQ: CARLOS

CONSUMER: MARIA

NEXT UPDATE: 09:10

09:05.

Consumer parado.

09:07.

Causa identificada.

09:09.

Serviço restaurado.

Fila começa a cair.

Nenhum cliente percebe.

O gerente pergunta:

— Foi grave?

Nosso programador responde:

— Poderia ter sido.

— O que mudou?

Ele olha para o quadro.

Cada atividade possui um nome.

— Dessa vez ninguém ficou esperando “alguém”.

O Doctor sorri.

— Excelente.

— Isso foi tudo?

— Quase.

— O que falta?

O Doctor aponta para o post-mortem.

— Descobrir por que vocês precisaram de sorte nas vezes anteriores.

Naturalmente.


🥚 Easter Egg final

Horas depois aparece um dataset:

BELLACOSA.INCIDENTS(WHO)

Dentro:

       IF OWNER = SPACES
           MOVE 'DANGER' TO SYSTEM-STATUS
       END-IF.

       IF OWNER = 'EVERYONE'
           MOVE 'NO-ONE' TO EFFECTIVE-OWNER
       END-IF.

       IF RESPONSIBILITY-TRANSFERRED
           PERFORM WAIT-FOR-ACK
       END-IF.

Comentário:

* SOMEBODY IS NOT A VALID USERID.

Nosso programador ri.

Outra linha:

* ASSIGN THE COMPANION.

Depois:

* BAD WOLF ACKNOWLEDGED.

E finalmente:

* DON'T ASK WHO COULD DO IT.
* ASK WHO WILL.

Ele fecha o membro.

Pouco depois chega um email:

“Pessoal, precisamos atualizar a documentação até sexta. Alguém consegue cuidar?”

Nosso programador olha.

Quarenta destinatários.

Sorri.

Responde:

“Posso assumir. Entrego uma primeira versão quinta às 15h. Carlos, consegue revisar depois?”

Carlos:

“Confirmado.”

Nada explodiu.

Nenhuma fila cresceu.

Nenhum pagamento falhou.

Mas alguma coisa mudou.

A responsabilidade deixou de ser uma nuvem.

Virou nome.

Prazo.

Confirmação.

Em algum lugar do espaço-tempo:

VWORP.

VWORP.

VWORP.

Porque o Doctor talvez tenha finalmente descoberto o maior inimigo de “alguém”:

uma pessoa claramente responsável.

☕🌀

Next stop: Normalcy Bias — quando o desastre já começou, os sinais estão diante de nós, mas nosso cérebro continua insistindo que provavelmente tudo voltará ao normal sozinho.

 

sexta-feira, 10 de dezembro de 2010

O Mapa Virou Itália, os Italianos Ainda Não — o MERGE de 1861 e o século necessário para convencer napolitanos, sicilianos, venezianos e lombardos de que pertenciam ao mesmo sistema

 

Bellacosa Mainframe e o mapa virou italia e os italianos ainda nao

☕ Um Café no Bellacosa Mainframe

O Mapa Virou Itália, os Italianos Ainda Não — o MERGE de 1861 e o século necessário para convencer napolitanos, sicilianos, venezianos e lombardos de que pertenciam ao mesmo sistema

🇮🇹 Garibaldi conquistou reinos, Cavour negociou territórios e Vittorio Emanuele II ganhou uma coroa. A parte fácil estava terminada: desenhar a Itália no mapa. Agora começava o problema realmente complicado — instalar a Itália dentro dos italianos.

Em algum momento de 1861, alguém poderia abrir um mapa político da Europa, apontar para aquela velha bota no Mediterrâneo e anunciar:

“Pronto. Itália.”

Finalmente.

Depois de romanos, ostrogodos, bizantinos, lombardos, francos, normandos, alemães, espanhóis, franceses, austríacos, papas, duques, príncipes, reis, repúblicas, cidades-Estado e uma quantidade obscena de guerras, casamentos dinásticos e tratados...

MERGE INTO EUROPA AS E
USING RISORGIMENTO AS R
ON E.PENINSULA = R.ITALIA
WHEN MATCHED THEN
    UPDATE SET COUNTRY = 'ITALIA';

1 ROW AFFECTED.

Fantástico.

Só havia um pequeno problema.

Aquela ROW continha milhões de pessoas.

E elas não necessariamente haviam recebido o memorando.

Porque é relativamente simples mudar a cor de um território num mapa.

Muito mais complicado é convencer alguém nascido napolitano de que agora é italiano.

Convencer um veneziano.

Um siciliano.

Um piemontês.

Um lombardo.

Um toscano.

Um romano.

E, pior:

convencê-los de que todos pertencem à mesma coisa.

Pegue o café.

O MERGE terminou.

Agora começa a migração de dados.


🇮🇹 “Fizemos a Itália. Agora precisamos fazer os italianos.”

Existe uma frase famosíssima associada ao político e escritor Massimo d'Azeglio, geralmente condensada como:

“Fatta l'Italia, bisogna fare gli italiani.”

“Feita a Itália, é preciso fazer os italianos.”

A formulação exata e sua transmissão histórica merecem cuidado, mas a ideia captura magnificamente o problema.

Em 17 de março de 1861, foi proclamado o Reino da Itália.

Vittorio Emanuele II tornou-se rei.

Excelente.

Mas aquilo não significava que, na manhã de 18 de março, milhões de habitantes acordaram, abriram as janelas e gritaram:

BUONGIORNO! FINALMENTE SOU ITALIANO!

🤣

Identidade não funciona como atualização automática do Windows.

ITALY UPDATE AVAILABLE

[ INSTALL NOW ]

Estimated installation time:
100 years

🗺️ Primeiro erro: imaginar que não existia Itália antes de 1861

Precisamos evitar uma simplificação.

Itália como conceito não nasceu em 1861.

A palavra e a ideia geográfica possuem raízes antiquíssimas.

Durante séculos houve intelectuais pensando a península como alguma forma de unidade cultural ou geográfica.

Dante podia falar da Itália.

Petrarca podia falar da Itália.

Maquiavel podia imaginar problemas políticos italianos.

Muito antes de existir um Estado italiano moderno.

Portanto:

ITALIA_GEOGRAFICA       = OLD
ITALIA_CULTURAL         = OLD
ITALIA_POLITICAL_STATE  = 1861

É justamente essa diferença que torna tudo interessante.

Você podia perfeitamente compreender que vivia na Itália e simultaneamente possuir lealdade política a Veneza, Toscana, Nápoles ou ao papa.

Mais ou menos como alguém pode dizer hoje:

“Sou europeu.”

sem deixar de ser português, espanhol ou italiano.


🧩 A península era um mosaico, não um vazio esperando unificação

Nossa cabeça moderna comete outra pequena fraude.

Pegamos o mapa atual:

🇮🇹

voltamos para 1750 e pensamos:

“Olha a Itália dividida.”

Mas um napolitano de 1750 talvez não pensasse:

“Que pena que meu pedaço da Itália ainda não foi reunificado.”

Ele vivia dentro de uma realidade política própria.

Havia governos.

Leis.

Tribunais.

Exércitos.

Moedas.

Alfândegas.

Elites.

Instituições religiosas.

Identidades locais.

Tradições.

Dialetos e línguas.

Relações econômicas.

Memórias coletivas.

Você não estava olhando para um quebra-cabeça desmontado que obviamente desejava tornar-se Itália.

Estava olhando para sistemas políticos reais.


👑 E um deles era enorme: o Reino das Duas Sicílias

Aqui nosso café começa a ficar particularmente interessante.

Porque quando olhamos o sul antes da unificação, encontramos o Reino das Duas Sicílias.

Nápoles.

Sicília.

Grande parte do Mezzogiorno.

Milhões de habitantes.

Uma corte.

Administração.

Exército.

Marinha.

Burocracia.

Igreja profundamente inserida na sociedade.

Elites locais.

Funcionários públicos.

Proprietários.

Comerciantes.

Camponeses.

Era governado pela dinastia Bourbon.

Hoje sabemos o final.

Garibaldi chega.

O reino cai.

O território entra no processo de unificação.

Mas retire essa informação.

Imagine-se vivendo em 1855.

Você não sabe que faltam poucos anos para tudo aquilo desaparecer.

Seu mundo não possui uma pequena legenda:

WARNING:
THIS KINGDOM WILL BE DEPRECATED IN 1861.

Para você aquilo é simplesmente...

o país.


🧠 E aqui entra a diferença entre história vista de cima e história vista de baixo

A história vista de cima diz:

“Em 1860 Garibaldi realizou a Expedição dos Mil, conquistou a Sicília, avançou pelo sul e entregou seus territórios a Vittorio Emanuele II.”

Correto.

Agora desça para a rua.

Um funcionário da administração Bourbon acorda.

Seu governo desapareceu.

Um militar precisa decidir a quem deve lealdade.

Um padre observa a relação entre o novo Estado e a Igreja.

Um proprietário tenta entender o que acontecerá com seus interesses.

Um camponês pergunta se alguma coisa realmente melhorará.

Uma família ligada ao antigo regime começa a avaliar sua posição.

Um comerciante tenta descobrir quais impostos, moedas, tarifas e regras valerão amanhã.

Esse é o Risorgimento visto do chão.

E provavelmente é muito mais confuso que a pintura heroica.


🔴 Entra Garibaldi — o deploy mais improvável do século XIX

Giuseppe Garibaldi parece personagem criado por alguém que achou a história italiana pouco movimentada.

Marinheiro.

Revolucionário.

Exilado.

Combatente na América do Sul.

Republicano.

Nacionalista.

General.

Camisa vermelha.

Barba cinematográfica.

E em 1860 parte com aproximadamente mil voluntários para atacar um reino com milhões de habitantes.

Qualquer gerente de projetos teria recusado.

PROJECT:
CONQUER SOUTHERN ITALY

RESOURCES:
~1000 GUYS

RISK:
YES

DEADLINE:
ASAP

PROJECT MANAGER:
GARIBALDI

PMO:
WHAT THE HELL?

🤣

E funciona.

Não porque mil homens magicamente derrotaram sozinhos toda a estrutura Bourbon, evidentemente.

Havia revoltas, apoios locais, fragilidades políticas e militares, deserções, interesses internacionais e uma conjuntura extraordinariamente favorável.

Mas a velocidade dos acontecimentos foi impressionante.

Sicília.

Continente.

Nápoles.

Garibaldi avança.


👑 E então o revolucionário encontra o rei

Aqui aparece uma das cenas mais deliciosamente contraditórias do Risorgimento.

Garibaldi possuía fortes convicções republicanas.

Mas compreendeu que a unificação naquele momento passaria pela monarquia piemontesa.

Então o revolucionário entrega politicamente suas conquistas a Vittorio Emanuele II.

É como desenvolver durante anos um projeto open source revolucionário e finalmente executar:

git merge garibaldi/revolution
        into savoy/monarchy

🤣

Conflitos?

Muitos.

Mas o MERGE acontece.


🇮🇹 1861: Itália 1.0

O Reino da Itália nasce.

Só que nem o mapa estava realmente terminado.

Veneza ainda não fazia parte do reino.

Roma ainda estava sob o poder temporal do papa e proteção francesa.

Portanto até:

ITALY = COMPLETE

precisava de um asterisco.

Veneza seria incorporada em 1866.

Roma em 1870.

E ainda permaneceriam disputas territoriais posteriores.

A Itália 1.0 nasceu com patches pendentes.


⛪ E existe um gigantesco problema chamado Papa

Imagine tentar construir uma identidade nacional italiana enquanto no centro geográfico e simbólico da península existe uma instituição dizendo:

“Calma lá.”

Os Estados Pontifícios haviam ocupado território durante séculos.

O papa não era apenas líder espiritual.

Era soberano temporal.

A unificação italiana progressivamente destruiu esse poder territorial.

Quando tropas italianas entraram em Roma em 1870, o problema não desapareceu.

Começou a chamada Questão Romana.

De um lado:

KINGDOM OF ITALY

Do outro:

PAPACY

E entre ambos milhões de pessoas que podiam simultaneamente sentir lealdade à nova nação e profunda fidelidade religiosa ao papa.

Para famílias fortemente ligadas à Igreja, isso não era discussão acadêmica.

Era uma mudança estrutural no mundo.


🏠 E aqui a história da família pode entrar — com etiquetas

É justamente aqui que uma memória familiar como a dos Bellacosa se torna fascinante.

Não como “prova” de uma tese nacional.

Mas como micro-história.

Na tradição familiar, os antepassados não se definiam simplesmente como italianos.

Eram lembrados como:

napolitanos.

Isso é perfeitamente coerente com a importância das identidades regionais no sul — mas a memória familiar, sozinha, não prova exatamente como cada ancestral se identificava politicamente em cada década.

Então colocamos etiquetas:

[D] DOCUMENTO
[T] TRADIÇÃO FAMILIAR
[H] HIPÓTESE
[C] CONTEXTO HISTÓRICO

E seguimos.


📜 [D] O documento

A pesquisa genealógica coloca Bellacosa na Campânia e permite reconstruir pessoas, lugares e relações familiares concretas.

Isso é documento.

Nomes.

Datas.

Casamentos.

Batismos.

Óbitos.

Localidades.

Esses são nossos registros de produção.

Eles dizem:

esta pessoa existiu aqui.

Mas não necessariamente dizem:

esta pessoa pensava isso.

Essa diferença é fundamental.


👪 [T] A tradição familiar

Depois existe aquilo que atravessa gerações oralmente.

“Nós éramos napolitanos.”

Essa frase é historicamente preciosa mesmo quando não conseguimos atribuí-la a um ancestral específico.

Porque famílias transmitem identidade de maneira diferente da burocracia.

O Estado pode registrar:

NATIONALITY = ITALIAN

A mesa de jantar continua dizendo:

WE = NAPOLITAN

Essas duas informações podem coexistir perfeitamente.


⛪ [D + T] A ligação com Igreja e administração

Na investigação familiar também aparecem elementos que sugerem relações dos Bellacosa com ambientes eclesiásticos e administrativos do antigo Reino de Nápoles/Duas Sicílias, embora cada vínculo precise ser demonstrado individualmente antes de construirmos uma narrativa causal ampla.

E aqui temos um exemplo particularmente interessante: Tommaso Bellacosa, que aparece nas fontes eclesiásticas como bispo de Cava e Sarno no século XIX.

Isso não demonstra automaticamente parentesco direto com um ramo brasileiro.

Sobrenome igual não é DNA.

Mas demonstra algo importante:

o nome Bellacosa estava presente em posições eclesiásticas relevantes naquele universo histórico.

É uma peça do cenário.

Não a solução do quebra-cabeça.


🏰 [H] E então surge a hipótese da ruptura

Aqui podemos formular cuidadosamente uma hipótese familiar:

se determinado ramo Bellacosa possuía ligações com instituições, propriedades, Igreja ou administração associadas à ordem anterior, a unificação poderia ter alterado seu ambiente social e político de maneira significativa.

Poderia.

Não:

“Garibaldi expulsou os Bellacosa.”

Isso seria afirmar muito mais do que os documentos permitem.

Mas:

“A transformação institucional do sul italiano fornece um contexto plausível para investigar por que determinados membros da família migraram posteriormente.”

Agora estamos fazendo história corretamente.


🚢 Porque emigrar também precisa de causa

Existe outra tentação genealógica:

ITALY
  ↓
POVERTY
  ↓
SHIP
  ↓
BRAZIL

Essa narrativa explica milhões de casos.

Mas não necessariamente todos.

A grande imigração italiana para o Brasil envolveu pobreza, crise agrária, crescimento demográfico, oportunidades econômicas, redes familiares e políticas de atração de trabalhadores.

Só que famílias emigravam por razões diferentes.

Algumas não eram miseráveis.

Algumas possuíam recursos.

Algumas viajavam por redes próprias.

Algumas tinham parentes esperando.

Algumas mudavam de continente porque possuíam capital suficiente para fazê-lo.


🔎 E às vezes o documento que não existe também fala

Sua pesquisa no Museu da Imigração produziu um daqueles momentos deliciosos da investigação histórica.

Você procurou os Bellacosa nos registros disponíveis de pessoas que passaram pelos mecanismos de acolhimento da imigração paulista.

Nada.

E recebeu de um técnico uma observação importante: famílias com recursos podiam realizar sua migração por outros circuitos e não necessariamente aparecer na documentação assistencial que você estava consultando.

Isso não prova qual rota Antonio Bellacosa utilizou.

Mas muda a pergunta.

Em vez de:

“Por que ele não está no livro?”

passamos para:

“Que outro circuito de entrada ele poderia ter utilizado?”

Rio de Janeiro?

Santos sem passagem pela hospedaria?

Rede familiar?

Hospedagem privada?

Outro porto?

Depois ferrovia?

Agora temos hipóteses testáveis.


🚂 E então aparece São Paulo

Aqui a história deixa de ser apenas italiana.

Antonio Bellacosa aparece no Brasil.

Casamento em 1896.

E há um detalhe que chama atenção:

o casamento na Sé de São Paulo.

Para um imigrante associado ao Brás, escolher uma igreja central e simbolicamente importante pode ser interessante.

Mas novamente:

FACT:
casamento ocorreu ali

HYPOTHESIS:
a escolha refletia status,
religiosidade ou intenção simbólica

Precisamos encontrar documentos complementares antes de executar:

HYPOTHESIS -> FACT

É exatamente aí que genealogia deixa de ser coleção de nomes e vira investigação histórica.


🏘️ Depois aparece propriedade

E a história fica ainda mais interessante quando entra uma notícia antiga que você encontrou mencionando Antonio Bellacosa comprando uma área próxima aos trilhos da Mooca, loteando-a, construindo casas e comercializando os imóveis.

Se o documento for recuperado e contextualizado, temos uma pista extraordinária.

Porque aquele imigrante deixa de ser apenas:

ANTONIO BELLACOSA
BORN: ITALY
MARRIED: BRAZIL

Ele passa a aparecer como agente econômico da expansão urbana paulistana.

A ferrovia.

Mooca.

Imigração.

Urbanização.

Loteamento.

Construção.

Capital.

Agora o homem começa a sair do formulário.


🤯 E veja o que aconteceu em apenas algumas gerações

É aqui que micro-história fica deliciosa.

Imagine uma linha hipotética que precisa ser preenchida documentalmente:

REINO DE NÁPOLES / DUAS SICÍLIAS
        ↓
UNIFICAÇÃO ITALIANA
        ↓
CAMPÂNIA
        ↓
MIGRAÇÃO
        ↓
SÃO PAULO
        ↓
BRÁS / MOOCA
        ↓
PROPRIEDADE
        ↓
IGREJA
        ↓
VIDA PÚBLICA

A família muda de Estado.

Depois de continente.

Depois participa da construção de outra sociedade.

E as identidades não são apagadas.

Elas acumulam camadas.


🧬 Identidade não é UPDATE. É APPEND.

Talvez esse seja o erro fundamental da nossa maneira escolar de contar nacionalidades.

Imaginamos:

UPDATE PERSON
SET identity='ITALIAN'
WHERE year >= 1861;

Na realidade provavelmente ocorre:

NAPOLITANO
   +
ITALIANO
   +
IMIGRANTE
   +
PAULISTANO
   +
BRASILEIRO

Uma camada não necessariamente apaga a anterior.

E isso ajuda a explicar por que identidades regionais italianas permaneceram tão fortes.


🗣️ Nem sequer falávamos todos “italiano”

Outro problema gigantesco do novo Estado era linguístico.

A península possuía enorme diversidade de línguas e variedades regionais.

Aquilo que se tornaria o italiano padrão tinha forte base toscana e extraordinário prestígio literário.

Mas a população cotidiana frequentemente utilizava variedades locais.

Imagine construir um Estado nacional em que cidadãos de regiões diferentes podiam ter dificuldades reais de comunicação entre si.

O governo precisava criar:

escola.

administração.

Exército.

imprensa.

infraestrutura.

símbolos nacionais.

E, progressivamente:

uma língua nacional compartilhada.


🎒 A escola virou instalador da Itália

É aqui que a educação pública ganha papel gigantesco.

A criança entra:

LOCAL IDENTITY
LOCAL SPEECH
LOCAL HISTORY

E encontra:

ITALIAN LANGUAGE
ITALIAN HISTORY
ITALIAN FLAG
ITALIAN KING
ITALIAN GEOGRAPHY

A escola não apenas ensinava matemática.

Ela ajudava a produzir cidadãos do novo Estado.

Era quase:

INSTALL ITALY.EXE

[████████░░░░░░░░░░] 42%

🪖 E o Exército fazia outra parte

O serviço militar possui uma característica extraordinária para Estados nacionais.

Ele pega jovens de lugares diferentes e mistura todos.

O rapaz que nunca saiu da Sicília encontra um piemontês.

O napolitano encontra um lombardo.

O veneziano encontra um calabrês.

Todos vestem o mesmo uniforme.

Recebem ordens do mesmo Estado.

Carregam a mesma bandeira.

Isso também fabrica identidade.

De maneira muito menos delicada que a escola.


🚂 E então entra a ferrovia

Talvez nenhuma tecnologia represente melhor a unificação material da Itália.

Antes:

NAPLES
FLORENCE
MILAN
TURIN
VENICE
ROME

eram centros de mundos políticos diferentes.

Agora trilhos começam a costurar o território.

Mercadorias circulam.

Pessoas circulam.

Jornais circulam.

Soldados circulam.

Funcionários circulam.

Ideias circulam.

A Itália deixa lentamente de existir apenas no mapa e começa a existir na experiência cotidiana.


💰 Mas o MERGE produziu conflitos

Unificação não significou prosperidade instantânea.

Especialmente no sul, o novo Estado enfrentou enormes tensões.

Tributação.

Conscrição.

Mudanças administrativas.

Conflitos sobre propriedade.

Desigualdades.

Resistência armada.

O fenômeno conhecido como brigantaggio no Mezzogiorno assumiu dimensões enormes após a unificação.

E aqui as interpretações históricas divergem profundamente.

Banditismo?

Revolta social?

Resistência política Bourbon?

Conflito camponês?

Mistura de tudo isso?

Provavelmente precisamos abandonar respostas simples.

Mas uma coisa fica clara:

nem todo mundo recebeu a unificação com bandeirinhas tricolores.


🇮🇹 O Risorgimento possui vencedores — e possui derrotados

Toda narrativa nacional gosta de contar seu nascimento como inevitável.

Os heróis estavam certos.

Os adversários estavam errados.

O futuro venceu o passado.

Fim.

Só que alguém sempre perde quando um Estado desaparece.

Funcionários perdem cargos.

Militares perdem exércitos.

Dinastias perdem tronos.

Instituições perdem influência.

Elites perdem privilégios.

Outras elites ganham.

Alguns pobres melhoram.

Outros pioram.

Alguns acreditam no novo país.

Outros querem o antigo de volta.

Outros simplesmente querem plantar, comer e sobreviver.

A Itália nasceu dessa bagunça.

Como quase todos os países.


🌎 E então milhões foram embora

Nas décadas seguintes, a Itália produziria uma das maiores diásporas da história moderna.

Estados Unidos.

Argentina.

Brasil.

Uruguai.

Outros destinos europeus.

Milhões de italianos atravessaram fronteiras e oceanos.

E acontece uma ironia histórica maravilhosa:

algumas pessoas talvez tenham aprendido a ser “italianas” justamente depois de deixar a Itália.

Na aldeia eram:

napolitanos.

calabreses.

vênetos.

sicilianos.

No Brasil, o vizinho dizia:

“italiano.”

E pronto.

🤣

O país de destino ajudava a produzir uma identidade coletiva que dentro da própria península ainda estava sendo consolidada.


🇧🇷 O Brasil executa GROUP BY nationality

Imagine São Paulo recebendo:

SELECT origin
FROM immigrants;

Napoli
Salerno
Calabria
Veneto
Sicilia
Lombardia
Piemonte
...

A sociedade brasileira responde:

SELECT nationality, COUNT(*)
FROM immigrants
GROUP BY nationality;

Resultado:

ITALIANOS: MUITOS

🤣

O napolitano descobre que é italiano porque o brasileiro o chama de italiano.

A identidade externa começa a reforçar a interna.


🍝 E dentro de casa o banco antigo continua funcionando

Só que a cozinha preserva região.

A fala preserva região.

A devoção preserva região.

Os santos preservam região.

Os sobrenomes preservam região.

As receitas preservam região.

Os casamentos preservam redes regionais.

A memória preserva região.

Então aparece aquele fenômeno maravilhoso:

PUBLIC:
ITALIAN

HOME:
NAPOLITAN

DOCUMENT:
BRAZILIAN

MEMORY:
ALL OF THE ABOVE

Isso é identidade humana.

Muito mais interessante que uma coluna VARCHAR(20).


🏠 E então chegamos novamente aos Bellacosa

Talvez seja por isso que aquela pequena frase familiar tenha tanto valor:

“Nós éramos napolitanos.”

Não precisamos transformá-la numa declaração separatista do século XIX.

Não precisamos imaginar antepassados amaldiçoando Garibaldi diante de cada prato de macarrão.

🤣

Basta perceber o que ela preservou:

uma geografia mental anterior à homogeneização completa da identidade italiana.

O Estado dizia Itália.

A memória dizia Nápoles.

E depois o Brasil adicionou:

Bellacosa brasileiro.


🕰️ Mais de um século depois, um descendente volta

E aqui a história ganha aquela simetria que nenhuma genealogia consegue planejar.

Gerações depois, um descendente brasileiro volta à região.

Caminha.

Procura propriedades.

Visita lugares associados ao sobrenome.

Encontra registros.

Procura igrejas.

Investiga arquivos.

Tenta separar aquilo que a família dizia daquilo que os documentos conseguem provar.

A migração fez:

ITALY -> BRAZIL

A genealogia executa:

BRAZIL -> ITALY

Mas a segunda viagem transporta algo diferente.

Perguntas.


🧠 E talvez seja isso que nacionalidade realmente seja

Não um campo fixo.

Mas uma pilha de versões.

IDENTITY STACK

2026  Bellacosa
      brasileiro
      paulista

1896  imigrante
      italiano
      campano

1873  nascido na Itália recém-unificada

1861  novo Estado italiano

1850  Reino das Duas Sicílias

1800  napolitano

...

Quanto mais descemos, mais estranho fica perguntar:

“Mas qual era a nacionalidade verdadeira?”

A resposta é:

em qual momento?


☕ O Café Bellacosa

Talvez essa seja a continuação necessária do nosso artigo anterior.

Primeiro perguntamos:

Como um território tão pequeno conseguiu pertencer a tanta gente?

Agora fazemos outra pergunta:

Depois que finalmente juntaram tudo, como convenceram seus habitantes de que aquilo era um país?

Garibaldi podia conquistar Palermo.

Cavour podia negociar com Napoleão III.

Vittorio Emanuele podia receber uma coroa.

Soldados podiam entrar em Roma.

Diplomatas podiam assinar tratados.

Cartógrafos podiam imprimir mapas.

Mas nenhum deles possuía:

UPDATE HUMAN_MEMORY
SET identity='ITALIAN';

Isso precisou de gerações.

Escola.

Exército.

Ferrovias.

Imprensa.

Burocracia.

Migração.

Guerras.

Casamentos.

Música.

Literatura.

Rádio.

Televisão.

Futebol.

E tempo.

Muito tempo.


🖥️ $HASP395 ITALIA MERGE ENDED

//ITALIA   JOB 'NATION BUILDING'

//GARIBALD EXEC PGM=CONQUER
//CAVOUR   EXEC PGM=DIPLOMACY
//SAVOY    EXEC PGM=MONARCHY
//VENICE   EXEC PGM=MERGE
//ROME     EXEC PGM=FINALIZE

MAP STATUS:
ITALY = TRUE

//IDENTITY EXEC PGM=INTEGRATE

INPUT:
PIEMONTESE
LOMBARDO
VENEZIANO
TOSCANO
ROMANO
NAPOLITANO
SICILIANO
CALABRESE
...

SYSTEM MESSAGE:

WARNING:
MERGE OF TERRITORIES COMPLETED.
MERGE OF PEOPLE STILL RUNNING.

ESTIMATED COMPLETION:
UNKNOWN.

E talvez o maior paradoxo do Risorgimento seja exatamente esse.

A Itália foi criada antes dos italianos.

Não literalmente — uma consciência italiana já existia muito antes de 1861 — mas o Estado nacional precisava transformar uma identidade compartilhada por parcelas da população e por elites culturais em experiência cotidiana de milhões de pessoas profundamente ligadas às suas regiões.

E muitas dessas pessoas fizeram algo extraordinário antes que o processo terminasse:

foram embora.

Atravessaram o Atlântico.

Chegaram a Buenos Aires, Nova York, Santos, Rio de Janeiro e São Paulo.

Algumas desembarcaram como napolitanos, sicilianos, calabreses ou vênetos.

E encontraram sociedades que imediatamente disseram:

“Italianos.”

Talvez o MERGE tenha terminado parcialmente no exterior.

E talvez, mais de um século depois, quando um descendente encontra um registro antigo, visita uma pequena propriedade, entra numa igreja ou escuta uma frase transmitida pela família — “nós éramos napolitanos” — ele esteja vendo um fragmento daquele banco de dados anterior à migração.

Não é necessário transformar tradição em documento.

Nem hipótese em certeza.

Muito pelo contrário.

Colocamos cada coisa em sua tabela:

DOCUMENTO       → aquilo que podemos demonstrar
MEMÓRIA         → aquilo que a família preservou
HIPÓTESE        → aquilo que estamos investigando
HISTÓRIA        → o contexto que conecta tudo

E deixamos algumas colunas como NULL.

Porque depois de dois mil anos fazendo UPDATE no mesmo mapa, talvez a lição italiana seja justamente aquela que aprendemos olhando os velhos mapas cheios de monstros:

não precisamos inventar alguma coisa apenas porque ainda existe um espaço vazio.

Podemos continuar procurando.

Até que algum Bellacosa abra uma gaveta, encontre um documento esquecido e execute:

UPDATE FAMILY_HISTORY
SET mystery = 'SOLVED'
WHERE ancestor = 'UNKNOWN';

E alguém diante de uma máquina de café diga:

“Caramba... então era isso.”

☕🇮🇹

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