☕ 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

sábado, 29 de dezembro de 2012

Itália 2012: quando o sistema entrou em degraded mode

 

Bellacosa Mainframe e uma visao do ano 2012 a vida na Italia

Itália 2012: quando o sistema entrou em degraded mode

2012 foi o ano em que a Itália começou a piscar no painel. Nada explodiu de vez, mas o operador atento sabia: o sistema estava em degraded mode. A crise de 2008, que parecia um incident distante no início, seguia rodando como job fantasma, consumindo recursos, corroendo margens, destruindo planos silenciosamente.

Para quem vivia ali, não era estatística. Era cotidiano.

A Itália pós-crise: beleza com rachaduras

A Itália de 2012 continuava linda. A arquitetura intacta, o café impecável, o pôr do sol cinematográfico. Mas por trás da estética, a máquina rangia. O custo de vida subia como process runaway, enquanto os salários encolhiam sem aviso prévio. Contratos mais frágeis, menos estabilidade, mais improviso.

O país parecia viver de herança cultural enquanto vendia o futuro a prazo.

Para um imigrante, isso pesa dobrado. Sem rede de proteção real, qualquer oscilação vira ameaça existencial.

O grande giro que virou plano de contingência

Havia um plano. Sempre há. Um grande giro pelo sul da Itália — Napoles e Puglia — seguido de uma travessia simbólica para a Grécia indo até Atenas. Um fechamento de ciclo, quase ritualístico. Um graceful shutdown antes da próxima fase da vida.

Mas planos, como sistemas, dependem de orçamento, previsibilidade e energia emocional. E em 2012, tudo isso começou a faltar.

O giro virou planilha. A viagem virou simulação. O sonho entrou em standby.

A tristeza técnica de ver um projeto ruir

Não foi uma tristeza dramática. Foi pior: uma tristeza técnica. Aquela sensação de ver um projeto bem desenhado ser desmontado não por erro conceitual, mas por falta de recursos. Não falhou porque era ruim. Falhou porque o ambiente mudou.

Quem trabalha com sistemas entende: há falhas que não se corrigem com talento.

A Itália de 2012 ensinou isso com elegância cruel.

Inglaterra como next possible node

Foi nesse contexto que a Inglaterra entrou no radar. Não como paixão, mas como viabilidade. Mercado maior, idioma global, promessa de salários menos comprimidos. Londres aparecia como um novo nó possível no cluster europeu.

Vieram os estudos: custo de vida, aluguel, transporte, impostos, visto, empregabilidade. Tudo frio, calculado, quase clínico. Quando o sonho quebra, a sobrevivência assume o comando.

Mas até ali já se percebia: a Europa inteira estava mais cara e menos generosa.

Salários caindo, vida encarecendo

Em 2012, ficou claro que algo estrutural havia mudado. A equação clássica europeia — custo alto compensado por estabilidade e salário — começou a falhar. Os salários estagnaram ou caíram. O custo de vida seguiu subindo. A promessa implícita do projeto europeu começou a se desgastar.

A crise de 2008 não era mais evento. Era estado permanente.

E estados permanentes redefinem destinos.

O retorno ao Brasil entra no roadmap

Foi assim que o Brasil voltou ao roadmap. Não como derrota, mas como alternativa lógica. Um sistema conhecido, com falhas crônicas, mas onde ainda havia espaço para reconfiguração. Onde o custo de vida, apesar de tudo, parecia mais proporcional às possibilidades reais.

Retornar deixou de ser tabu. Virou cenário plausível.

O operador começa a aceitar que talvez seja hora de encerrar a sessão.

Epílogo: quando sonhos viram logs

2012 não foi o fim imediato. Foi o ano da aceitação. O ano em que se entende que a crise de 2008 não destruiu apenas bancos — destruiu trajetórias pessoais. Lentamente, educadamente, sem pedir desculpas.

A Itália continuava linda.
A Grécia ainda chamava no horizonte.
A Inglaterra piscava como opção racional.
O Brasil reaparecia como retorno possível.

Mas algo essencial havia mudado:
o sonho europeu deixara de ser infinito.

E todo operador veterano sabe:
quando um sistema começa a consumir mais do que entrega,
não é questão de paixão —
é questão de viabilidade.

2012 foi o ano em que o projeto começou a ruir.
Não com estrondo.
Mas com silêncio, planilhas e decisões adiadas.

E às vezes,
é assim que os grandes ciclos terminam.

domingo, 23 de dezembro de 2012

🖥️🍜 O personagem glutão no anime: o processo que consome tudo e nunca dá overflow

 

Bellacosa Mainframe e os personagens glutoes dos anime

🖥️🍜 O personagem glutão no anime: o processo que consome tudo e nunca dá overflow


Bellacosa Mainframe Mode — antropologia otaku em batch

Se você assiste anime e nunca viu um personagem que come mais que o resto do elenco somado, algo está errado no sistema. O glutão não é acidente narrativo — ele é arquitetura cultural.

🧠 A razão estrutural (não é só comédia)

No Japão, comer muito e com prazer está ligado a vitalidade, energia vital (ki) e pureza de espírito. O personagem glutão geralmente:

  • é honesto

  • é direto

  • não esconde intenções

  • vive no presente

Ou seja: não tem processos ocultos rodando em background.

Para o Bellacosa mainframe, ele é o job que consome CPU demais, mas mantém o sistema vivo.

🍚 Função narrativa (o porquê de sempre existir)

  1. Alívio cômico — quebra tensão

  2. Indicador de poder — quem come muito, aguenta muito

  3. Contraponto moral — simples num mundo complexo

  4. Símbolo de humanidade — comer é o gesto mais básico

📌 Insight: personagens frios, calculistas e vilões quase nunca comem em cena. Comer é vulnerabilidade.

🥚 Easter eggs culturais

  • Em mangás antigos, o glutão era inspirado em monges errantes

  • Em shōnen, comer = recarregar barra de energia

  • Muitos autores usam o glutão como avatar do leitor

🤫 Fofoquice: vários mangakás admitem que criaram esses personagens porque esqueciam de comer enquanto desenhavam.

🎌 Exemplos clássicos (dump de memória)

  • Goku (Dragon Ball) — come como quem faz overclock no corpo

  • Luffy (One Piece) — carne = combustível ideológico

  • Naruto (Naruto) — ramen como trauma e conforto

  • Inosuke (Demon Slayer) — selvagem, instintivo

  • Charmy (Black Clover) — comida como magia

  • Akira Mado (Tokyo Ghoul) — inversão trágica do ato de comer

  • Gluttony (Fullmetal Alchemist) — versão corrompida do arquétipo

🧩 Filosofia oculta

O glutão representa um mundo onde tudo é escasso, controlado e burocrático. Ele diz, sem discurso:

“Enquanto eu puder comer, ainda estou vivo.”

🖥️ Comentário final Bellacosa
Em anime, o personagem guloso é o heartbeat do sistema. Ele parece desperdício, mas sem ele o mundo ficaria frio, calculista e vazio. Todo universo precisa de alguém que lembre o básico:
viver também é consumir, sentir e compartilhar.

MAINFRAME ESTÁVEL. TIGELA VAZIA. PRÓXIMA PORÇÃO EM LOAD. 🍜

terça-feira, 18 de dezembro de 2012

🔥 Como Criar uma Tela CICS BMS – Guia Definitivo Passo a Passo

 


🔥 Como Criar uma Tela CICS BMS – Guia Definitivo Passo a Passo



☕ Introdução — Antes do HTML, existia o BMS

Antes de React, Angular e CSS, o mainframe já fazia interface rica — só que com disciplina, regra e respeito ao terminal.

No mundo CICS, tela não é arte.
Tela é contrato, estado, performance e sobrevivência em produção.

Vamos do zero absoluto até a tela rodando, sem pular etapas.


🧱 Conceitos Fundamentais (Sem isso, tudo quebra)

📌 O que é BMS?

BMS (Basic Mapping Support) é a linguagem declarativa usada para definir telas CICS.

Ela descreve:

  • Campos

  • Posições

  • Atributos

  • Proteção

  • Entrada e saída de dados

📌 BMS não tem lógica.
Ele só descreve como a tela se comporta.


🧠 MAP vs MAPSET — A confusão clássica

ConceitoO que é
MAPSETConjunto de mapas (arquivo fonte BMS)
MAPUma tela individual dentro do MAPSET

📌 Analogia Bellacosa:

  • MAPSET = arquivo HTML

  • MAP = página individual

  • FIELD = input / label



🧭 Passo a Passo — Criando uma Tela CICS BMS


1️⃣ Criar o Fonte BMS (MAPSET)

Exemplo básico:

MAPSET01 DFHMSD TYPE=MAP,MODE=INOUT,LANG=COBOL,TERM=3270

Parâmetros importantes:

  • TYPE=MAP → indica que é um MAPSET

  • MODE=INOUT → entrada e saída

  • LANG=COBOL → gera copybook COBOL

  • TERM=3270 → terminal padrão

📌 Erro comum: esquecer LANG=COBOL → não gera copybook.


2️⃣ Definir um MAP (Tela)

MAP01 DFHMDI SIZE=(24,80),LINE=1,COLUMN=1

O que isso faz:

  • Cria uma tela de 24x80

  • Posiciona no canto superior

📌 Um MAPSET pode ter vários MAPs.


3️⃣ Definir Campos (DFHMDF)

Exemplo:

CAMPO1 DFHMDF POS=(5,10), LENGTH=10, ATTRB=(UNPROT,IC), INITIAL='Digite:'

Parâmetros essenciais:

ParâmetroFunção
POSLinha e coluna
LENGTHTamanho
ATTRBAtributos
INITIALTexto inicial

🎛️ Atributos Importantes (Onde mora o poder)

AtributoFunção
PROTCampo protegido
UNPROTCampo editável
ICCursor inicial
MDTCampo alterado
BRTBrilho
ASKIPPula o campo

📌 Erro clássico: esquecer MDT → CICS acha que o campo não mudou.


4️⃣ Finalizar o MAPSET

DFHMSD TYPE=FINAL END

📌 Sem isso, não compila.



⚙️ Workflow de Compilação (Onde muitos erram)

1️⃣ Fonte BMS
2️⃣ Assembler
3️⃣ Gera MAPSET (LOAD)
4️⃣ Gera COPYBOOK
5️⃣ COPYBOOK entra no programa COBOL
6️⃣ Programa SEND/RECEIVE MAP

📌 BMS não é compilado como COBOL.


🧪 Usando o MAP no Programa COBOL

Enviar a tela:

EXEC CICS SEND MAP('MAP01') MAPSET('MAPSET01') ERASE END-EXEC

Receber dados:

EXEC CICS RECEIVE MAP('MAP01') MAPSET('MAPSET01') END-EXEC

📌 O COPYBOOK gerado contém:

  • campos de entrada

  • campos de saída

  • indicadores MDT


🚀 Otimização — Dicas Bellacosa de Produção

✅ Boas práticas

  • Campos pequenos → menos tráfego

  • Use PROT para labels

  • Use UNPROT só onde necessário

  • Evite mapas gigantes

  • Reutilize MAPSETs

❌ Erros comuns

  • Um MAP por MAPSET sem necessidade

  • Tela cheia de campos UNPROT

  • Esquecer MDT

  • Misturar lógica com tela

  • Hardcode de posição no COBOL


🧠 Hierarquia Mental do BMS (Grave isso)

MAPSET ├── MAP │ ├── FIELD │ ├── FIELD │ └── FIELD

📌 Se você entende isso, não se perde mais.


🧯 Erros Clássicos em Produção

ProblemaCausa
Tela não apareceMAPSET não instalado
Campos vaziosMDT ausente
Cursor erradoIC mal posicionado
Dump AEIMMAP inexistente
Dados não chegamRECEIVE errado

🎓 Guia de Estudo Rápido

  1. Entenda MAPSET vs MAP

  2. Crie tela simples

  3. Compile e gere copybook

  4. Faça SEND

  5. Faça RECEIVE

  6. Trate MDT

  7. Otimize


💬 Comentário El Jefe Midnight Lunch

“Quem domina BMS, domina o ritmo do CICS.”


🏁 Conclusão Bellacosa

Tela CICS não é UI.
É contrato, estado e performance.

🔥 Quem respeita o BMS:

  • evita ABEND

  • entrega rápido

  • sobrevive em produção

segunda-feira, 17 de dezembro de 2012

😈🔥 Manual não oficial de sobrevivência do mainframer em times cloud

 


😈🔥 Manual não oficial de sobrevivência do mainframer em times cloud


Conhecimento básico sobre aplicações distribuídas para quem já viu produção cair em silêncio


☕ 08:59 — Daily começa, o risco também

Você entra no call.
Alguém diz:

“Hoje vamos subir direto em produção, é só um ajuste pequeno.”

Você, mainframer, já sente o cheiro de abend conceitual.

Este manual não é sobre tecnologia.
É sobre sobrevivência cultural e técnica em times cloud, sem perder sanidade — nem reputação.


1️⃣ Contexto histórico: por que você é estranho ali 🧬

O time cloud veio de:

  • Startups

  • Ambientes stateless

  • Deploy diário

  • “Se cair, a gente resolve”

Você veio de:

  • SLA

  • Batch noturno

  • Controle transacional

  • Auditoria

  • Multas

📌 Tradução Bellacosa:
Eles foram treinados para velocidade.
Você foi treinado para não errar.


2️⃣ Regra de ouro #1: nunca diga “no mainframe…” 🛑

Diga:

  • ❌ “No mainframe isso é melhor”

  • ✅ “Em ambientes críticos, isso costuma falhar por causa de…”

🔥 Comentário ácido:
Argumento técnico convence. Nostalgia não.


3️⃣ Falha parcial: o novo inimigo invisível 👻

No mainframe:

  • Caiu → caiu tudo → alguém resolve

No cloud:

  • Um serviço cai

  • Outro fica lento

  • Um terceiro responde errado

  • O sistema parece funcionar

😈 Easter egg traumático:
O erro mais caro é o que não quebra imediatamente.


4️⃣ Observabilidade: sem SMF, sem paz 📊

Se o time não sabe:

  • Qual serviço respondeu

  • Em quanto tempo

  • Com qual dependência

👉 Então não existe produção, só esperança.

📌 Frase para reuniões:
“Sem observabilidade, não é sistema — é aposta.”


5️⃣ Event-driven: MQ não perdoa 📨

Quando alguém diz:

“É só publicar o evento”

Pergunte:

  • É idempotente?

  • Tem reprocessamento?

  • E se duplicar?

  • E se perder?

🔥 Comentário Bellacosa:
Evento não é desculpa para perder controle.


6️⃣ Retry mal feito mata silenciosamente 🔁

Retry:

  • Sem backoff

  • Sem limite

  • Sem idempotência

= batch distribuído rodando para sempre

😈 Easter egg:
Retry é GO TO disfarçado.


7️⃣ Deploy contínuo ≠ deploy irresponsável 🚀

Explique:

  • Feature flag

  • Canary

  • Rollback real

  • Monitoramento pós-deploy

📌 Regra prática:
Quem não sabe voltar, não deveria ir.


8️⃣ Passo a passo de sobrevivência diária 🧭

1️⃣ Escute antes de julgar
2️⃣ Traduza buzzword para risco
3️⃣ Faça perguntas incômodas
4️⃣ Documente decisões
5️⃣ Peça métricas
6️⃣ Exija plano de rollback
7️⃣ Proteja produção como território sagrado


9️⃣ Curiosidades que só o mainframer percebe 👀

  • “Alta disponibilidade” virou feature

  • Logs são decorativos

  • Produção é confundida com staging

  • Ninguém pensa em auditoria

😈 Comentário realista:
Cloud ensinou muitos a programar.
Mainframe ensinou poucos a operar.


🔟 Guia de estudo para não virar o chato do time 📚

Conceitos

  • CAP Theorem

  • Resiliência

  • SRE

  • Observabilidade

  • Arquitetura híbrida

Ferramentas

  • APM (Instana, Dynatrace)

  • Message brokers

  • Feature flags

  • Chaos Engineering (com juízo)

📌 Dica final:
Estude o suficiente para liderar sem impor.


🎯 Aplicações práticas desse manual

  • Modernização de core

  • Integração mainframe-cloud

  • Arquitetura corporativa

  • Times de plataforma

  • Ambientes regulados


🖤 Epílogo — 23:58, produção ainda de pé

Você não está ali para atrasar o time.
Está ali para evitar que ele se autodestrua.

El Jefe Midnight Lunch assina:
“Quando o cloud falha, chamam o mainframer. Quando funciona, ninguém percebe.”

domingo, 16 de dezembro de 2012

🖥️⚔️ Espadas japonesas: o mainframe de aço do Japão feudal



🖥️⚔️ Espadas japonesas: o mainframe de aço do Japão feudal

Bellacosa Mainframe Mode — El Jefe Midnight Lunch

Para o público mainframer, a espada japonesa não é arma: é sistema crítico monolítico, afinado ao extremo, sem interface gráfica, onde cada detalhe importa. A nihontō foi pensada para não falhar, porque quando falha… não há rollback.


🧠 Arquitetura básica (tipos por função)

Pense nelas como tiers de sistema:



🔹 Katana (60–73 cm)

O “IBM z/OS” das espadas. Equilíbrio perfeito entre corte, alcance e velocidade. Uso geral do samurai.




🔹 Wakizashi (30–60 cm)

Sistema auxiliar. Backup pessoal, combate em espaço fechado, ritual. Nunca fora do ar.



🔹 Tantō (até 30 cm)

Utilitário de precisão. Segurança pessoal, último recurso. Baixa latência.



🔹 Tachi (70–80 cm)

Versão antiga da katana, usada a cavalo. Otimizada para ataques descendentes.



🔹 Ōdachi / Nodachi (+90 cm)

Processamento pesado. Campo aberto. Difícil de manter, alto custo operacional.


📏 Classificação por tamanho (storage tiers)

  • Tantō: cache

  • Wakizashi: disco local

  • Katana: storage principal

  • Ōdachi: armazenamento externo — poderoso, mas complexo


🔥 Material e fabricação (hardware premium)

  • Tamahagane: aço obtido em forno tatara

  • Dobras múltiplas: remoção de impurezas = data cleansing

  • Têmpera diferencial (hamon): edge rápido + spine resiliente

📌 Insight Bellacosa: é um sistema hard real-time. Falha estrutural = morte.


🗺️ Principais centros de produção

  • Bizen (Okayama) — durabilidade e beleza

  • Yamashiro (Kyoto) — elegância, lâminas finas

  • Sōshū (Kamakura) — potência, lâminas agressivas

  • Mino (Gifu) — produção eficiente, padronização

🤫 Fofoquice: Mino era o “IBM da época” — escala e consistência.



🎨 Estilo e componentes (subsystems)

  • Hamon: assinatura visual do ferreiro

  • Tsuba: firewall

  • Tsuka: interface homem-máquina

  • Saya: encapsulamento seguro

🥚 Easter egg: dois ferreiros nunca produzem o mesmo hamon. É fingerprint criptográfico.


⚠️ Dicas para mainframers

  • Não confunda espada “bonita” com espada funcional

  • Katana não é para impacto lateral

  • Manutenção é ritual, não luxo

  • Original ≠ afiada demais (excesso é bug)


🧠 Filosofia oculta

A espada japonesa reflete a mentalidade que o mainframer conhece bem:

  • simplicidade extrema

  • disciplina

  • responsabilidade

  • respeito ao legado

🖥️ Comentário final Bellacosa
Assim como um mainframe, a espada japonesa é invisível até o momento crítico. Não impressiona pela aparência, mas pela confiabilidade absoluta. Não tolera improviso, não aceita atalhos.

MAINFRAME ONLINE. LÂMINA ALINHADA. SISTEMA PRONTO PARA PRODUÇÃO.

 

sábado, 15 de dezembro de 2012

🔥 JCL como Pipeline DevOps

 


🔥 JCL como Pipeline DevOps


Conhecimento básico sobre aplicações distribuídas para mainframers




☕ Midnight Lunch no CPD (agora com YAML na mesa)

Era madrugada. Café forte. JES2 organizando a fila com mais elegância do que muito orquestrador moderno.
Um arquiteto cloud visita o CPD e comenta:

“Hoje fazemos tudo com pipeline DevOps.”

O mainframer olha para o JCL rodando há 20 anos e responde em silêncio:
👉 “Engraçado… eu faço isso desde antes de chamar assim.”

Este artigo é sobre isso:
JCL como pipeline DevOps, explicado para quem já domina batch, job, step, CC e restart — e quer entender aplicações distribuídas sem abandonar a alma mainframe.


🧠 Pipeline DevOps, em português mainframe

No mundo moderno, um pipeline DevOps:

  • Compila

  • Testa

  • Executa

  • Publica

  • Reprocessa em caso de falha

  • Controla recursos

  • Gera logs

No mundo mainframe, isso sempre foi:

//JOBNAME JOB ... //STEP01 EXEC ... //STEP02 EXEC ... //STEP03 EXEC ...

📌 Pipeline DevOps = Job bem escrito.


🕰️ Um pouco de história (spoiler: nada é novo)

Antes de:

  • Jenkins

  • GitLab CI

  • GitHub Actions

  • Argo

  • Airflow

Já existia:

  • JES

  • JCL

  • PROCs

  • COND

  • RESTART

  • SMF

💡 Curiosidade Bellacosa:
O JCL nasceu automatizando fluxo de trabalho. Exatamente o que DevOps promete até hoje.


🧩 Mapeamento direto: JCL ↔ DevOps

DevOps PipelineJCL
StageSTEP
Pipeline fileJOB
AgentInitiator
RetryRESTART
ConditionalCOND
Resource limitTIME / REGION
LogsSYSOUT / SMF
SchedulingJES

👉 A diferença é sintaxe, não conceito.


⚙️ JOB Statement: o manifesto DevOps original

Hoje você descreve tudo em YAML.
No mainframe, isso sempre existiu:

//PIPEJOB JOB 'BELLACOSA', /* CLASS=A, MSGCLASS=X, TIME=0, REGION=0M, PRTY=15 */

Isso define:

  • Prioridade

  • Limite (ou não) de CPU

  • Memória

  • Classe de execução

  • Comportamento operacional

💡 Easter Egg:
PRTY=15 é o “run ASAP” do DevOps raiz 😎


🔀 Steps como stages de pipeline

Cada STEP é um stage isolado, previsível e rastreável:

//BUILD EXEC PGM=IGYCRCTL //TEST EXEC PGM=TESTRUN //DEPLOY EXEC PGM=LOADMOD

📌 Isso é:

  • Build

  • Test

  • Deploy

Só que sem marketing.


❌ COND: o if/else que evita desperdício

DevOps fala em:

“Não execute se o estágio anterior falhar.”

JCL já resolvia:

COND=(4,GT)

Tradução:

“Se algo deu ruim, nem continua.”

👉 Economia de CPU, custo e paciência.


🔄 RESTART: o sonho de todo pipeline moderno

Quantos pipelines cloud ainda fazem restart de verdade?

No mainframe:

//JOB JOB ...,RESTART=STEP03
  • Nada de reprocessar tudo

  • Nada de gambiarra

  • Nada de “vamos rodar de novo desde o começo”

💡 Curiosidade:
RESTART idempotente é disciplina de projeto. O mainframe sempre exigiu isso.


🌐 JCL e aplicações distribuídas

Hoje, um pipeline DevOps pode:

  • Chamar APIs

  • Publicar eventos

  • Rodar batch

  • Integrar sistemas

No mundo híbrido:

  • JCL dispara batch

  • Batch chama MQ

  • MQ aciona microserviço

  • Microserviço chama CICS

  • CICS grava no DB2

  • SMF registra tudo

👉 JCL vira o maestro do ambiente distribuído.


📊 Observabilidade: antes era obrigação

Hoje falam:

  • Observability

  • Tracing

  • Metrics

No JCL:

  • SYSOUT

  • SMF

  • RMF

  • JES logs

📌 Se não tem log, não roda.
📌 Se não mede, não entra em produção.

Mainframe ensinou isso cedo.


🪜 Passo a passo mental para o mainframer virar “DevOps”

  1. Veja jobs como pipelines

  2. Veja steps como stages

  3. Veja JES como scheduler

  4. Veja SMF como observabilidade

  5. Veja RESTART como retry inteligente

  6. Ignore o hype, foque nos princípios


📚 Guia de estudo (com cérebro mainframe)

🔹 Estude:

  • CI/CD

  • Pipelines

  • Event-driven

  • Observabilidade

🔹 Faça paralelos:

  • JCL ↔ YAML

  • JES ↔ Orquestrador

  • COND ↔ if/else

  • RESTART ↔ rerun from failure

🔹 Exercício clássico:

“Esse pipeline sobreviveria a um batch noturno de verdade?”


🏁 Conclusão – El Jefe fecha o pipeline

DevOps não inventou:

  • Orquestração

  • Automação

  • Governança

  • Resiliência

Ele renomeou.

O JCL já fazia tudo isso:

  • Sem buzzword

  • Sem framework da moda

  • Sem quebrar a cada release

Por isso, quando alguém diz:

“Pipeline moderno é coisa nova”

O mainframer responde, calmamente, com o café na mão:

“Novo é o nome.
O conceito… eu já rodei em produção.” ☕🔥

 

sexta-feira, 14 de dezembro de 2012

🔥 CICS Transaction Server for z/OS 5.1 — A Virada do Jogo no CICS

 

Bellacosa Mainframe apresenta o cics 5.1

🔥 CICS Transaction Server for z/OS 5.1 — A Virada do Jogo no CICS



☕ Midnight Lunch no início da década de 2010

Estamos em 2012. O mundo corporativo não quer mais apenas green screens; quer interfaces modernas, serviços, agilidade, eficiência operacional e integração com tudo — do mobile ao cloud. O CICS TS 5.1 é a primeira versão da família 5.x a entregar esse salto totalmente alinhado com tecnologia moderna, sem destruir o legado que move o mundo há décadas.


📅 Datas importantes

📌 Data de Lançamento (GA): 3 de outubro de 2012 (estimado com base em anúncio de apoio de produtos relacionados)
📌 Fim de Vida/Suporte: Já fora de serviço há anos; versões posteriores (5.3, 5.4 e 5.5) tomaram o lugar de 5.1 no ciclo oficial.


CICS 5.1


🆕 O que há de novo e o que isso realmente quer dizer

O CICS TS 5.1 não foi apenas mais uma atualização. Foi um piso firme para o CICS moderno — uma plataforma transacional pronta para o mundo conectado:


💡 1) Eficiência operacional e Service Agility

CICS 5.1 foi projetado para satisfazer centenas de requisitos de clientes, focando em agilidade de serviço e eficiência operacional; é o ponto onde o CICS passa de monolito transacional para um servidor de serviços.


🔒 2) Gerenciamento baseado em policies

Regras de monitoramento e acionamento automático para:

  • uso excessivo de CPU

  • leitura/gravação de dados

  • thresholds de armazenamento

  • loops de programa
    Tudo definido por políticas inteligentes que substituem e ampliam o antigo “system event”.

💬 Bellacosa diz:

“É como colocar cintos de segurança eletrônicos no monitor transacional — automágico e automático.”


🌐 3) Web e integração nativa

Liberty Profile — o contêiner leve da IBM — começou a aparecer em 5.1, permitindo rodar:

  • Servlets e JSPs

  • HTTP nativo

  • Interfaces modernas via JCICS APIs

Isso foi o primeiro movimento real para desbloquear o CICS para aplicações web corporativas, bem antes de JSON/REST dominarem.


📊 4) Maior visibilidade & métricas

Novas capacidades para:

  • estatísticas de dispatcher e TCB

  • métricas detalhadas de workload

  • campos de performance detalhados

Esses dados permitiram operações e ajustes finos de produção como nunca antes.


🔗 5) Capacidade de Cloud/Serviço

Ainda que não “cloud-native” no sentido moderno, essa versão introduz caminhos para serviço de ciclo de vida e application platforms, permitindo cenários de deployment mais ágeis e seguros.


🧪 Mudanças e melhorias reais

Operações sem downtime
Algumas mudanças permitem ajustar parâmetros críticos (como SSL Certs) sem reiniciar a região, aumentando disponibilidade.

Suporte ampliado à JVM/Liberty
JVM servers 64-bit e primeiros passos com servlet containers dentro do CICS.

IDs de recursos modernos e CEMT novos
Novos comandos e opções para administrar mais dinamicamente recursos — por exemplo PERFORM SSL REBUILD.

Suporte técnico a linguagens e runtimes modernos
Compatibilidade com compilers e runtimes mais atuais, deixando atrás compiladores obsoletos e antigos modelos de programação.


🎯 Evolução e contexto histórico

O 5.1 foi o start oficial da família 5.x, que após essa base primordial evoluiu para:

  • 5.2 — incrementou SOA e REST/JSON

  • 5.3 — bateu o número de requisitos pedidos por clientes

  • 5.4 — trouxe suporte ainda maior à linguagem moderna

  • 5.5 — Node.js, GraphQL e mais integração
    👉 5.1, portanto, é a fundação de toda essa modernização.


💬 Eastereggs & Curiosidades Bellacosa

🍺 100+ requisitos reais de clientes implementados:
Não é exagero — a IBM contabilizou mais de cem pedidos de clientes nessa versão, focados em eficiência e flexibilidade.

🍺 Computação antes de “cloud” ser moda:
Embora o termo “cloud” fosse quase hipster em 2012, o CICS 5.1 já construía as fundações de serviço transacional distribuído — um ancestral direto de cloud-ready mainframe.

🍺 Operações sem reinício:
Mudanças importantes em parâmetros durante operações — bem antes de muita tecnologia moderna conseguir isso de forma fluida.


🧠 Exemplo real de produção

Imagine um core bancário em 2012:

📌 Antes — ambientes puramente green screens e Web via WebSphere Gateway.

📌 Com CICS 5.1 —

  • Aplicações COBOL/PL1 continuam rodando

  • Serviços HTTP nativos dispensam middleware externo

  • Políticas automatizam thresholds de performance

  • Métricas detalhadas reduzem MTTR

💬 Bellacosa comenta:

“Essa foi a primeira vez que muitos clientes disseram:
‘Não precisamos levantar WebSphere só pra falar com CICS’.”


💡 Dicas para quem ainda vive 5.1 hoje

✅ Explore policies antes de brincar com thresholds manualmente
✅ Use CICS Explorer para visualizar métricas operacionais
✅ Aproveite Liberty/JVM onde possível — mesmo em versões antigas
💬 Bellacosa:

“CICS 5.1 não é velho. É clássico moderno.”


📌 Conclusão — Bellacosa Mainframe

O CICS Transaction Server for z/OS 5.1 foi muito mais que um release:
🔹 Foi a fundação da era de serviço e integração moderna do CICS
🔹 It paved the way for modern Web, policies, metrics, and JVM support
🔹 Foi um divisor de águas para operações e agilidade corporativa

🔥 5.1 é o “Zero Hora” do CICS moderno.
Sem ele, nada do que veio depois faria tanto sentido.

quinta-feira, 13 de dezembro de 2012

Moral Hazard: Doctor Who, COBOL e o Dia em que Alguém Assumiu o Risco — Porque Outro Time Pagaria a Conta

 

Bellacosa Mainframe e o moral hazard

☕ Um Café no Bellacosa Mainframe

Moral Hazard: Doctor Who, COBOL e o Dia em que Alguém Assumiu o Risco — Porque Outro Time Pagaria a Conta

Uma viagem pela TARDIS dos incidentes para entender como seguros, contratos, SLAs, terceirização, automações e separação entre decisão e consequência podem incentivar comportamentos mais arriscados em sistemas críticos

08:37.

Segunda-feira.

War Room ainda vazia.

Café recém-passado.

Produção normal.

Na tela, uma proposta de mudança:

CHANGE:
BATCH PAYMENT ENGINE

SCOPE:
14 PROGRAMS
6 COPYBOOKS
3 DB2 TABLES
2 MQ FLOWS

WINDOW:
2 HOURS

Nosso jovem programador COBOL olha.

— Isso tudo em duas horas?

O gerente responde:

— Sim.

— Parece apertado.

— Se atrasar, operações segura.

— E se quebrar?

— Infra faz rollback.

— E se perdermos dados?

— O time de reconciliação corrige.

— E se o fornecedor não responder?

— Temos SLA.

Nosso jovem fica alguns segundos em silêncio.

Interessante.

Para cada risco:

alguém tinha uma resposta.

Mas quase sempre:

a resposta era outra pessoa.

O gerente continua:

— Vamos fazer Big Bang. É mais rápido.

O programador pergunta:

— Quem decidiu isso?

— Nós.

— E quem fica de plantão se der problema?

— Operações.

— Quem reconcilia?

— Financeiro.

— Quem responde ao cliente?

— Atendimento.

— Quem paga penalidade?

— A empresa.

Silêncio.

— Então...

Pausa.

— quem está assumindo o risco?

O gerente olha.

— Nós estamos decidindo.

— Eu sei.

— Então?

— Decidir e carregar a consequência são a mesma coisa?

Antes que alguém responda:

VWORP.

VWORP.

VWORP.

A TARDIS materializa-se ao lado do projetor.

A porta abre.

O Doctor sai.

Olha para o change.

Depois para a lista de times envolvidos.

— Quem escolheu o Big Bang?

— Gestão de projeto.

— Quem fará recuperação se falhar?

— Operações.

— Quem trabalhará madrugada adentro?

— Operações e desenvolvimento.

— Quem recebe bônus se entregar antes?

Silêncio.

— Gestão do projeto.

O Doctor sorri.

— Ah.

— O quê?

— Vocês criaram um sistema em que uma pessoa recebe parte do benefício da decisão...

Pausa.

— enquanto outras pessoas recebem parte maior do prejuízo se a decisão der errado.

Bem-vindo ao:



Moral Hazard

Ou:

Risco Moral

Um conceito econômico e comportamental que aparece quando alguém toma decisões de risco sabendo que não suportará integralmente as consequências negativas dessas decisões.

Em linguagem Bellacosa:

“Se eu ganho quando dá certo e outra pessoa paga boa parte da conta quando dá errado, meu incentivo para ser cauteloso diminui.”


🧠 Moral Hazard não significa “pessoa imoral”

Primeiro cuidado.

O nome pode confundir.

“Moral Hazard” não significa necessariamente:

fraude;

má-fé;

falta de caráter.

Pode existir mesmo quando ninguém está conscientemente tentando prejudicar alguém.

O problema é:

estrutura de incentivos.

Se benefício e consequência estão separados:

o comportamento pode mudar.

Isso é profundamente importante em:

seguros;

finanças;

outsourcing;

cloud;

DevOps;

projetos;

SRE;

segurança;

incidentes.

E naturalmente:

mainframe.


☕ O exemplo clássico do seguro

Imagine que você possui seguro completo para um carro.

Se qualquer dano for integralmente pago por outra entidade, talvez exista menos incentivo econômico para evitar alguns riscos.

Isso não significa que todo segurado vai dirigir perigosamente.

Significa que:

a proteção contra perdas pode alterar incentivos.

Por isso seguros possuem:

franquia;

limites;

condições.

Eles tentam manter:

skin in the game.

Ou seja:

alguma parte da consequência continua com quem toma a decisão.


🧠 Risk Compensation versus Moral Hazard

Eles se parecem.

Mas não são iguais.

Risk Compensation

“Estou mais protegido, então posso me sentir confortável assumindo mais risco.”

Pode acontecer mesmo quando eu continuo pagando as consequências.

Moral Hazard

“Parte importante das consequências cairá sobre outra pessoa, então meu incentivo para reduzir risco diminui.”

A diferença principal é:

quem paga a conta.


☕ Exemplo Bellacosa

Risk Compensation

Equipe recebe rollback automático.

Passa a deployar mais.

Ela ainda sofre os incidentes.

Moral Hazard

Projeto decide acelerar deploy.

Se der certo:

projeto bate prazo.

Se falhar:

operações passa a madrugada corrigindo.

Agora temos:

assimetria de recompensa e consequência.


👻 Easter Egg nº 1 — O botão do Companion

Companion:

— Doctor, posso apertar aquele botão?

Doctor:

— Não.

— Por quê?

— Pode destruir o sistema de contenção.

— E quem conserta?

— Eu.

— Ah.

Ela começa a estender o dedo.

Doctor:

— E é exatamente por isso que você não vai apertar.

Às vezes a melhor governança começa quando quem aperta o botão conhece o custo de apertá-lo.


🧠 Principal-Agent Problem

Moral Hazard aparece frequentemente dentro de um problema maior:

principal-agent problem.

Uma pessoa ou organização — o principal — delega alguma atividade para outra — o agente.

Mas:

os incentivos não são perfeitamente alinhados.

Exemplo:

empresa contrata fornecedor.

Fornecedor recebe por:

entregar mudança.

Empresa suporta:

risco operacional.

Se contrato recompensa:

velocidade,

mas não penaliza adequadamente:

incidentes,

o fornecedor pode racionalmente priorizar:

velocidade.

Não porque seja “malvado”.

Porque:

o sistema de incentivos está ensinando isso.


☕ Outsourcing mainframe

Fornecedor tem KPI:

DELIVERIES / MONTH

Equipe interna mede:

AVAILABILITY
INCIDENTS
DATA INTEGRITY

Fornecedor quer:

entregar.

Operação quer:

não quebrar.

Conflito estrutural.

Se change falha:

fornecedor talvez recebe ticket.

Operação recebe:

telefone às 03:00.

Quem sente mais risco?

Operação.

Quem decidiu escopo?

Talvez fornecedor/projeto.

Moral Hazard possível.


🧠 KPI cria comportamento

Se premiamos:

quantidade de releases,

podemos ter:

mais releases.

Se quem gera releases não sofre custo completo de incidentes:

atenção.

Goodhart entra discretamente.


🧠 Moral Hazard + Goodhart's Law

Métrica:

“entregar projeto no prazo.”

Equipe corta:

testes.

Documentação.

Rollback rehearsal.

Entrega no prazo.

KPI:

verde.

Três semanas depois:

produção quebra.

Quem absorve?

Operação.

Agora a métrica ficou verde...

e o sistema ficou vermelho.


☕ A entrega terminou no Go-Live?

Para projeto:

sim.

Para operações:

talvez tenha começado ali.

Essa diferença é enorme.


🧠 Definition of Done

Uma defesa simples contra Moral Hazard:

Definition of Done precisa incluir consequências operacionais.

Não apenas:

código entregue.

Mas:

  • testes completos;

  • observabilidade;

  • runbook;

  • rollback;

  • suporte;

  • documentação;

  • reconciliação.

Agora benefício e responsabilidade ficam mais próximos.


🧠 “Você constrói, você opera”

A filosofia:

You Build It, You Run It

pode reduzir Moral Hazard porque quem cria também participa da operação.

Não é solução universal.

Mas o princípio é poderoso:

aproxime decisão e consequência.

Quando desenvolvedor sente incidente:

passa a considerar:

logging;

recovery;

monitoring

durante o desenvolvimento.


☕ O código muda depois da primeira madrugada de plantão

Curiosamente.

Depois de um SEV-1 às 03:00:

aquele DISPLAY adicional começa a parecer muito barato.


🧠 Skin in the Game

Expressão útil.

Quem toma risco deveria ter:

alguma exposição ao resultado.

Não punição.

Exposição informacional e operacional.

Exemplo:

arquiteto aprova desenho.

Participa da revisão do incidente.

Projeto entrega.

Continua responsável pelo hypercare.

Fornecedor implanta.

SLA inclui qualidade pós-produção.

Isso reduz distância entre:

decisão

e:

efeito.


🧠 Moral Hazard + Self-Serving Bias

Se dá certo:

“Projeto entregou.”

Se dá errado:

“Operações não estabilizou.”

Self-Serving Bias protege quem recebeu benefício.

Moral Hazard protege estruturalmente porque custo ficou em outro lugar.

Combinação ruim.


🧠 Fundamental Attribution Error

Projeto envia mudança arriscada.

Operação executa.

Falha.

Relatório:

“Operador executou procedimento incorretamente.”

Mas:

por que arquitetura exigia manobra manual sob pressão?

Moral Hazard pode terminar em:

culpa na ponta.


☕ Quem tem a agulha?

A velha regra operacional volta.

Decisão precisa ter:

owner.

Aprovação.

Registro.

Quando incidente ocorre:

não pode desaparecer a cadeia decisória.


🧠 Authority Gradient

Chefe:

— Faça hoje.

Operador:

— Risco está alto.

Chefe:

— Assumo.

Mas depois...

incidente.

Quem está na timeline?

Operador que apertou Enter.

Authority Gradient + Moral Hazard.

Quem dá ordem pode estar distante da consequência imediata.


🎯 Pergunta Bellacosa nº 1

Quando alguém disser:

“Pode fazer.”

Pergunte:

“Quem é o risk owner dessa decisão?”

Não apenas:

quem executa.


🧠 Execution Owner ≠ Risk Owner

Muito importante.

EXECUTOR:
Operations

DECISION OWNER:
Project Manager

RISK OWNER:
Business Service Owner

Agora a organização sabe:

quem tomou decisão;

quem executou;

quem aceitou risco.


🧠 Omission Bias

Às vezes ninguém quer explicitamente assumir risco.

Então decisão fica difusa.

“Vamos seguir.”

Quem decidiu?

Todo mundo.

Logo:

ninguém.

Diffusion of Responsibility aparece.

Moral Hazard institucional.


🧠 Diffusion of Responsibility + Moral Hazard

Se custo será dividido entre:

cinco departamentos,

cada um sente apenas parte.

Então ninguém possui incentivo forte suficiente para prevenir.

Tragedy of the commons começa a aparecer.


☕ Shared platform

Time A consome CPU.

Custo geral pago por infraestrutura.

Então A não otimiza.

Time B faz igual.

Time C também.

Resultado:

capacity problem.

Quem paga?

Empresa inteira.

Isso é um terreno fértil para Moral Hazard.


🧠 FinOps e Moral Hazard

Cloud oferece exemplo perfeito.

Desenvolvedor cria:

máquina enorme.

Benefício:

performance.

Conta:

centro de custo central.

Se equipe não vê custo:

incentivo para otimização diminui.

Showback e chargeback tentam alinhar:

consumo

e:

consequência econômica.


☕ CPU “grátis”

Nada é tão caro quanto recurso que alguém acredita ser grátis.


🧠 Mainframe MIPS/MSU

Mesmo lógica.

Se aplicação consome:

muito CPU

mas custo é abstrato e pago centralmente:

equipe pode não sentir incentivo econômico para otimizar.

Isso não significa:

culpar aplicação.

Significa:

dar visibilidade.


📊 Showback

TEAM A:
CPU CONSUMPTION: X
STORAGE: Y
BATCH WINDOW IMPACT: Z

Não precisa cobrar diretamente.

Só tornar custo visível já muda comportamento.


🧠 Moral Hazard em capacity

Equipe pede:

mais capacidade.

Se é grátis para ela:

por que otimizar primeiro?

Arquiteto:

— Precisamos de 4x mais CPU.

Sysprog:

— Vocês revisaram SQL?

— Não.

— Por quê?

— Upgrade é mais rápido.

Quem paga hardware?

Outro orçamento.

Incentivo desalinhado.


🧠 Moral Hazard + Risk Compensation

Agora combinamos.

Novo seguro:

rollback.

Risk Compensation:

mais risco.

Se incidente for suportado por outro time:

Moral Hazard:

mais incentivo ainda para aumentar risco.


☕ O deploy ousado

Dev:

“Se der problema, operações volta.”

Operations:

“E se o rollback falhar?”

Dev:

“Vocês têm DR.”

Maravilhoso.

Toda camada de proteção vira justificativa para alguém aumentar exposição.


🧠 Swiss Cheese e propriedade das fatias

Um detalhe interessante:

cada time controla uma fatia.

Dev:

teste.

Ops:

rollback.

Security:

controle.

DBA:

recovery.

Se cada um pensa:

“a próxima fatia segura”,

os buracos podem se alinhar.

Moral Hazard pode enfraquecer responsabilidade local.


🧠 Defense in Depth não significa:

“Posso relaxar porque existe outra defesa.”

Significa:

cada camada deve cumprir sua função independentemente.


☕ Cinto + airbag + freio

Não significa:

pode dirigir olhando o celular.

As camadas somam.

Não se substituem emocionalmente.


🧠 Moral Hazard em segurança

Usuário pensa:

“Security tem antivírus.”

Então:

menos cuidado.

Equipe pensa:

“Tem cyber insurance.”

Então:

menos investimento.

Gestor pensa:

“Fornecedor é responsável.”

Então:

menos verificação.

Todas podem ser formas de desalinhamento.


🔐 Cyber Insurance

Seguro pode reduzir impacto financeiro.

Mas talvez não cubra:

reputação;

dados;

operação.

Mesmo economicamente:

franquias;

exclusões.

Não é transferência total de risco.


🧠 Risk Transfer não é Risk Elimination

Você compra seguro.

Risco financeiro parcialmente transferido.

Mas:

incidente continua existindo.

Cliente continua impactado.

Dados continuam vazados.

Logo:

RISK TRANSFER
≠
RISK REMOVAL

☕ “Tem SLA”

Outra frase mágica.

Fornecedor falha.

Você recebe crédito.

Ótimo.

Cliente?

Ainda ficou sem serviço.

SLA transfere parte do custo.

Não restaura disponibilidade retroativamente.


🧠 SLA Credits

Se fornecedor cai 8 horas:

você ganha desconto.

Financeiro sorri.

Operação não.

O crédito pode ser:

insignificante diante do impacto.

Moral Hazard pode surgir se fornecedor sabe:

penalidade máxima

é pequena.


🧠 Contract Design

Contrato precisa alinhar:

incentivos.

Não apenas:

penalidade.

Pode incluir:

availability;

quality;

security;

recovery.

Mas cuidado com métricas demais.

Goodhart continua.


☕ Contrato perfeito também não existe

Se você tentar escrever toda possibilidade:

Need for Control reaparece com 700 páginas.

Balance.


🧠 Moral Hazard no modelo “fixed price”

Projeto fornecedor recebe valor fixo.

Quanto menos gastar:

maior margem.

Empresa quer:

qualidade.

Fornecedor pode ter incentivo para:

reduzir custo.

Isso é normal em contratos.

O design precisa:

aceitação;

quality gates;

SLA.

Não confiar em bondade.

Nem assumir maldade.

Desenhe incentivos.


🧠 Incentive-Compatible Systems

Economia gosta dessa ideia:

criar regras em que agir de forma desejável também seja racional para quem decide.

Em operação:

não dependa de:

heroísmo.

Crie incentivos em que:

qualidade;

segurança;

custo

façam parte da decisão.


☕ Não peça “ownership”

Enquanto recompensa apenas:

velocidade.

Pessoas aprendem pelo bônus.

Não pelo pôster.


🧠 Moral Hazard + Planning Fallacy

Projeto promete:

6 meses.

Se atrasar:

equipe de sustentação recebe pressão.

Quem fez estimativa já pode estar em outro projeto.

Agora custo do otimismo é transferido.

Isso incentiva estimativas agressivas.


📅 Bid otimista

Fornecedor promete:

4 meses.

Ganha contrato.

Depois:

change requests.

Extensões.

Quem paga?

Cliente.

Se penalidade inicial é pequena:

incentivo para bid agressivo.

Um problema clássico de contratos.


🧠 Winner's Curse pode aparecer

Outro conceito interessante:

em licitações, quem faz a estimativa mais otimista pode ganhar.

Depois descobre:

subestimou.

Não é exatamente Moral Hazard.

Mas contratos podem criar ambiente onde:

o vencedor é quem aceita mais risco.

Se parte desse risco será renegociada depois:

Moral Hazard aumenta.


☕ “Ganha primeiro, negocia depois”

Estratégia conhecida.

Nem sempre saudável.


🧠 Moral Hazard em projetos internos

Não precisa fornecedor.

Time de transformação:

recebe bônus por:

migração concluída.

Time legado:

absorve:

incidentes.

Agora incentivo:

migrar rápido.

Não necessariamente:

operar bem.

Inclua:

post-go-live KPIs.


🧠 Hypercare

Manter projeto responsável por algumas semanas após Go-Live:

excelente.

Agora quem tomou decisões sente:

efeitos operacionais.

Isso alinha.


☕ Projeto não termina no HASP395

Acabou o job.

Mas negócio continua.

Boa analogia.


🧠 Moral Hazard e turnover

Pessoa toma decisão de longo prazo.

Vai embora antes da consequência.

Não podemos impedir carreira.

Mas arquitetura precisa:

documentação;

decision records.

Senão:

benefício agora.

Dívida para quem fica.


🧠 Technical Debt como Moral Hazard

Equipe entrega feature rápido.

Recebe crédito.

Debt vai para:

futuro.

Talvez outra equipe.

Isso é um tipo de externalização de custo.


☕ “Depois a gente refatora”

“Depois” normalmente é um time sem nome.


🧠 Present Bias + Moral Hazard

Benefício:

agora.

Custo:

depois.

E talvez para:

outro.

Essa combinação é poderosíssima.

Present Bias já favorece curto prazo.

Moral Hazard reduz peso do custo futuro.


🧠 Sunk Cost

Depois dívida cresce.

Ninguém quer reescrever.

Agora Status Quo.

Os vieses começam a formar uma guilda.


🧠 Externalities

Moral Hazard conversa com:

externalidades.

Uma decisão produz custo para terceiros.

Exemplo:

aplicação dispara consultas pesadas.

Time ganha:

feature.

Db2 sofre:

CPU.

Outros sistemas recebem:

latência.

A aplicação não vê integralmente custo.


☕ “Na minha aplicação está rápido”

Parabéns.

Você terceirizou lentidão para o banco.

Local Optimization encontra Moral Hazard.


🧠 End-to-End Metrics

Antídoto:

medir:

impacto sistêmico.

Não apenas:

métrica local.

Se time é avaliado por:

latência ponta-a-ponta

e:

custo,

incentivo melhora.


🧠 WLM e prioridades

Todo mundo quer:

service class alta.

Se custo de prioridade for coletivo:

cada time pede prioridade máxima.

Se todos são prioridade 1:

ninguém é.

Moral Hazard de recursos compartilhados.


☕ “Meu job é crítico”

Claro.

Todo job é crítico quando perguntamos ao owner.

Por isso precisamos:

governança.


🧠 Tragedy of the Commons

Recursos compartilhados:

CPU;

I/O;

storage;

rede.

Cada time maximiza seu uso.

Custo distribuído.

Resultado:

degradação coletiva.

Não é exatamente Moral Hazard em todos os casos, mas é parente próximo.


🧠 Moral Hazard em War Room

Incident Commander decide:

restart agressivo.

Se der certo:

MTTR cai.

Se der errado:

evidência desaparece;

RCA sofre.

Talvez commander seja medido apenas por:

restore time.

Agora incentivo favorece:

ação rápida.

Action Bias + Moral Hazard.


☕ Métrica de MTTR sozinha

Pode ensinar:

“recupere rápido.”

Mesmo que destrua evidência.

Talvez adicione:

quality of recovery;

recurrence.


🧠 Balanced Metrics

Use:

MTTR.

Repeat Incident Rate.

Data Integrity.

Customer Impact.

Agora incentivo menos unilateral.


🧠 Moral Hazard e bônus

Se bônus depende:

apenas de uptime,

equipe pode:

não registrar incidentes.

Goodhart.

Se depende:

zero security findings,

pode esconder.

Precisamos métricas que:

não tornem verdade inimiga da recompensa.


☕ Se reportar problema reduz bônus...

adivinhe o que acontece com observabilidade.


🧠 Psychological Safety

Se quem admite risco perde:

status,

risco será escondido.

Moral Hazard pode existir na direção oposta:

gestor recebe benefício por dashboard verde

e custo de esconder risco recai no futuro.


🧠 Narrative Bias

Depois do incidente:

“Ninguém poderia prever.”

Mas decision log mostra:

dois engenheiros alertaram.

Agora narrativa tenta externalizar custo.

Decision records combatem.


🎯 Pergunta Bellacosa nº 2

“Quem recebe o benefício se der certo e quem suporta o custo se der errado?”

Talvez a melhor pergunta do capítulo.

Desenhe.


📊 Incentive Map

DECISION:
Big Bang deployment

BENEFIT:
Project — deadline achieved

COST IF FAILURE:
Operations — overtime
Business — lost revenue
Customer — service outage
Support — complaints

Agora Moral Hazard fica visível.


🧠 Risk Ownership Matrix

Outra ferramenta:

RISK:
Data corruption

DECISION OWNER:
Project

RISK OWNER:
Business

EXECUTOR:
Operations

MITIGATION OWNER:
DBA

Muito melhor que:

“todos responsáveis.”


☕ Quando todos são responsáveis...

o alerta já sabe como termina.

Diffusion of Responsibility.


🧠 RACI

RACI pode ajudar:

Responsible.

Accountable.

Consulted.

Informed.

Mas só se realmente usado.

Uma planilha com 300 linhas pode virar Control Theater.

Use de forma pragmática.


🧠 Accountability

A palavra chave.

Moral Hazard diminui quando:

quem decide também responde:

por qualidade;

por custo;

por impacto.

Não no sentido punitivo.

No sentido:

decisão não termina quando benefício foi capturado.


🧠 Accountability ≠ Blame

Precisamos repetir.

Se toda accountability vira punição:

pessoas evitam decidir.

Authority e Omission Bias.

Queremos:

ownership do resultado.

Não caça às bruxas.


☕ Skin in the game sem pele arrancada

Talvez a formulação Bellacosa.


🧠 Moral Hazard em IA

Agora fica especialmente interessante.

Equipe usa agente.

Agente toma ação.

Algo quebra.

Humano diz:

“Foi a IA.”

Fornecedor:

“Usuário aprovou.”

Gestão:

“Ferramenta estava homologada.”

Responsabilidade pulveriza.

Perfeito terreno para Moral Hazard.


🤖 AI Vendor

Fornecedor vende:

automação de mudança.

Benefício:

mais volume.

Se incidente:

cliente suporta.

Contrato talvez limite responsabilidade.

Incentivo precisa ser avaliado.


🧠 AI Agent Permissions

Se agente possui:

DELETE;

DEPLOY;

PAYMENT,

quem assume risco?

Designer?

Owner?

Operator?

Business?

Defina antes.

Não depois do incidente.


🧠 Human-in-the-loop como liability theater

HITL pode virar:

“Humano aprovou, então culpa dele.”

Mas se humano recebeu:

200 approvals;

3 segundos cada;

sem contexto,

isso não é controle real.

É transferência de responsabilidade.

Moral Hazard institucional.


☕ A aprovação humana pode virar para-raios jurídico

Se design é ruim.

Precisamos evitar.


🧠 Meaningful Human Control

Humano precisa:

entender;

ter tempo;

poder rejeitar;

possuir informação.

Se não:

approval é decorativo.


🎯 Pergunta Bellacosa nº 3

“O humano realmente controla a decisão ou apenas assina a responsabilidade?”

Fortíssima.


🧠 Moral Hazard + Automation Bias

Ferramenta recomenda.

Humano confia.

Se errado:

“Modelo falhou.”

Mas a organização escolheu:

delegar.

Precisamos ownership sistêmico.


🧠 Insurers, vendors, cloud providers

Ter contrato não significa:

ter transferido todas as consequências.

Você pode terceirizar:

infraestrutura.

Não:

responsabilidade final perante o cliente.

Muito importante.


☕ “Está na cloud” não significa “é problema da cloud”

Shared Responsibility Model deveria estar tatuado em alguns projetos.

Metaforicamente.


🧠 Shared Responsibility

Cloud provider:

hardware.

Você:

configuração.

IAM.

Dados.

Aplicação.

Se breach:

“a AWS deveria impedir” não basta.

Moral Hazard pode aparecer quando empresa interpreta outsourcing como:

outsourcing de responsabilidade.


🧠 Outsourcing Risk

Você terceiriza:

execução.

Não necessariamente:

accountability.

Contrato ajuda.

Governança continua.


☕ Você pode terceirizar o datacenter

Não pode terceirizar a reputação perante seu cliente.


🧠 Moral Hazard em change windows

Projeto não precisa ficar de plantão.

Então agenda:

mudança sexta 23h.

Ops sofre.

Solução:

quem pede mudança participa do plantão.

Agora decisão sobre horário muda magicamente.

Skin in the game.


😄 Sexta-feira 23h

Antes:

“Melhor janela.”

Depois que project manager precisa ficar:

“Talvez terça 20h seja melhor.”

Incentivos são professores excelentes.


🧠 On-call rotation

Desenvolvedor entra no on-call.

Observabilidade melhora.

Código fica mais recuperável.

Por quê?

Porque consequência ficou próxima.

Não é punição.

É feedback.


🧠 Moral Hazard + Feedback Loops

Quando quem decide recebe feedback tarde ou nunca:

aprendizado fraco.

Aproxime:

feedback.

Isso reduz:

Moral Hazard

e:

Outcome Bias.


🧠 Feedback delay

Feature lançada.

Erro operacional aparece meses depois.

Equipe original já esqueceu.

Decision logs ajudam.

Post-implementation review também.


☕ “Depois do Go-Live”

Deveria existir formalmente.

Não só bolo e foto.


🧠 Post-Implementation Review

30 dias depois:

  • incidentes?

  • performance?

  • cost?

  • manual work?

  • customer impact?

Agora projeto recebe:

consequência real.


🧠 Moral Hazard e budget silos

Time A economiza:

R$100k.

Decisão aumenta custo de infra:

R$500k.

A economiza.

Empresa perde.

Local incentives.

FinOps tenta combater.


☕ Economia local, prejuízo global

Clássico.


🧠 Total Cost of Ownership

Use TCO.

Não apenas:

project cost.

Inclua:

run;

support;

licenses;

capacity;

incidents.

Isso reduz externalização.


🧠 Build vs Run

Projeto barato.

Operação caríssima.

Se procurement olha apenas:

CAPEX,

Moral Hazard na seleção.

Inclua:

OPEX.


🧠 Vendor lock-in

Fornecedor oferece:

entrada barata.

Saída cara.

Benefício inicial.

Custo futuro:

cliente.

Contrato precisa enxergar ciclo.


☕ O almoço “grátis”

Normalmente chega com fatura em outra sprint.


🧠 Moral Hazard e Sunk Cost

Depois de entrar:

custo de sair alto.

Agora fornecedor pode ter poder.

Não é automaticamente Moral Hazard, mas incentivos mudam.

Governança precisa observar.


🧠 Procurement e SLA

Procurement negocia:

preço baixo.

Operação recebe:

serviço ruim.

Procurement KPI:

verde.

Operação:

vermelho.

Separação de benefício e consequência.


🎯 Pergunta Bellacosa nº 4

“A métrica de sucesso de quem decide inclui o custo operacional gerado depois?”

Excelente.


🧠 Moral Hazard na arquitetura

Arquiteto escolhe:

tecnologia complexa.

Projeto fica moderno.

Depois suporte:

escasso.

Arquiteto muda de iniciativa.

Ops fica.

Inclua:

operability review.


🧠 Operational Readiness Review

Antes de produção:

  • quem suporta?

  • skill existe?

  • tooling?

  • backup?

  • recovery?

  • monitoring?

  • cost?

Arquitetura não termina no diagrama.


☕ Caixa bonita com setas não atende pager

Muito menos às 03:00.


🧠 Runbook as Contract

Um bom runbook declara:

quem faz o quê.

Isso reduz:

“achei que o outro time faria.”


🧠 Moral Hazard + Diffusion

Quanto mais dependências:

mais fácil externalizar.

“DBA resolve.”

“Security verifica.”

“Ops monitora.”

No fim:

ninguém é dono do sistema inteiro.

Service ownership ajuda.


🧠 Product / Service Ownership

Uma pessoa ou equipe precisa olhar:

end-to-end.

Não executar tudo.

Mas possuir:

accountability do serviço.

Isso internaliza parte dos custos.


☕ Dono do serviço

Não significa:

faz tudo.

Significa:

não pode dizer “não é meu problema” para cada seta do diagrama.


🧠 Moral Hazard em bancos

Crédito é exemplo clássico.

Quem origina empréstimo pode receber benefício imediato.

Se risco for vendido ou transferido:

pode diminuir incentivo para avaliar cuidadosamente.

Esse tipo de desalinhamento ficou famoso em discussões sobre crises financeiras.

A estrutura importa:

origination versus retention of risk.


🧠 Analogia mainframe

Equipe cria transação.

Outro time processa.

Outro reconcilia.

Outro suporta.

Se criador não absorve custo:

pode gerar complexidade sem sentir.

Service costing ajuda.


☕ Cada interface “gratuita”

Custa:

monitoramento;

teste;

suporte;

incident response.

Torne visível.


🧠 Moral Hazard e observabilidade

Se incident cost é invisível para projeto:

ele não entra na decisão.

Então crie:

cost of incident.

Horas.

clientes.

receita.

Agora feedback econômico.


📊 Incident Cost Allocation

Não necessariamente cobrança financeira.

Mas:

INCIDENT:
4h outage

ENGINEERING HOURS:
96

CUSTOMER IMPACT:
X

REVENUE IMPACT:
Y

Mostre.

Incentivos ficam mais realistas.


🧠 Decision Journals

Antes:

“Big Bang é aceitável porque rollback é sólido.”

Depois:

falha.

Não deixe reescrever:

“Ninguém sabia.”

Registro ajuda accountability.


🧠 Hindsight Bias

Cuidado inverso.

Não julgue decisão apenas pelo resultado.

Se risco era conscientemente aceito e processo foi bom:

resultado ruim não prova irresponsabilidade.

Outcome Bias.

Moral Hazard exige analisar:

incentivo antes.


☕ Uma decisão pode ser arriscada sem ser irresponsável

Se:

risk owner sabe;

benefício justifica;

controles existem.

Muito importante.


🧠 Moral Hazard não é “qualquer risco tomado”

É:

risco incentivado pela separação entre decisão e consequência.

Essa definição evita banalização.


🧠 Risk Appetite

Se business aceita:

10% de risco

por benefício X,

e business também absorve consequência:

não é necessariamente Moral Hazard.

É decisão de risco.


🧠 Moral Hazard aparece quando:

benefício privado/local;

custo coletivo/externo.

Simplificando:

UPSIDE:
ME

DOWNSIDE:
US

☕ A versão corporativa

“Meu bônus, nosso incidente.”

Magnífico e terrível.


🧠 Moral Hazard em liderança

Líder promete prazo impossível.

Se sucesso:

reconhecimento.

Se falha:

equipe “não entregou”.

Incentivo claro.

Por isso metas precisam:

accountability bidirecional.


🧠 Psychological Contract

Se líderes sempre externalizam custo:

equipes deixam de confiar.

Então Moral Hazard também destrói:

cultura.


🧠 Burnout externality

Prazo agressivo.

Gestão recebe entrega.

Equipe paga:

horas;

burnout.

Se custo humano não entra:

decisão parece barata.


☕ Toda estimativa tem alguém dormindo atrás dela

Às vezes literalmente.


🧠 Sustainable Pace

Não é luxo.

É internalizar custo.

Se entrega depende:

sempre de horas extras,

TCO está sendo escondido.


🧠 Moral Hazard + Present Bias

Ganho trimestral.

Custo em seis meses.

Executivo talvez já seja medido por:

trimestre.

Incentivo estrutural para:

curto prazo.

Governança precisa:

métricas de longo prazo.


📈 Long-term KPIs

Reliability.

Debt.

Retention.

Customer trust.

Não apenas:

delivery.


🧠 Moral Hazard em segurança de acesso

Gestor pede:

acesso amplo.

Benefício:

velocidade.

Security assume:

risco.

Se gestor não sente consequência de breach:

pode pedir acesso excessivo.

Least privilege reduz isso por arquitetura.


🔐 Guardrails

Em vez de:

“por favor, peça só o necessário.”

Sistema limita.

Porque incentivo humano pode ser:

“me dê tudo para não depender de ninguém.”


SPECIAL no RACF para resolver ticket pequeno

Talvez um pouco exagerado.

Só um pouco.


🧠 Strong Controls versus incentives

Quando Moral Hazard é forte:

não dependa só de:

boas intenções.

Use:

  • limits;

  • audit;

  • approvals;

  • segregation of duties.

Mas proporcionalmente.

Need for Control continua espreitando.


🧠 Moral Hazard + Need for Control

Descobrimos incentivos ruins.

Resposta:

40 approvals.

Cuidado.

A solução ideal é:

alinhar incentivos e usar guardrails fortes onde necessário.

Não burocracia infinita.


🧠 Incentive alignment > paperwork

Se fornecedor ganha mais quando:

qualidade melhora,

melhor.

Se só adicionarmos:

relatórios,

talvez não mude comportamento.


🎯 Pergunta Bellacosa nº 5

“O comportamento arriscado é racional dentro dos incentivos que nós mesmos criamos?”

Fantástica.

Se sim:

não adianta palestra.

Mude sistema.


🧠 “Treinamento” como solução preguiçosa

Equipe sempre pula etapa porque:

prazo impossível.

Empresa:

“Treinamento de compliance.”

Nada muda.

Porque incentivo continua.

Moral Hazard não é resolvido por PowerPoint.


☕ Incentivo vence cartaz motivacional por nocaute técnico

Quase sempre.


🧠 Mechanism Design

Termo econômico mais avançado:

projetar regras e incentivos para induzir resultados desejáveis.

Em TI:

se você quer:

qualidade,

inclua qualidade no sucesso.

Se quer:

operabilidade,

faça equipe participar do run.

Se quer:

custo eficiente,

mostre custo.


🧠 Error Budgets

SRE outra vez.

Equipe pode inovar.

Mas se reliability cai:

budget acaba.

Agora quem gera risco também encontra limite.

Excelente alinhamento.


☕ Você pode gastar risco

Mas a conta aparece.

Isso é bonito.


🧠 Chargeback / Showback

Uso de recurso fica visível.

Não necessariamente para punir.

Mas para internalizar:

consequência.


🧠 On-call ownership

Mesmo princípio.

Construiu?

Receba feedback.

Isso muda decisões de design.


🧠 Shared KPIs

Dev + Ops:

mesmo SLO.

Agora:

não existe benefício de entregar feature derrubando reliability.

Objetivo compartilhado reduz conflito.


☕ DevOps no sentido profundo

Não é só:

pipeline.

É:

reduzir fronteiras onde um time captura benefício e outro absorve consequência.

Isso encaixa perfeitamente com Moral Hazard.


🧠 Silo incentives

Dev:

delivery.

Ops:

stability.

Security:

zero findings.

Business:

revenue.

Cada silo pode otimizar localmente.

Service-level objectives ajudam criar:

visão comum.


🧠 Moral Hazard e Zero-Risk Bias

Curioso.

Security pode exigir:

zero risco

porque custo da fricção cai no Dev.

Dev pode exigir:

velocidade

porque custo do incidente cai no Ops.

Cada time otimiza:

o que recebe benefício.

Sistema inteiro sofre.


☕ Todo departamento consegue produzir uma solução perfeita

Para o próprio dashboard.


🧠 End-to-End Governance

Pergunte:

como decisão afeta:

cliente;

infra;

security;

support;

finance.

Multi-perspective review.


📋 Checklist anti-Moral Hazard

[ ] Quem toma a decisão?

[ ] Quem recebe o benefício se der certo?

[ ] Quem paga o custo se der errado?

[ ] Esses grupos são os mesmos?

[ ] O executor está assumindo risco decidido por outra pessoa?

[ ] O risk owner está explícito?

[ ] Existe incentivo para aumentar risco?

[ ] O contrato recompensa qualidade, não apenas volume?

[ ] O projeto continua responsável após Go-Live?

[ ] O custo operacional entra na decisão?

[ ] O serviço possui owner end-to-end?

[ ] Existe shared KPI entre Dev, Ops e negócio?

[ ] Estamos usando seguro, SLA ou rollback como licença para assumir risco?

[ ] O humano realmente decide ou só assina?

[ ] Há externalidades para outros times?

🧪 Como combater Moral Hazard — passo a passo

Passo 1 — Mapeie benefício e consequência

Quem ganha?

Quem perde?


Passo 2 — Identifique o risk owner

Nome explícito.


Passo 3 — Aproxime decisão e operação

Hypercare.

On-call.


Passo 4 — Ajuste métricas

Não recompense só velocidade.


Passo 5 — Mostre custos ocultos

Incident hours.

Capacity.

Support.


Passo 6 — Crie shared KPIs

Reliability + delivery.


Passo 7 — Use guardrails técnicos

Least privilege.

Canary.


Passo 8 — Melhore contratos

Alinhe qualidade e resultado.


Passo 9 — Faça post-implementation review

Não encerre projeto no deploy.


Passo 10 — Revise incentivos após incidentes

Pergunte:

o comportamento era previsível dadas as regras?


🧠 O teste do contador de consequências

Uma técnica Bellacosa.

Antes da decisão:

IF SUCCESS:
Who benefits?

IF FAILURE:
Who works overnight?

Who loses money?

Who gets blamed?

Who pays?

Se respostas forem completamente diferentes:

investigue Moral Hazard.


☕ O teste das 03:00

Pergunta simples:

“Quem estará acordado às três da manhã se isso der errado?”

Depois:

“Essa pessoa participou da decisão?”

Se não:

há algo para revisar.


🧠 Moral Hazard e incident ownership

Mudança pedida por:

Business.

Aprovada por:

Project.

Executada por:

Ops.

Falha.

Todos precisam:

participar do post-mortem.

Não apenas Ops.


🧠 Postmortem attendance as feedback

Quem toma risco deveria ver:

consequência.

Isso ajusta modelo mental.


☕ Uma hora de RCA pode economizar muita confiança gratuita

Especialmente depois de sucesso fácil.


🧠 Moral Hazard e Near Misses

Se consequências negativas não materializam:

incentivos ruins podem permanecer invisíveis.

Near miss é oportunidade.

Pergunte:

quem teria pago?

Antes que aconteça.


🧠 Pre-mortem

Imagine falha.

Quem sofre?

Agora externalidades aparecem.

Muito útil.


🎯 Pergunta Bellacosa nº 6

“Se essa decisão desse errado amanhã, alguém que está aprovando hoje mudaria de opinião se tivesse que suportar pessoalmente o custo operacional?”

Excelente teste.


🧠 Moral Hazard na IA generativa

Programador gera código.

Se quebrar:

reviewer pega.

Então pode revisar menos o próprio output.

Copilot aumenta produtividade.

Mas talvez também:

externalize validation.

Reviewer vira filtro.

Moral Hazard micro.


☕ “O code review pega”

Frase perigosa.

Reviewer é barreira.

Não substituto para responsabilidade autoral.


🧠 CI/CD

Testes automáticos pegam.

Então:

menos teste local.

Talvez racional.

Mas se pipeline fica caro e falha mais:

o custo foi transferido.

Observe.


🧠 Quality at Source

Lean gosta de ideia:

qualidade onde trabalho ocorre.

Não empurre defeito para:

QA.

QA não deveria ser:

departamento de encontrar aquilo que Dev decidiu não verificar.


☕ QA não é lavanderia de bug

A camiseta está quase pronta.


🧠 Moral Hazard e handoffs

Toda fronteira organizacional pode:

externalizar custo.

Dev → QA.

QA → Ops.

Ops → Support.

Support → Customer.

Quanto mais handoffs:

mais risco de:

“problema do próximo.”


🧠 Flow Ownership

Mapeie cadeia.

Defeito gerado aqui.

Descoberto ali.

Quanto custa?

Shift-left tenta aproximar detecção da origem.

Além de técnica:

é alinhamento de incentivo.


🧠 Cost of Late Defect

Bug encontrado:

na IDE:

barato.

em teste:

mais caro.

em produção:

caríssimo.

Se criador não vê custo tardio:

Moral Hazard.

Feedback rápido ajuda.


☕ Compilador é um ótimo cobrador instantâneo

Erro na linha.

Pagamento imediato.

Por isso aprendemos.


🧠 COBOL e return codes

Programa devolve:

RC.

Chamador precisa:

tratar.

Não empurre erro silenciosamente.

Um RC=00 falso é quase:

Moral Hazard codificado.

Você captura benefício:

“job verde.”

Próximo step recebe:

dados errados.


💻 Exemplo

Ruim:

IF FILE-STATUS NOT = '00'
   DISPLAY 'ERRO'
   MOVE 0 TO RETURN-CODE
END-IF

Operação vê:

sucesso.

Erro vai adiante.

Melhor:

IF FILE-STATUS NOT = '00'
   DISPLAY 'ERRO'
   MOVE 12 TO RETURN-CODE
END-IF

Agora consequência volta para:

quem precisa decidir.


🧠 Greenwashing operacional

Job verde.

Negócio vermelho.

Se time é medido por:

RC=00,

pode haver incentivo para:

suprimir falhas.

Não faça.


$HASP395 ... CC 0000

Não é absolvição espiritual.

Dados precisam estar corretos.


🧠 Error Handling and accountability

Erro precisa chegar:

ao lugar correto.

Não ser:

absorvido silenciosamente

para manter dashboard bonito.


🧠 Moral Hazard + Normalization of Deviance

Equipe empurra problema downstream.

Funciona.

Repete.

Outro time corrige manualmente.

Agora workaround vira serviço invisível.

Origem não sente custo.

Perfeito Moral Hazard.


☕ Maria corrige toda manhã

Enquanto sistema oficial acredita:

“processamento automático.”

Maria é arquitetura.

Mas não aparece no diagrama.


🧠 Manual Reconciliation

Se downstream sempre conserta:

upstream pode relaxar.

Então contabilize:

rework.

Mostre para origem.


📊 Rework Metrics

SOURCE SYSTEM A:
Errors generated: 400/month
Manual correction: 70h

Agora custo deixa de ser invisível.


🧠 Moral Hazard e observabilidade organizacional

Não basta monitorar CPU.

Monitore:

externalized work.

Incidents created by change.

Support tickets.

Rework.

Isso revela incentivos ruins.


🧠 Blame is not incentive alignment

Você pode culpar time.

Nada muda.

Se métrica e orçamento continuam iguais:

comportamento racional persiste.

Mude estrutura.


☕ Se sistema recompensa errado

não espere comportamento certo por patriotismo corporativo.


🧠 Leadership lesson

Uma boa pergunta de liderança:

“Que comportamento nosso sistema de metas está incentivando?”

Não:

“Por que as pessoas fazem isso?”

Isso conecta:

Moral Hazard;

Fundamental Attribution Error;

Actor-Observer Bias.


🧠 People respond to systems

Não deterministicamente.

Mas incentivos importam.

A melhor cultura não depende de:

santos.

Depende de:

regras razoáveis.


🧠 Ethics matters too

Claro.

Moral Hazard não elimina ética individual.

Uma pessoa pode agir corretamente mesmo com incentivo ruim.

Mas engenharia organizacional não deve depender:

exclusivamente

de heroísmo moral.


☕ Sistemas críticos gostam de pessoas boas

Mas preferem pessoas boas com bons controles.


🧠 Moral Hazard e Resilience

Resiliência pode paradoxalmente criar Moral Hazard.

Se Ops sempre salva:

projetos começam a confiar:

“Ops dá jeito.”

O heroísmo operacional vira seguro gratuito.

Perigoso.


🧠 Hero Culture

Operações salva.

Recebe aplauso.

Mas sistema nunca melhora.

Por quê?

Porque capacidade heroica absorve custo.

Deixe custo ficar visível.


☕ O sysprog que salva tudo

Pode estar involuntariamente subsidiando processo ruim.

Essa dói.


🧠 Remove hidden subsidies

Não pare de ajudar.

Mas registre:

quantas intervenções.

Quanto esforço.

Mostre.

Agora investimento em prevenção ganha business case.


🧠 Moral Hazard e staffing

Equipe pequena absorve tudo.

Outros times assumem:

“eles resolvem.”

Até turnover.

Agora risco explode.

Bus Factor.


🧠 Skills as Shared Risk

Se só uma pessoa sabe:

custo da dependência deve aparecer.

Não deixe:

“tem fulano”

virar mitigação permanente.


☕ “Fala com João”

Não é arquitetura HA.


🧠 Moral Hazard e decision rights

Quem possui direito de decisão deve possuir:

accountability proporcional.

Se não:

risco desalinhado.


🧠 RAPID / DACI

Frameworks de decisão podem ajudar.

Não precisamos decorar siglas.

Princípio:

quem decide precisa estar claro.

E:

quem aceita risco precisa estar claro.


🧠 Stop-the-Line Authority

Qualquer pessoa detecta risco crítico:

pode parar.

Isso reduz Moral Hazard hierárquico.

Porque executor não precisa aceitar risco imposto sem voz.


☕ Toyota encontra TARDIS

Puxou Andon.

Parou linha.

Doctor aprovaria.


🧠 Psychological Safety again

Se júnior diz:

“isso é arriscado”

e é ignorado,

risk owner precisa estar explícito.

Caso contrário:

decisão vira:

“todo mundo concordou.”

Groupthink.


📋 Bellacosa Moral Hazard Decision Card

DECISION:
________________________

UPSIDE:
________________________

WHO RECEIVES UPSIDE?
________________________

DOWNSIDE:
________________________

WHO BEARS DOWNSIDE?
________________________

RISK OWNER:
________________________

EXECUTOR:
________________________

ROLLBACK OWNER:
________________________

Simples.

Poderoso.


🧠 Accountability Triangle

Podemos imaginar:

DECISION
   /\
  /  \
BENEFIT — CONSEQUENCE

Quanto mais afastados:

mais Moral Hazard possível.


🧠 Alinhe o triângulo

Quem decide:

entende benefício.

Entende consequência.

Participa da revisão.

Isso melhora decisões.


☕ Decisão sem consequência é teoria

Consequência sem poder de decisão é ressentimento.

Excelente.


🧠 Governance madura

Boa governança tenta evitar:

dois extremos.

Extremo 1

Ninguém pode decidir.

Need for Control.

Extremo 2

Quem decide nunca paga consequência.

Moral Hazard.

O equilíbrio:

autonomia com accountability.


🧠 Guardrails + Ownership

Permita:

decidir dentro de limites.

Mas resultado:

continua pertencendo ao serviço.

Essa talvez seja uma das melhores formas.


🧠 Product Teams

Equipes end-to-end reduzem:

handoffs.

Externalidades.

Não eliminam.

Mas diminuem fronteira Dev/Ops.


☕ “Não é meu problema”

Quanto menos vezes essa frase cabe na arquitetura:

melhor.


🧠 Moral Hazard + Zero-Risk Bias + Risk Compensation

Nosso trio recente:

Zero-Risk Bias

“Quero eliminar risco.”

Risk Compensation

“Agora estou protegido, posso arriscar mais.”

Moral Hazard

“E parte do custo nem será meu.”

Agora imagine:

rollback;

seguro;

SLA;

Ops heroico.

Pode surgir:

overconfidence institucional.


🧠 Illusion of Control entra novamente

“Se falhar, temos mecanismos.”

Talvez.

Mas:

quem paga cada falha?

E:

quantas falhas estamos dispostos a gerar?


🧠 Risk Budget com Owner

Erro budget é útil porque:

permite risco.

Mas deixa:

limite visível.

Se time consome:

para.

Isso internaliza.


☕ O risco finalmente recebeu extrato bancário

Bonito.


🧠 Moral Hazard e regulatory bailout

Em finanças, Moral Hazard é frequentemente discutido quando instituições acreditam que poderão ser resgatadas se decisões arriscadas produzirem perdas sistêmicas.

A lógica:

se upside fica com a instituição

e downside extremo pode ser socializado,

incentivo pode mudar.

No mainframe corporativo:

escala menor.

Mas estrutura parecida:

benefício local, custo coletivo.


🧠 “Too Important to Fail”

Sistema crítico.

Todos sabem:

se falhar, organização inteira mobiliza.

Então projeto pode inconscientemente pensar:

“Alguém resolverá.”

Quanto mais crítico:

mais recursos de salvamento.

Paradoxalmente:

pode aumentar tolerância a risco.


☕ O sistema VIP

Sempre tem vinte especialistas disponíveis.

Então ninguém investe em automatizar recuperação.

Até um dia:

não estão.


🧠 Heroic Backstop

Especialista veterano vira:

seguro informal.

Novatos arriscam mais porque:

“se der ruim, chama ele.”

Risk Compensation + Moral Hazard.

Treinamento precisa:

usar mentor,

não depender dele como airbag humano.


🧠 Controlled Escalation

Escalar é certo.

Mas preserve:

responsabilidade por aprender.

Depois:

review.

Não apenas:

“o sênior resolveu.”


🎯 Pergunta Bellacosa nº 7

“Estamos tratando a competência de alguém como uma proteção gratuita que nos permite manter um processo ruim?”

Excelente.


🧠 Moral Hazard e root cause

RCA deveria perguntar:

“Que incentivos tornaram esta decisão razoável?”

Não apenas:

“quem errou?”

Se time sempre faz change grande porque:

só mudanças grandes recebem atenção executiva,

incentivo estranho.


🧠 Organizational Economics

Todo processo tem:

economia.

Tempo.

Status.

Bônus.

Fricção.

Pessoas respondem.

Mainframe não existe fora da organização.


☕ O JCL roda em z/OS

Mas a decisão de rodá-lo roda em seres humanos.


🧠 Step-by-step anti-Moral Hazard em uma War Room

Antes da mudança

Defina:

owner.

Risco.

Conseqüência.

Durante

Executor pode parar.

Depois

Owner participa do resultado.

Após incidente

Revise incentivos.

Simples.


🧪 Exemplo completo

Mudança:

DB2 schema.

Benefício:

projeto entrega.

Risco:

rollback difícil.

Decisão anterior:

projeto decide.

Ops executa.

Melhoria:

DECISION OWNER:
Application Service Owner

RISK ACCEPTANCE:
Business

EXECUTION:
DBA

HYPERCARE:
Dev + DBA + Ops

SUCCESS KPI:
Business + Reliability

Agora:

benefício e consequence closer.


🧠 Moral Hazard não desaparece

Nenhum desenho alinha tudo perfeitamente.

Mas podemos:

reduzir.

Dar visibilidade.

Criar accountability.


☕ Zero Moral Hazard

Cuidado.

Zero-Risk Bias está ouvindo.


🧠 Curiosidade: o termo

A expressão “moral hazard” vem de longa tradição em seguros e economia.

Historicamente, havia preocupação de que proteção contra perdas pudesse alterar comportamento.

Com o tempo, o conceito se tornou central em:

economia da informação;

contratos;

finanças.

Hoje é útil para pensar qualquer situação onde:

a exposição à consequência muda os incentivos de quem toma risco.

Inclusive nossa querida War Room.


🧠 Information Asymmetry

Outro ingrediente:

quem toma decisão pode saber mais sobre:

risco

do que quem paga.

Exemplo:

fornecedor conhece limitação.

Cliente não.

Se contrato não exige transparência:

Moral Hazard aumenta.


☕ O famoso:

“Isso nunca aconteceu.”

Pergunta:

“Nos testes de vocês?”

Informação importa.


🧠 Observability between organizations

SLA sem telemetria compartilhada:

disputa.

Fornecedor:

“não foi conosco.”

Cliente:

“foi.”

Shared metrics ajudam.


🧠 Moral Hazard e black boxes

Quanto menos visível processo do fornecedor:

mais difícil alinhar.

Contratos precisam:

auditability.

Mas sem virar Need for Control infinito.


🧠 Trust but verify

De novo:

confiança.

Auditabilidade.

Incentivos.

Três elementos.


📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Moral Hazard ocorre quando quem assume um risco não suporta integralmente suas consequências.

Não significa necessariamente falta de ética; frequentemente é um problema de desenho de incentivos.

Risk Compensation fala da mudança de comportamento quando percebemos mais proteção; Moral Hazard acrescenta a questão de quem paga o downside.

Benefício local e custo coletivo são um sinal clássico.

SLAs, seguros, rollback, fornecedores e times de suporte não eliminam risco; podem transferir parte da consequência.

Outsourcing de execução não é outsourcing automático de accountability.

Projetos deveriam continuar ligados ao resultado após o Go-Live.

Shared KPIs entre Dev, Ops e negócio ajudam a reduzir externalização de custos.

On-call, hypercare, showback e post-implementation reviews aproximam decisão e consequência.

HITL pode virar teatro de responsabilidade se o humano não tiver tempo, informação ou poder real para decidir.

Accountability não é culpa.

E principalmente:

se quem decide recebe a recompensa e quem executa, suporta ou corrige recebe a maior parte do prejuízo, não espere que palestras sobre responsabilidade consertem o problema — mude os incentivos.


🕰️ De volta às 08:37

O gerente ainda quer:

Big Bang.

Nosso jovem pergunta:

— Se fizermos, quem fica no hypercare?

— Operações.

— Só?

— Bem...

— Quem definiu o escopo?

— Projeto.

— Então projeto fica também?

Silêncio.

O Doctor olha para o gerente.

— É uma excelente pergunta.

O gerente pensa.

— Tudo bem. Projeto fica.

— E quem aprova risco?

— Business owner.

— E rollback?

— DBA e aplicação juntos.

— Agora podemos fazer Big Bang?

Nosso jovem responde:

— Agora podemos discutir Big Bang com as pessoas que realmente carregarão o resultado.

Isso muda a conversa.


🔧 A decisão muda

Depois de revisar:

impacto;

rollback;

staffing,

decidem:

não fazer Big Bang.

Dividem:

3 waves.

Canary.

Hypercare conjunto.

Por quê?

Curiosamente:

quando as pessoas que capturavam o benefício também começaram a enxergar e carregar o custo...

o apetite por risco mudou.

Não precisou sermão.

Só:

incentivo alinhado.


🥚 Easter Egg final

Na manhã seguinte aparece:

BELLACOSA.BIAS(MORAL-HAZARD)

Dentro:

       IF DECISION-OWNER NOT = RISK-OWNER
           PERFORM CHECK-INCENTIVES
       END-IF.

       IF BENEFIT-GOES-LOCAL
          AND COST-GOES-GLOBAL
           PERFORM ALIGN-ACCOUNTABILITY
       END-IF.

       IF SOMEONE-SAYS
          'OPS-WILL-FIX-IT'
           PERFORM INVITE-THEM-TO-HYPERCARE
       END-IF.

Comentário:

* MY UPSIDE.
* YOUR DOWNSIDE.
* BAD DESIGN.

Outro:

* OUTSOURCING
* DOES NOT DELETE
* ACCOUNTABILITY.

Outro:

* SLA CREDIT
* DOES NOT RESTORE
* LOST TIME.

Mais um:

* WHO DECIDES?
* WHO PAYS?

E naturalmente:

* DALEKS PREFER
* OTHER SPECIES
* TO PAY THE DOWNSIDE.

Nosso jovem fecha o membro.

Horas depois alguém propõe:

— Podemos cortar os testes finais. Se der problema, QA pega.

Ele responde:

— Talvez QA pegue.

— Então?

— Quem ganha o prazo economizado?

— Nós.

— E quem recebe o retrabalho?

Silêncio.

— QA.

— Então antes de cortar...

Pausa.

— vamos descobrir se estamos realmente removendo trabalho ou apenas mandando nossa conta para o próximo time.

A mudança continua.

Os testes também.

Mais tarde, outra automação permite remover parte deles com segurança.

Desta vez:

dados justificam.

Não terceirização silenciosa de risco.

VWORP.

VWORP.

VWORP.

A TARDIS desaparece.

No quadro da War Room fica uma última frase:

Uma organização aprende de verdade quando quem escolhe o risco não consegue simplesmente despachar a consequência para outra fila.

E talvez Moral Hazard possa ser resumido em uma pergunta muito simples:

“Se você tivesse que pagar integralmente a conta dessa decisão, ainda escolheria a mesma coisa?”

Se a resposta mudar...

há algo importante escondido no desenho do sistema.

☕🌀

Next stop: Principal-Agent Problem — quando quem toma uma decisão em nome da organização possui objetivos, informações e incentivos diferentes daqueles de quem realmente depende do resultado.


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