☕ 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

terça-feira, 28 de setembro de 2021

🔥 JCL no z/OS V2R5 — o imortal que virou pilar do futuro

 

Bellacosa Mainframe apresenta JCL V2R5 Job Control Language

🔥 JCL no z/OS V2R5 — o imortal que virou pilar do futuro



📅 Datas importantes

  • Release (GA): setembro de 2021

  • Final de suporte IBM (EoS): 30 de setembro de 2027

O z/OS V2R5 não “atualizou” o JCL.
Ele assumiu oficialmente que o JCL faz parte do futuro do mainframe.


🧬 Contexto histórico

Quando o z/OS V2R5 chegou, o mundo já estava diferente:

  • Cloud híbrida consolidada

  • DevOps institucionalizado

  • APIs como padrão

  • Observabilidade, automação, SRE

  • Mainframe 100% integrado ao ecossistema corporativo

E no centro de tudo isso…

👉 o JCL seguia intocável, sólido, previsível.

Bellacosa diria sem rodeios:

“O futuro chegou. E o JCL já estava lá esperando.”


JCL V2R5 Job Control Language


✨ O que há de novo no JCL no V2R5 (sem quebrar nada)

Aqui está a genialidade do V2R5:
nenhuma ruptura, só consolidação.

🆕 1. JCL como contrato operacional definitivo

No V2R5:

  • JCL é acionado por:

    • APIs REST

    • eventos

    • pipelines CI/CD

    • schedulers corporativos

  • JCL vira interface estável entre o mundo moderno e o core bancário

👉 O job é o endpoint invisível.


🆕 2. JES2 e DFSMS no auge da maturidade

  • Spool altamente escalável

  • Restart/recovery extremamente previsíveis

  • Storage totalmente orientado a políticas

  • Menos parâmetros “hardcoded” no JCL

O sistema sabe mais.
O JCL fica mais limpo.


🆕 3. Batch como serviço

No V2R5, o batch deixa de ser:
❌ “processo noturno”

E passa a ser:
serviço corporativo sob demanda

Chamado quando:

  • um evento ocorre

  • uma API é acionada

  • um fechamento precisa acontecer


🔧 Melhorias percebidas no chão de fábrica

✔ Jobs mais rápidos e previsíveis
✔ Menos intervenção humana
✔ Menos tuning manual
✔ JCL tratado como código crítico
✔ Auditoria e rastreabilidade melhores

Nada mudou no //STEP01 EXEC.
Tudo mudou no papel do JCL.


🥚 Easter Eggs (para mainframer raiz)

  • 🥚 JCL escrito no OS/360 ainda roda no V2R5

  • 🥚 IEFBR14 continua sendo usado (e continuará)

  • 🥚 Comentários no JCL mais antigos que containers 😅

  • 🥚 O erro clássico permanece:

    • RC ignorado

    • DISP mal planejado

    • dataset em uso

👉 Tecnologia muda. Erro humano não.


💡 Dicas Bellacosa para JCL no z/OS V2R5

🔹 Trate JCL como infraestrutura crítica
🔹 Versione JCL como código
🔹 Padronize nomes, comentários e RC
🔹 Use sempre:

  • IF / THEN / ELSE

  • mensagens claras

  • logs bem definidos

🔹 Lembre-se:

Esse JCL vai sobreviver a arquiteturas, gestores e modas.


📈 Evolução do JCL até o V2R5

EraPapel do JCL
OS/360Controle batch
MVSAutomação
OS/390Base corporativa
z/OS V1.xOrquestrador
z/OS V2R2–V2R4Mundo híbrido
z/OS V2R5Pilar do futuro

👉 No V2R5, o JCL deixa de ser “legacy” e vira fundação estratégica.


📜 Exemplo de JCL “cara de V2R5”

//BELLV25 JOB (ACCT),'JCL z/OS V2R5', // CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //* JOB PODE SER DISPARADO POR API, PIPELINE OU SCHEDULER //* //STEP01 EXEC PGM=COREPROC //STEPLIB DD DSN=BELLACOSA.LOADLIB,DISP=SHR //SYSOUT DD SYSOUT=* //* //IF (STEP01.RC = 0) THEN //STEP02 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE BELLACOSA.WORK.TEMP SET MAXCC = 0 /* //ENDIF

💬 Comentário Bellacosa:

“Esse job não sabe se foi chamado por um operador
ou por uma API em Kubernetes.
E nem precisa saber.”


🧠 Comentário final

O JCL no z/OS V2R5 é a prova definitiva de que:

  • estabilidade vence hype

  • previsibilidade vence moda

  • legado bem feito vira futuro

Enquanto outras plataformas tentam “reinventar” automação,
o JCL segue fazendo o que sempre fez:

🔥 entregar, fechar, garantir e não falhar.

JCL não é passado.
JCL é confiança acumulada ao longo de décadas.

segunda-feira, 27 de setembro de 2021

☕⚙️💣 O PROGRAMADOR QUE CRIOU ROBÔS NO TEMPO DOS SAMURAIS — TANAKA HISASHIGE E O MAINFRAME MECÂNICO QUE ANTECEDEU A TOSHIBA

 

Bellacosa Mainframe o samurai dos robots Tanaka Hisashige

☕⚙️💣 O PROGRAMADOR QUE CRIOU ROBÔS NO TEMPO DOS SAMURAIS — TANAKA HISASHIGE E O MAINFRAME MECÂNICO QUE ANTECEDEU A TOSHIBA

Existe uma curiosidade fascinante na história da tecnologia que poucos profissionais de TI conhecem.

Quando pensamos nos grandes nomes da engenharia, normalmente lembramos de Alan Turing, Thomas Edison, Nikola Tesla, Grace Hopper ou dos pioneiros da IBM. Mas existe um personagem extraordinário que viveu no Japão do século XIX e que, sob a ótica de um profissional de mainframe, parece ter vindo diretamente do futuro.

Seu nome era Tanaka Hisashige.

E se você observar atentamente sua trajetória, perceberá algo impressionante:

Tanaka estava criando sistemas automatizados quando o mundo sequer imaginava a existência de computadores.

Para entender sua importância, precisamos voltar ao Japão do início do século XIX.

Naquela época, o país ainda vivia sob o xogunato Tokugawa. Os samurais dominavam a sociedade, a industrialização praticamente não existia e boa parte do conhecimento tecnológico europeu demorava anos para chegar ao arquipélago.

Foi nesse ambiente que nasceu Tanaka Hisashige, em 1799.

Desde criança, ele demonstrava uma curiosidade quase obsessiva por mecanismos.

Enquanto outras pessoas observavam um relógio para saber as horas, Tanaka queria desmontá-lo para entender como funcionava.

Enquanto outras pessoas admiravam uma máquina, ele queria descobrir como construí-la.

Esse comportamento é familiar para qualquer programador experiente.

Afinal, quantos profissionais de TI começaram suas carreiras desmontando equipamentos apenas para descobrir o que existia dentro deles?

Ainda jovem, Tanaka tornou-se conhecido pela criação dos famosos Karakuri Ningyō.

Os Karakuri eram autômatos mecânicos extremamente sofisticados para a época.

Imagine um robô.

Agora remova a eletricidade.

Remova os motores.

Remova os circuitos.

Remova os microprocessadores.

O que sobra?

Engrenagens, molas, pesos e mecanismos cuidadosamente projetados.

Foi exatamente isso que Tanaka utilizou para construir máquinas capazes de realizar tarefas aparentemente inteligentes.

Seu autômato mais famoso servia chá aos convidados.

O boneco caminhava sozinho, transportava a bandeja, aguardava que a xícara fosse retirada e retornava ao ponto inicial quando o convidado terminava de beber.

Para um observador moderno, isso parece uma simples curiosidade histórica.

Para um profissional de automação, porém, a interpretação é diferente.

Aquilo era um workflow.

Um processo automatizado.

Uma rotina programada.

Um job batch mecânico executando instruções pré-definidas.

Em outras palavras, Tanaka estava criando automação muito antes da palavra automação existir.

Mas o verdadeiro salto tecnológico viria anos depois.

Entre suas criações mais impressionantes está o lendário Man-nen Dokei, conhecido internacionalmente como o Myriad Year Clock.

Talvez este seja o equipamento que mais desperte admiração entre engenheiros modernos.

À primeira vista, parece apenas um relógio ornamentado.

Na prática, era um sistema mecânico de extrema complexidade.

O equipamento era capaz de controlar simultaneamente diversos calendários, indicar fases da Lua, acompanhar ciclos astronômicos e adaptar-se ao peculiar sistema japonês de medição do tempo utilizado na época.

Tudo isso sem eletrônica.

Sem software.

Sem firmware.

Sem banco de dados.

Sem energia elétrica.

Quando observamos seus mecanismos internos, a sensação é semelhante à de analisar um programa COBOL escrito por um desenvolvedor brilhante.

Cada componente possui uma função específica.

Cada engrenagem depende de outra.

Cada movimento desencadeia uma cadeia de eventos cuidadosamente planejada.

Nada é aleatório.

Nada é supérfluo.

Tudo foi projetado para funcionar durante anos com extrema confiabilidade.

Se existisse uma certificação de alta disponibilidade no século XIX, aquele relógio certamente teria sido aprovado.

Com a abertura gradual do Japão ao Ocidente, uma nova oportunidade surgiu.

Tecnologias europeias começaram a chegar ao país.

Máquinas a vapor, telégrafos e equipamentos industriais despertavam a curiosidade dos engenheiros japoneses.

Enquanto muitos observavam aquelas inovações com cautela, Tanaka fazia aquilo que todo grande especialista em tecnologia faz diante de uma novidade.

Ele estudava.

Desmontava mentalmente.

Entendia os conceitos.

E construía sua própria versão.

Em pouco tempo estava envolvido na fabricação de motores, equipamentos industriais e sistemas telegráficos.

É importante compreender o tamanho desse feito.

Hoje qualquer profissional pode assistir a vídeos, participar de cursos online ou consultar documentação técnica instantaneamente.

Tanaka não possuía nada disso.

Muitas vezes precisava interpretar informações incompletas, realizar engenharia reversa e desenvolver soluções praticamente do zero.

Era como receber apenas o dump de um ABEND e reconstruir sozinho toda a aplicação.

Seu talento chamou a atenção do governo japonês durante a Restauração Meiji.

O país precisava modernizar sua infraestrutura rapidamente.

Ferrovias, telecomunicações e sistemas industriais tornaram-se prioridades nacionais.

Tanaka foi convocado para participar dessa transformação.

Em 1875 fundou a Tanaka Seisakusho.

O objetivo inicial era fabricar equipamentos telegráficos para apoiar a expansão das comunicações japonesas.

Parece algo simples.

Mas, sob uma perspectiva histórica, foi um marco gigantesco.

Estamos falando da origem de uma empresa que, décadas depois, evoluiria para uma das maiores corporações tecnológicas do planeta.

O nome moderno dessa organização é conhecido por praticamente qualquer profissional de tecnologia:

Toshiba.

Sim.

A gigantesca Toshiba surgiu das iniciativas de um inventor que começou construindo autômatos mecânicos durante a era dos samurais.

Existe uma lição extremamente valiosa nessa história.

Quando analisamos as realizações de Tanaka Hisashige, percebemos que sua verdadeira genialidade não estava apenas nas máquinas.

Estava na forma de pensar.

Ele observava sistemas.

Identificava processos.

Compreendia dependências.

Criava mecanismos confiáveis.

Automatizava atividades repetitivas.

Reduzia intervenção humana.

Aumentava eficiência.

Em essência, ele aplicava exatamente os mesmos princípios utilizados atualmente por arquitetos de software, especialistas DevOps, engenheiros de automação e profissionais de mainframe.

As tecnologias mudaram.

As ferramentas mudaram.

As linguagens mudaram.

Mas a lógica fundamental continua a mesma.

Resolver problemas por meio de sistemas confiáveis.

Talvez seja por isso que sua história continue tão relevante mais de duzentos anos depois.

Tanaka Hisashige nos lembra que inovação não depende apenas de ferramentas modernas.

Não depende de inteligência artificial.

Não depende de nuvem.

Não depende de processadores avançados.

A verdadeira inovação nasce da curiosidade.

Nasce da observação.

Nasce da vontade de compreender como as coisas funcionam.

E principalmente da coragem de construir algo que ainda não existe.

Por isso, quando alguém afirmar que automação começou com computadores, vale lembrar da figura daquele engenheiro japonês cercado por engrenagens, molas e mecanismos de precisão.

Enquanto o resto do mundo ainda tentava compreender as máquinas do presente, Tanaka Hisashige já estava projetando o futuro.

Ou, como diríamos no Bellacosa Mainframe:

"Quando os outros ainda estavam procurando o manual de operação, Tanaka já tinha colocado o sistema em produção."

☕ Lição Bellacosa Mainframe: Todo grande sistema nasce da mesma pergunta que guiou Tanaka há mais de 200 anos: "Como posso fazer isso funcionar sozinho, de forma confiável e por muito tempo?" A resposta para essa pergunta continua movendo desde autômatos mecânicos até os maiores mainframes do planeta.

domingo, 26 de setembro de 2021

Why-Why Analysis sem Mistérios : O Guia do Programador COBOL Padawan para Encontrar a Causa Raiz antes que o ABEND Ataque Novamente

 

Bellacosa Mainframe e tecnica do why-why analysis

☕ Um Café no Bellacosa Mainframe

Why-Why Analysis sem Mistérios

O Guia do Programador COBOL Padawan para Encontrar a Causa Raiz antes que o ABEND Ataque Novamente

Há uma cena que se repete diariamente nos corredores digitais de muitas empresas.

Um job termina com ABEND S0C7.

O operador abre o chamado.

O programador examina o SYSOUT.

Encontra um campo numérico contendo caracteres inválidos.

Corrige o registro, reinicia o processamento e anuncia:

“Problema resolvido.”

A ponte de comando comemora. O batch volta a navegar. O SLA é preservado. O café continua quente.

Três dias depois, o mesmo erro acontece novamente.

Outro registro inválido. Outro S0C7. Outro restart. Outro chamado. Outra madrugada perdida.

Nesse momento, o programador COBOL Padawan começa a perceber uma verdade desconfortável:

O erro foi corrigido, mas o problema não foi resolvido.

É justamente nesse ponto que entra a Why-Why Analysis, também conhecida como 5 Whys, Five Whys, Análise dos Cinco Porquês ou simplesmente Análise Por Quê–Por Quê.

Trata-se de uma técnica aparentemente simples: diante de um problema, perguntamos repetidamente “por quê?” até encontrar a causa fundamental que permitiu que aquele evento acontecesse.

Mas não se engane.

A técnica não consiste em repetir “por quê?” como uma criança curiosa até alguém perder a paciência. Ela é uma disciplina de investigação, pensamento lógico, observação, análise de evidências e melhoria contínua.

No universo Bellacosa Mainframe, podemos compará-la ao trabalho de um oficial científico da Frota Estelar: não basta saber que o sistema perdeu potência. É necessário descobrir qual componente falhou, por que falhou, que condição permitiu a falha e o que deve ser modificado para que a nave não fique à deriva novamente.

Prepare o café, ajuste o terminal 3270 e venha para a sala de diagnóstico. Nossa missão é viajar além do sintoma e alcançar a verdadeira causa raiz.


1. O que é a Why-Why Analysis?

A Why-Why Analysis é uma técnica de análise de causa raiz, ou Root Cause Analysis — RCA, utilizada para investigar problemas, falhas, defeitos, atrasos, interrupções e resultados indesejados.

Seu funcionamento básico pode ser representado assim:

Problema observado
       ↓
Por que aconteceu?
       ↓
Causa imediata
       ↓
Por que essa causa existia?
       ↓
Causa intermediária
       ↓
Por que o processo permitiu isso?
       ↓
Causa sistêmica
       ↓
Contramedida

O método parte do princípio de que aquilo que enxergamos inicialmente costuma ser apenas a manifestação visível de algo mais profundo.

Um ABEND é uma manifestação.

Uma transação lenta é uma manifestação.

Um arquivo não catalogado é uma manifestação.

Uma reclamação de cliente é uma manifestação.

Um job atrasado é uma manifestação.

Uma falha de deploy é uma manifestação.

A pergunta correta não é apenas:

“O que aconteceu?”

Também precisamos perguntar:

“Por que o sistema permitiu que isso acontecesse?”

Essa segunda pergunta nos leva do território dos sintomas para o território dos processos.


2. A origem da técnica na Toyota

A técnica dos Cinco Porquês está associada a Sakichi Toyoda, inventor, industrial japonês e fundador do grupo que daria origem à Toyota.

Posteriormente, a abordagem foi incorporada e popularizada no Toyota Production System, especialmente por nomes como Taiichi Ohno, um dos principais arquitetos do sistema de produção da empresa.

A lógica era poderosa: quando uma máquina parava, o objetivo não era apenas colocá-la novamente em funcionamento. Era necessário compreender por que ela havia parado e impedir que a mesma falha voltasse a ocorrer.

Taiichi Ohno defendia que, ao repetir a pergunta “por quê?” algumas vezes, a natureza do problema e sua solução poderiam se tornar mais claras.

A técnica passou a caminhar ao lado de conceitos como:

  • Kaizen;

  • Lean Manufacturing;

  • Just in Time;

  • Jidoka;

  • eliminação de desperdícios;

  • padronização;

  • melhoria contínua;

  • gestão visual;

  • qualidade na fonte.

Com o tempo, sua aplicação atravessou os portões das fábricas.

Hoje, a Why-Why Analysis pode ser aplicada em:

  • desenvolvimento de software;

  • operação de data centers;

  • mainframes;

  • DevOps;

  • segurança da informação;

  • atendimento ao cliente;

  • logística;

  • engenharia;

  • saúde;

  • projetos;

  • gestão da qualidade;

  • processos administrativos;

  • análise de incidentes.

O chão de fábrica tornou-se também o chão digital.

A máquina industrial pode ser um servidor.

A linha de produção pode ser um pipeline CI/CD.

O defeito em uma peça pode ser um bug em um programa COBOL.

A parada de produção pode ser uma indisponibilidade em CICS.

Os princípios permanecem os mesmos.


3. Por que são cinco porquês?

O nome “Cinco Porquês” pode causar uma interpretação equivocada: a ideia de que obrigatoriamente devemos fazer exatamente cinco perguntas.

Isso não é verdade.

Em alguns casos, três perguntas serão suficientes.

Em outros, poderemos precisar de seis, sete ou dez.

O número cinco funciona como uma referência prática. Em muitos problemas, aproximadamente cinco níveis de investigação conseguem atravessar as causas superficiais e alcançar um ponto em que uma ação sistêmica pode ser implementada.

Portanto, a regra correta é:

Pergunte “por quê?” quantas vezes forem necessárias para chegar a uma causa que possa ser controlada, corrigida e comprovada.

Não pare no quinto porquê apenas porque o formulário terminou.

Também não continue indefinidamente até chegar a respostas filosóficas como:

“Porque os seres humanos criaram computadores.”

A investigação precisa terminar em uma causa relevante para o processo analisado.


4. Sintoma, problema, causa e causa raiz

Um dos principais desafios da análise é separar quatro conceitos diferentes.

Sintoma

É a manifestação percebida.

Exemplos:

  • o job atrasou;

  • a transação ficou lenta;

  • o cliente reclamou;

  • o programa terminou com S0C7;

  • o arquivo não foi criado;

  • o pipeline falhou.

Problema

É a descrição objetiva do evento indesejado.

Exemplo:

O job FATUR001 terminou com S0C7 às 02h17, durante o processamento do arquivo CLIENTES.DIARIO, no registro 47.321.

Quanto mais precisa for a definição, melhor será a investigação.

Causa imediata

É aquilo que diretamente provocou o evento.

Exemplo:

Um campo definido como numérico continha o valor “12A45”.

Causa raiz

É a condição fundamental que permitiu que a causa imediata existisse.

Exemplo:

A aplicação não possui validação de dados na entrada, e o processo de integração permite que arquivos fora do layout cheguem ao programa de faturamento.

A diferença é gigantesca.

A causa imediata explica o erro.

A causa raiz explica a recorrência.


5. Contramedida não é o mesmo que correção

Em Lean, costuma-se usar a palavra contramedida.

A correção trata o problema presente.

A contramedida reduz ou elimina a possibilidade de repetição.

Considere este cenário:

Problema: programa terminou com S0C7.
Correção: alterar manualmente o registro inválido.
Contramedida: validar o arquivo antes do processamento e rejeitar registros incompatíveis com o layout.

A correção permite continuar.

A contramedida transforma o processo.

Outro exemplo:

Problema: job não encontrou a LOADLIB.
Correção: incluir a biblioteca manualmente na STEPLIB.
Contramedida: corrigir a PROC catalogada e estabelecer controle de versão para o JCL.

Reiniciar um serviço não é necessariamente uma contramedida.

Aumentar memória não é necessariamente uma contramedida.

Pedir para alguém “tomar mais cuidado” quase nunca é uma contramedida.

Uma boa contramedida atua sobre o processo, o sistema, o padrão, o treinamento, a automação ou os controles.


6. O passo a passo da Why-Why Analysis

Vamos montar uma sequência digna de um procedimento operacional da Frota Estelar.

Passo 1 — Defina o problema com precisão

Evite descrições vagas:

O sistema está ruim.
O batch está lento.
O CICS travou.
O usuário fez algo errado.

Prefira descrições mensuráveis:

O job PGTO010 aumentou seu tempo de execução de 35 minutos para 2 horas e 48 minutos após a mudança de 14 de julho.

Uma boa descrição deve responder:

  • o que aconteceu;

  • quando aconteceu;

  • onde aconteceu;

  • qual componente foi afetado;

  • qual era o comportamento esperado;

  • qual foi o comportamento observado;

  • qual foi o impacto.


Passo 2 — Vá ao Gemba digital

No Lean, Gemba significa o lugar real onde o trabalho acontece.

Em uma fábrica, é a linha de produção.

No mainframe, o Gemba pode ser:

  • SDSF;

  • JESMSGLG;

  • JESJCL;

  • JESYSMSG;

  • SYSLOG;

  • dump;

  • IPCS;

  • RMF;

  • SMF;

  • CICS trace;

  • Db2 accounting trace;

  • EXPLAIN;

  • log do pipeline;

  • histórico do scheduler;

  • mensagens de console;

  • spool do job.

Não investigue apenas por telefone.

Não aceite somente:

“Disseram que o sistema caiu.”

Vá até a evidência.

O mainframe possui uma memória operacional extraordinária. Muitos eventos deixam rastros em logs, mensagens, registros SMF, dumps e relatórios.

O programador que aprende a ler esses rastros deixa de ser apenas um codificador e começa a se tornar um investigador de sistemas.


Passo 3 — Pergunte o primeiro porquê

A resposta deve estar baseada em evidência.

Problema:

O job terminou com S0C7.

Por quê?

Porque uma instrução aritmética tentou processar um campo com conteúdo inválido.

Essa resposta deve ser sustentada por informações como:

  • offset da falha;

  • dump;

  • statement correspondente;

  • conteúdo do campo;

  • layout;

  • valores dos registradores;

  • mapa de compilação.


Passo 4 — Transforme a resposta na próxima pergunta

Agora pergunte:

Por que o campo continha conteúdo inválido?

Resposta:

Porque o arquivo de entrada trouxe caracteres alfabéticos em uma posição definida como numérica.

Próxima pergunta:

Por que o arquivo trouxe caracteres alfabéticos nessa posição?

Resposta:

Porque o sistema fornecedor alterou o layout sem atualizar o copybook utilizado pelo programa consumidor.

Próxima pergunta:

Por que a alteração de layout não atualizou o copybook?

Resposta:

Porque os dois sistemas não possuem um processo integrado de gestão e versionamento de contratos de dados.

Agora estamos muito além do S0C7.

Chegamos a uma falha de governança.


Passo 5 — Verifique a cadeia lógica

Cada resposta precisa explicar diretamente a pergunta anterior.

A cadeia deve fazer sentido de baixo para cima.

Podemos usar a chamada lógica do “portanto”:

Não existe gestão de versão do layout.
Portanto, o copybook do consumidor ficou desatualizado.
Portanto, o programa interpretou os dados incorretamente.
Portanto, um campo alfanumérico chegou a uma operação numérica.
Portanto, ocorreu S0C7.

Quando a cadeia é coerente nos dois sentidos, a análise ganha força.

Caso existam saltos lógicos, suposições ou generalizações, precisamos investigar mais.


Passo 6 — Identifique o ponto de prevenção

Uma boa causa raiz normalmente aponta para um ponto onde a recorrência pode ser evitada.

Pergunte:

O que podemos modificar para impedir que essa cadeia se repita?

Possíveis ações:

  • versionar copybooks;

  • validar arquivos;

  • criar testes de contrato;

  • automatizar comparação de layouts;

  • exigir aprovação formal para mudanças;

  • incluir verificação no pipeline;

  • gerar documentação compartilhada;

  • notificar sistemas consumidores.

A melhor solução pode combinar várias ações.


Passo 7 — Defina responsável, prazo e evidência de sucesso

Uma análise sem plano de ação vira decoração de reunião.

Toda contramedida precisa de:

  • responsável;

  • prazo;

  • prioridade;

  • critério de conclusão;

  • forma de validação;

  • acompanhamento.

Exemplo:

Ação: implementar validação automática do layout antes do processamento.
Responsável: equipe de integração.
Prazo: 30 dias.
Critério de sucesso: 100% dos arquivos incompatíveis rejeitados antes da execução do programa COBOL.
Monitoramento: relatório diário e alerta automático.

Passo 8 — Monitore a recorrência

Depois da mudança, acompanhe:

  • o problema voltou?

  • surgiu outro efeito?

  • o tempo de processamento melhorou?

  • a taxa de falhas caiu?

  • a equipe está seguindo o novo padrão?

  • a automação está funcionando?

  • a documentação foi atualizada?

A melhoria só é confirmada quando os resultados demonstram que a causa foi controlada.


7. Exemplo completo: ABEND S0C7 em COBOL

Vamos entrar em uma investigação completa.

Problema

O programa COBOL FATU120 terminou com ABEND S0C7 durante o processamento noturno.

Primeiro porquê

Por que ocorreu S0C7?

Porque o programa tentou somar um campo com conteúdo não numérico.

Segundo porquê

Por que o campo continha valor não numérico?

Porque o campo VALOR-PARCELA recebeu espaços e letras.

Terceiro porquê

Por que o programa recebeu espaços e letras em um campo esperado como numérico?

Porque o arquivo de entrada foi gerado com um layout diferente do copybook utilizado.

Quarto porquê

Por que o layout do arquivo estava diferente?

Porque o sistema de origem alterou o tamanho e o formato do campo sem comunicar formalmente os consumidores.

Quinto porquê

Por que não houve comunicação formal?

Porque não existe processo corporativo de controle de versão, aprovação e distribuição dos contratos de arquivos.

Causa raiz

Ausência de governança sobre layouts compartilhados.

Correção imediata

Corrigir o registro e reprocessar o job.

Contramedidas

  • criar repositório central de copybooks;

  • versionar layouts;

  • implementar testes de contrato;

  • validar comprimento e formato do arquivo;

  • estabelecer processo de aprovação;

  • incluir consumidores na revisão de mudanças;

  • adicionar tratamento de dados inválidos no COBOL.

Observe como a investigação saiu de uma instrução aritmética e terminou em governança de integração.

Essa é a força do método.


8. Exemplo: batch lento no Db2

Problema

O job de faturamento passou de 40 minutos para quatro horas.

Por quê 1

Porque uma consulta SQL passou a consumir muito mais tempo.

Por quê 2

Porque o Db2 escolheu um access path com table space scan.

Por quê 3

Porque as estatísticas das tabelas estavam desatualizadas.

Por quê 4

Porque a rotina de RUNSTATS não executou após uma grande carga de dados.

Por quê 5

Porque o processo de carga não possui dependência automática para atualização de estatísticas.

Causa raiz

O fluxo operacional não associa grandes cargas de dados à manutenção das estatísticas necessárias ao otimizador.

Contramedidas

  • executar RUNSTATS após cargas significativas;

  • revisar o REBIND;

  • monitorar mudanças de access path;

  • criar alertas de cardinalidade;

  • integrar manutenção ao scheduler;

  • avaliar índices e distribuição dos dados.

A solução superficial seria “criar um índice”.

Mas talvez o índice já exista.

Talvez o verdadeiro problema seja o processo que deixou o otimizador trabalhando com uma visão antiga dos dados.


9. Exemplo: transação CICS lenta

Problema

A transação PAG1 passou a responder em 18 segundos.

Por quê 1

Porque uma chamada a um serviço externo demorava 15 segundos.

Por quê 2

Porque a fila MQ acumulou milhares de mensagens.

Por quê 3

Porque uma instância consumidora estava parada.

Por quê 4

Porque o processo Java terminou por falta de memória.

Por quê 5

Porque uma atualização introduziu um vazamento de memória não detectado nos testes.

Por quê 6

Porque os testes não incluíam execução prolongada com carga semelhante à produção.

Causa raiz

Ausência de testes de resistência e observação de consumo de memória no pipeline.

Contramedidas

  • teste de carga prolongado;

  • análise de heap;

  • alertas de crescimento de memória;

  • rollback automático;

  • limite de backlog da fila;

  • monitoramento ponta a ponta.

A transação CICS era a vítima visível.

A causa real estava muito longe dela.


10. O erro de culpar pessoas

Uma das regras mais importantes da Why-Why Analysis é:

Analise o processo, não ataque a pessoa.

Uma resposta como:

“O operador errou.”

raramente representa uma boa causa raiz.

Precisamos continuar:

Por que o operador errou?

Talvez:

  • o procedimento estivesse desatualizado;

  • a tela fosse confusa;

  • não existisse validação;

  • o treinamento fosse insuficiente;

  • duas opções tivessem nomes semelhantes;

  • o sistema permitisse uma ação perigosa sem confirmação;

  • a equipe estivesse sobrecarregada;

  • a documentação não estivesse disponível.

Chamar tudo de “erro humano” é frequentemente uma maneira elegante de encerrar a investigação cedo demais.

Pessoas cometem erros.

Sistemas maduros são projetados para:

  • evitar erros;

  • detectar erros;

  • limitar impactos;

  • facilitar recuperação;

  • tornar a ação correta mais simples;

  • tornar a ação incorreta mais difícil.

A pergunta não deve ser apenas:

“Quem fez?”

Mas:

“Que condição tornou esse erro possível?”

Essa mudança de mentalidade fortalece a cultura de aprendizado e evita a caça aos culpados.


11. Quando a análise se transforma em árvore

Nem todo problema possui uma única linha causal.

Algumas falhas resultam da combinação de vários fatores.

Exemplo:

Job atrasou
 ├── volume de dados aumentou
 ├── CPU ficou limitada
 ├── SQL perdeu índice
 └── execução iniciou fora da janela

Nesse caso, a análise pode se ramificar.

Para cada ramo, perguntamos novos porquês.

A Why-Why pode então trabalhar em conjunto com:

  • Diagrama de Ishikawa;

  • Árvore de Falhas;

  • Pareto;

  • FMEA;

  • análise de barreiras;

  • análise cronológica;

  • Kepner-Tregoe;

  • DMAIC;

  • investigação de incidentes.

O método é excelente, mas não deve ser usado como martelo universal.

Quando o problema envolve múltiplas causas independentes, uma linha única de cinco perguntas pode simplificar demais a realidade.


12. Integração com Ishikawa

O Diagrama de Ishikawa, conhecido como espinha de peixe, ajuda a levantar categorias de possíveis causas.

Categorias comuns incluem:

  • método;

  • máquina;

  • mão de obra;

  • material;

  • medição;

  • meio ambiente.

Em tecnologia, podemos adaptar:

  • aplicação;

  • infraestrutura;

  • dados;

  • processo;

  • pessoas;

  • segurança;

  • dependências;

  • monitoramento.

O Ishikawa ajuda a encontrar áreas de investigação.

Os Cinco Porquês ajudam a aprofundar cada área.

Exemplo:

Categoria: Dados
Problema: S0C7
Por quê? Campo inválido.
Por quê? Layout incompatível.
Por quê? Copybook desatualizado.
Por quê? Mudança não comunicada.
Por quê? Ausência de governança.

As duas ferramentas se complementam muito bem.


13. Relação com PDCA

A análise dos porquês se encaixa perfeitamente no ciclo PDCA.

Plan

Definir o problema, coletar evidências e encontrar a causa raiz.

Do

Implementar a contramedida.

Check

Verificar se o resultado melhorou e se o problema deixou de ocorrer.

Act

Padronizar a solução ou revisar a hipótese caso o problema continue.

A etapa “Check” é frequentemente esquecida.

Uma equipe implementa a mudança e considera o assunto encerrado.

Mas sem medir o resultado, não sabemos se a causa estava correta.


14. Relação com DMAIC e Six Sigma

Dentro do Six Sigma, o método pode ser utilizado principalmente na fase Analyze do DMAIC.

Define

Qual é o problema?

Measure

Qual é sua frequência, impacto e comportamento?

Analyze

Quais causas explicam o problema?

Improve

Quais mudanças eliminam ou reduzem as causas?

Control

Como garantir que a melhoria seja sustentada?

A Why-Why Analysis ajuda a estruturar hipóteses, mas em problemas complexos deve ser apoiada por dados estatísticos e testes.

Perguntar por quê não substitui medir.


15. Dicas práticas para uma boa análise

Não aceite respostas vagas

Evite:

  • falta de atenção;

  • problema no sistema;

  • erro de comunicação;

  • falha operacional;

  • problema de performance.

Pergunte:

  • qual sistema?

  • qual falha?

  • que comunicação?

  • em qual etapa?

  • qual métrica?

  • qual evidência?


Não transforme opinião em fato

“Acho que foi a rede” não é conclusão.

É hipótese.

Precisamos de:

  • tempos de resposta;

  • logs;

  • traces;

  • pacotes perdidos;

  • métricas;

  • comparação histórica.


Não pule etapas

É tentador sair de:

“O job falhou”

diretamente para:

“Precisamos trocar a ferramenta.”

Essa conclusão pode não ter nenhuma ligação comprovada com o evento.

A cadeia precisa ser construída passo a passo.


Não confunda correlação com causalidade

Dois eventos acontecerem juntos não significa que um causou o outro.

Exemplo:

O job ficou lento depois da instalação de uma nova versão.

A versão pode ser a causa.

Mas também pode ter ocorrido:

  • aumento de volume;

  • mudança de índice;

  • alteração de prioridade WLM;

  • concorrência;

  • problema de I/O;

  • mudança no scheduler.

Investigue.


Faça a análise em equipe

Inclua pessoas que conhecem diferentes partes do fluxo:

  • programador;

  • operador;

  • DBA;

  • analista de produção;

  • sysprog;

  • segurança;

  • infraestrutura;

  • negócio;

  • suporte.

Sistemas corporativos são cadeias complexas. Raramente uma única pessoa enxerga tudo.


Registre as evidências

Uma boa análise deve indicar:

  • pergunta;

  • resposta;

  • evidência;

  • responsável pela validação;

  • ação proposta.

Isso evita que a conclusão seja apenas uma opinião coletiva.


16. Um modelo simples para usar

PROBLEMA:
Descreva o evento com data, hora, sistema, impacto e comportamento esperado.

POR QUÊ 1:
Pergunta:
Resposta:
Evidência:

POR QUÊ 2:
Pergunta:
Resposta:
Evidência:

POR QUÊ 3:
Pergunta:
Resposta:
Evidência:

POR QUÊ 4:
Pergunta:
Resposta:
Evidência:

POR QUÊ 5:
Pergunta:
Resposta:
Evidência:

CAUSA RAIZ:
Condição sistêmica comprovada que permitiu o problema.

CORREÇÃO IMEDIATA:
Ação para restaurar o serviço.

CONTRAMEDIDA:
Ação para evitar recorrência.

RESPONSÁVEL:
Nome ou equipe.

PRAZO:
Data prevista.

VALIDAÇÃO:
Métrica que demonstrará a eficácia.

Esse modelo pode ser usado em uma planilha, wiki, ferramenta ITSM, documento de incidente ou post-mortem.


17. Curiosidades da sala de máquinas

A primeira curiosidade é que os Cinco Porquês não precisam produzir uma única resposta correta e absoluta. Em investigações reais, diferentes equipes podem construir cadeias diferentes. O importante é validar cada elo com evidências.

A segunda é que uma causa raiz pode estar fora do componente que apresentou o erro. Um programa COBOL pode falhar por uma alteração feita em uma aplicação distribuída, em um arquivo, em uma regra de negócio ou em um processo manual.

A terceira é que problemas recorrentes são frequentemente sinais de que a organização está tratando sintomas. Quando o mesmo incidente aparece repetidamente com pequenas variações, vale procurar uma causa sistêmica comum.

A quarta é que uma boa análise costuma revelar oportunidades maiores do que o incidente original. Ao investigar um arquivo inválido, podemos descobrir falhas de governança, testes, comunicação e automação.

A quinta é que a pergunta “por quê?” deve ser feita com curiosidade, não com acusação. O tom muda tudo.

Compare:

“Por que você fez isso?”

com:

“Que condições do processo levaram a esse resultado?”

A segunda pergunta abre portas.

A primeira ergue escudos.


18. Easter egg: o incidente da USS Enterprise-Z

Imagine uma nave híbrida: metade USS Enterprise, metade IBM Z.

No centro da sala de máquinas existe um z17 processando transações interplanetárias em COBOL.

De repente, o alerta vermelho é acionado.

IEF450I STARJOB STEP010 - ABEND=S0C7

O Capitão Kirk pergunta:

— Sr. Spock, por que o sistema de navegação financeira caiu?

Spock responde:

— Porque uma rotina aritmética processou um campo não numérico.

Kirk respira aliviado:

— Então corrija o campo.

Spock ergue uma sobrancelha:

— Isso restauraria o processamento, Capitão, mas não explicaria a origem do dado inválido.

O primeiro porquê revela o campo.

O segundo revela o arquivo.

O terceiro revela o copybook.

O quarto revela uma mudança não comunicada.

O quinto revela que a Federação não possui governança para contratos de dados entre planetas.

Scotty entra correndo:

— Capitão, posso fazer o job rodar em vinte minutos!

Spock responde:

— E ele falhará novamente na próxima remessa de carga de Vulcano.

A solução definitiva inclui:

  • versionamento de copybooks;

  • validação automática;

  • testes de contrato;

  • comunicação entre sistemas;

  • monitoramento;

  • rollback.

Kirk então compreende:

Reiniciar a nave é manutenção.
Eliminar a causa da falha é engenharia.

No canto da tela, escondido entre os registros do spool, aparece o easter egg:

       01  LOGICA-VULCANA       PIC X(20)
           VALUE 'VIDA-LONGA-E-SEM-S0C7'.

19. Quando não usar apenas os Cinco Porquês

A técnica pode ser insuficiente quando:

  • existem diversas causas simultâneas;

  • o problema é altamente probabilístico;

  • há forte interação entre componentes;

  • a falha envolve segurança crítica;

  • os dados são contraditórios;

  • o evento nunca havia ocorrido;

  • a cadeia causal é extensa;

  • há fatores humanos, tecnológicos e organizacionais combinados.

Nessas situações, combine o método com ferramentas mais robustas.

Em incidentes graves, use também:

  • linha do tempo;

  • análise de mudanças;

  • Fault Tree Analysis;

  • análise de barreiras;

  • FMEA;

  • dados de observabilidade;

  • testes controlados;

  • revisão independente;

  • post-mortem sem culpa.

O objetivo não é preencher cinco caixas.

O objetivo é aprender a verdade operacional do sistema.


20. Conclusão: não pare no primeiro “por quê”

O programador iniciante olha para o ABEND.

O programador experiente olha para os dados.

O analista sênior olha para o fluxo.

O arquiteto olha para o sistema.

O verdadeiro resolvedor de problemas olha para as condições que permitiram a falha.

A Why-Why Analysis ensina exatamente essa evolução.

Ela nos convida a sair do modo reativo:

Falhou → corrigir → reiniciar → esquecer.

E migrar para um modo de melhoria contínua:

Falhou
  ↓
observar
  ↓
investigar
  ↓
comprovar
  ↓
corrigir
  ↓
prevenir
  ↓
monitorar
  ↓
aprender

No ambiente mainframe, onde milhões de transações dependem de processos maduros, confiáveis e repetíveis, essa mentalidade é especialmente valiosa.

Não basta fazer o job voltar.

É preciso compreender por que ele parou.

Não basta corrigir o registro.

É preciso descobrir por que o registro chegou inválido.

Não basta culpar o operador.

É preciso entender por que o processo permitiu o engano.

Não basta apagar o incêndio.

É preciso descobrir quem deixou combustível perto do reator de dobra.

A pergunta “por quê?” parece pequena, mas abre portas gigantescas.

Cada porquê remove uma camada de aparência.

Cada resposta bem comprovada aproxima a equipe da verdade.

Cada causa raiz eliminada torna o sistema mais robusto.

Portanto, na próxima vez que um programa COBOL terminar com ABEND, não se limite à primeira mensagem do spool.

Abra o dump.

Consulte o SYSOUT.

Converse com as equipes.

Verifique os fatos.

Siga a cadeia lógica.

Pergunte novamente.

E novamente.

Até que o sintoma deixe de ser o centro da investigação e o processo revele aquilo que realmente precisa ser transformado.

Como diria o oficial científico da Bellacosa Enterprise:

“Uma correção que não elimina a recorrência é apenas um adiamento logicamente organizado do próximo incidente.”

Vida longa ao COBOL, ao IBM Z e aos programadores que nunca se contentam com o primeiro porquê.

sábado, 25 de setembro de 2021

Yak Shaving Rules: Quando um Programador COBOL Entrou na Matrix para Corrigir um Bug... e Quase Reinventou Todo o Sistema

 

Bellacosa Mainframe e a yak shaving rules

☕ Um Café no Bellacosa Mainframe

Yak Shaving Rules sem Mistérios

Quando um Programador COBOL Entrou na Matrix para Corrigir um Bug... e Quase Reinventou Todo o Sistema

"Você entrou na Matrix para resolver um problema. Mas antes decidiu atualizar o compilador, reorganizar os COPYBOOKs, trocar o editor, renomear variáveis, revisar o JCL... e esqueceu qual era o problema."


Introdução — Bem-vindo ao Labirinto da Matrix

A chuva verde de caracteres desce lentamente pelas telas.

Neo observa uma pequena mensagem piscando em vermelho.

ABEND S0C7

— Morpheus, encontramos o problema?

Morpheus responde calmamente:

— Ainda não.

Neo estranha.

— Mas acabamos de passar oito horas trabalhando.

Morpheus sorri.

— Sim.

Você atualizou o ambiente.

Padronizou os comentários.

Organizou as bibliotecas.

Criou um novo padrão de nomenclatura.

Instalou uma versão mais nova do editor.

Revisou o JCL.

Atualizou o Git.

Refatorou um programa que nem estava relacionado.

Criou documentação.

Mudou o tema do ISPF.

...

Mas o ABEND continua acontecendo.

Neo olha assustado.

— Então o que aconteceu?

O Oráculo responde:

"Você começou a aparar um iaque."

Assim nasce um dos conceitos mais curiosos da Engenharia de Software.

O famoso Yak Shaving.

Ele parece engraçado.

Mas custa milhões de dólares por ano em produtividade desperdiçada.


O que é Yak Shaving?

Yak Shaving significa:

Executar uma longa sequência de tarefas secundárias antes de finalmente resolver o problema original.

Você começa tentando resolver um problema simples.

No caminho encontra outro.

Depois outro.

Depois outro.

Quando percebe...

esqueceu completamente o motivo inicial.


Uma definição divertida

Imagine que alguém diga:

"Preciso cortar o cabelo."

Mas para cortar o cabelo precisa:

  • pegar o carro

  • abastecer

  • trocar o óleo

  • lavar o carro

  • calibrar pneus

  • renovar o seguro

  • comprar um GPS novo

  • instalar aplicativo

  • atualizar o celular

No final do dia...

o cabelo continua igual.

Isso é Yak Shaving.


A origem do termo

O nome surgiu na década de 1990.

Foi popularizado por Carlin Vieri e posteriormente difundido por MIT AI Lab e por programadores da comunidade Unix.

A inspiração veio de uma piada do humorista Ren & Stimpy.

A ideia era mostrar uma sequência absurda de tarefas onde uma ação aparentemente simples leva a dezenas de outras completamente inesperadas.

Desde então, Yak Shaving virou um termo clássico na Engenharia de Software.


Por que "Yak"?

Porque um iaque é um enorme bovino peludo do Himalaia.

A piada consiste justamente em imaginar alguém que precisa raspar um iaque antes de conseguir fazer outra tarefa completamente diferente.

É uma imagem absurda.

E exatamente por isso funciona tão bem.


Matrix explica perfeitamente

Imagine que Neo recebe uma missão.

Corrigir um programa COBOL responsável pelo cálculo do imposto.

Parece simples.

Mas então...


Missão 1

"Vou abrir o programa."

Antes...

precisa atualizar o editor.


Missão 2

Editor atualizado.

Agora percebe que o compilador está antigo.


Missão 3

Atualiza o compilador.

Agora alguns COPYBOOKs ficaram incompatíveis.


Missão 4

Atualiza COPYBOOKs.

Agora resolve reorganizar toda a biblioteca.


Missão 5

Aproveita para mudar o padrão dos nomes.


Missão 6

Já que mudou nomes...

resolve atualizar a documentação.


Missão 7

Agora cria diagramas.


Missão 8

Descobre que seria interessante migrar para GitFlow.


Missão 9

Aproveita para atualizar Jenkins.


Missão 10

O dia termina.

O bug original?

Continua lá.

O Agente Smith agradece.


Como nasce o Yak Shaving?

Geralmente começa assim.

"Já que estou aqui..."

Essa talvez seja a frase mais perigosa da Engenharia de Software.


"Já que estou neste programa..."

"Já que estou nesta rotina..."

"Já que estou compilando..."

"Já que estou mexendo..."

...

Horas depois...

o objetivo inicial desapareceu.


Exemplo COBOL

O usuário informou:

Cliente não consegue emitir boleto.

Problema simples.

Mas o desenvolvedor pensa:

"Vou aproveitar."

Então decide:

  • reorganizar WORKING-STORAGE

  • padronizar comentários

  • alinhar colunas

  • renomear variáveis

  • trocar GO TO por PERFORM

  • atualizar COPYBOOK

  • reorganizar PROCEDURE DIVISION

  • alterar indentação

Resultado?

O boleto continua sem funcionar.


O cérebro gosta disso

Curiosamente...

Yak Shaving é confortável.

Resolver tarefas pequenas produz sensação de progresso.

É muito mais agradável organizar nomes de variáveis do que investigar um erro complexo.

Nosso cérebro adora pequenas vitórias.

Por isso caímos nessa armadilha.


O problema real continua esperando

Enquanto você reorganiza detalhes...

o cliente continua parado.

O banco continua sem processar pagamentos.

O lote continua falhando.

O incidente continua aberto.


A diferença entre Yak Shaving e Refatoração

Muita gente confunde.

Não são iguais.

Refatoração

Melhora código relacionado ao problema.

Tem objetivo claro.

Entrega valor.


Yak Shaving

Executa dezenas de tarefas paralelas sem necessidade imediata.

Aumenta tempo.

Não resolve o problema principal.


Existe Yak Shaving bom?

Sim.

Às vezes.

Imagine.

Você precisa alterar um programa.

Antes percebe:

  • biblioteca corrompida

  • ambiente quebrado

  • compilador incompatível

Corrigir isso não é Yak Shaving.

É pré-requisito.

O segredo está na pergunta:

Essa atividade aproxima ou afasta da solução?


Matrix Reloaded

Na Matrix existe um personagem fascinante.

O Arquiteto.

Ele entende toda a estrutura.

Um bom arquiteto de software também evita Yak Shaving.

Porque consegue separar:

necessário

de

interessante.

Nem tudo que é interessante precisa ser feito agora.


Como identificar Yak Shaving?

Faça uma pergunta simples.

"Estou fazendo isso porque resolve o problema ou porque surgiu oportunidade?"

Se a resposta for:

"Já que estou aqui..."

acenda um alerta.


O Programador Padawan

Todo iniciante passa por isso.

Recebe um pequeno chamado.

Vai investigar.

Três horas depois está lendo documentação sobre VSAM RLS.

Cinco horas depois aprende DFSORT.

Sete horas depois instala uma nova fonte no VS Code.

No dia seguinte...

descobre que o problema era:

IF CPF = SPACES

O efeito dominó

Yak Shaving possui um comportamento interessante.

Cada nova tarefa gera outra.

Por exemplo.

Corrigir documentação.

Descobre padrão antigo.

Atualiza modelo.

Percebe que Wiki está desorganizada.

Resolve reorganizar Wiki.

Atualiza links.

Cria templates.

Muda identidade visual.

...

O problema inicial desapareceu.


Os Agentes Smith adoram Yak Shaving

Na Matrix, Smith cresce distraindo Neo.

No desenvolvimento acontece igual.

Quanto mais tarefas paralelas surgem...

menos energia sobra para o problema verdadeiro.

Smith não precisa impedir você.

Basta manter você ocupado.


Gestão de Projetos

Em projetos grandes isso custa caro.

Imagine uma Sprint de duas semanas.

Uma tarefa estimada em:

8 horas.

Após Yak Shaving.

Consome:

32 horas.

Ninguém entende por quê.

Na verdade...

o desenvolvedor trabalhou bastante.

Só trabalhou nas coisas erradas.


Como gestores combatem isso?

Scrum Masters fazem perguntas importantes.

Qual é o objetivo?

Essa atividade agrega valor?

Está no escopo?

Quem pediu?

É prioridade?

Pode esperar?

Essas perguntas quebram o ciclo.


Técnicas para evitar Yak Shaving

Defina objetivo claro

Antes de abrir o editor escreva:

"Hoje vou corrigir o cálculo do IOF."

Nada além disso.


Use lista de estacionamento

Encontrou outra melhoria?

Anote.

Não faça agora.


Time Boxing

Reserve tempo.

Exemplo:

90 minutos.

Depois reavalie.


Trabalhe por prioridade

Cliente primeiro.

Curiosidade depois.


Faça pequenas entregas

Entregas frequentes diminuem distrações.


Atenção!

Existe uma diferença enorme entre:

Melhorar

e

Perfeccionismo.

Perfeccionismo muitas vezes é Yak Shaving disfarçado.


Os perigos

Atrasos

Cronograma explode.


Retrabalho

Mudanças desnecessárias geram novos bugs.


Escopo infinito

Projeto nunca termina.


Burnout

Equipe trabalha muito.

Entrega pouco.


Perda de foco

Objetivo desaparece.


Um exemplo clássico no Mainframe

Chamado:

Alterar mensagem do CICS.

Durante a alteração:

Atualiza BMS.

Atualiza mapa.

Padroniza cores.

Renomeia campos.

Refatora tratamento.

Atualiza transações.

Altera HELP.

Reorganiza COPYBOOK.

Atualiza manual.

Muda nomenclatura.

Novo teste.

Novo Build.

Nova homologação.

Duas semanas depois...

A mensagem ainda não mudou.


Como o Oráculo resolveria?

Ela perguntaria apenas:

"O que realmente precisa acontecer?"

Essa pergunta elimina metade do Yak Shaving.


Aplicabilidade

Conhecer Yak Shaving ajuda em:

  • COBOL

  • CICS

  • Db2

  • DevOps

  • Cloud

  • IA

  • Engenharia de Dados

  • Projetos Ágeis

  • Infraestrutura

  • Segurança

Na verdade...

qualquer área técnica sofre com isso.


Curiosidades

Grandes empresas treinam desenvolvedores para reconhecer Yak Shaving.

Google possui diversas palestras internas sobre foco.

Microsoft fala sobre "Task Switching".

IBM enfatiza planejamento incremental.

Todas estão combatendo exatamente o mesmo problema.


O Checklist Anti-Yak

Antes de começar pergunte:

✅ Isso resolve o problema principal?

✅ O cliente percebe valor?

✅ Está dentro da Sprint?

✅ É realmente necessário agora?

✅ Posso anotar para depois?

Se respondeu "não" para a maioria...

provavelmente um iaque está esperando por você.


O Ensinamento de Morpheus

Morpheus entrega a Neo uma última mensagem.

"A Matrix não vence apenas pela força.
Ela vence pela distração."

Na Engenharia de Software acontece exatamente igual.

Poucos projetos fracassam porque seus desenvolvedores são incompetentes.

Muitos fracassam porque perderam o foco.


Lições para um Programador COBOL Padawan

Ao trabalhar em um sistema legado, é comum encontrar dezenas de oportunidades de melhoria. Um COPYBOOK poderia ser reorganizado, uma variável poderia ter um nome melhor, um programa poderia ser dividido em módulos menores, um JCL poderia ser simplificado. Tudo isso tem valor — mas nem tudo tem prioridade.

O verdadeiro profissional aprende a distinguir entre o trabalho importante e o trabalho interessante. Resolver o incidente que impede milhares de clientes de realizar uma transação é mais importante do que reorganizar comentários em um programa que funciona perfeitamente. As melhorias devem ser registradas, planejadas e executadas no momento adequado, não durante uma correção crítica.


Conclusão — Saindo da Matrix

No final de sua jornada, Neo compreende que a Matrix não era apenas um sistema de controle, mas também um sistema de distrações. Na Engenharia de Software, o Yak Shaving desempenha exatamente esse papel: cria uma sequência aparentemente lógica de tarefas secundárias que afastam a equipe do objetivo principal.

Para um Programador COBOL, especialmente em ambientes IBM Z onde cada alteração pode impactar processos críticos de bancos, seguradoras ou governos, manter o foco é uma habilidade tão importante quanto dominar a linguagem. Antes de iniciar qualquer atividade, pergunte a si mesmo:

  • Isso resolve o problema do cliente?

  • Isso agrega valor agora?

  • Estou caminhando em direção à solução ou apenas aparando um iaque?

Se a resposta indicar que você está entrando em um labirinto de tarefas paralelas, faça como Neo ao enxergar o código da Matrix: pare, respire, volte ao objetivo original e siga pelo caminho mais direto. Afinal, os melhores engenheiros não são aqueles que fazem mais coisas, mas aqueles que resolvem as coisas certas, no momento certo, com a menor complexidade possível. Esse é o verdadeiro caminho para escapar da Matrix do Yak Shaving e construir software que realmente faz diferença.

sexta-feira, 24 de setembro de 2021

ABEND sem Mistérios — Parte VII

 

Bellacosa Mainframe em abend sem misterio parte vii

☕ Um Café no Bellacosa Mainframe

ABEND sem Mistérios — Parte VII

Os 100 Erros Mais Comuns dos Programadores COBOL que Acabam Gerando ABENDs (e Como os Grandes Bancos Evitam Cada Um Deles)

"Quase nenhum ABEND nasce de um único erro. Ele costuma ser o resultado de pequenas decisões aparentemente inocentes que foram se acumulando até encontrar o momento perfeito para falhar."


Introdução

Depois de entender:

  • o que é um ABEND;

  • como investigá-lo;

  • como analisar dumps;

  • como funciona a arquitetura do IBM Z;

  • como utilizar observabilidade;

  • como criar laboratórios de treinamento;

chegamos a uma pergunta extremamente importante.

Por que tantos ABENDs continuam acontecendo?

A resposta surpreende muita gente.

Na maioria das vezes, não é por causa do compilador.

Nem do JCL.

Nem do z/OS.

Nem do CICS.

Muito menos do hardware IBM Z.

Na prática, a maior parte dos incidentes nasce de pequenos erros de desenvolvimento que poderiam ter sido evitados.

É exatamente por isso que grandes bancos investem tanto em padrões de programação, revisões técnicas, testes automatizados e engenharia preventiva.

Neste artigo reunimos os erros mais frequentes encontrados em projetos COBOL corporativos e as práticas utilizadas para evitá-los.


O verdadeiro custo de um pequeno erro

Imagine uma variável.

01 WS-SALDO PIC 9(09)V99.

Agora imagine que um arquivo carregue:

12A4500

Nenhum cliente percebe.

Nenhum operador percebe.

Nenhum batch falha imediatamente.

Horas depois...

COMPUTE

↓

S0C7

↓

Rollback

↓

Fila parada

↓

Chamado de Produção

O problema começou muito antes do ABEND.


Os cinco grupos de erros

Praticamente todos os incidentes podem ser classificados em cinco categorias.

Dados

↓

Lógica

↓

Integração

↓

Infraestrutura

↓

Processos

Vamos explorar cada uma delas.


Grupo 1 — Erros de Dados

São disparadamente os mais comuns.


Erro 1

Não validar campos numéricos.

Resultado.

S0C7.

Boa prática.

Sempre utilizar:

IF campo NUMERIC

Erro 2

Assumir que um arquivo sempre virá correto.

Arquivos mudam.

Layouts evoluem.

Campos chegam em branco.

Sistemas fornecedores falham.

Nunca confie cegamente na entrada.


Erro 3

Ignorar FILE STATUS.

Uma simples instrução OPEN pode falhar.

Sem tratamento adequado,

o programa continua executando até produzir consequências mais graves.


Erro 4

Ignorar SQLCODE.

O SELECT pode não encontrar registros.

O UPDATE pode falhar.

O COMMIT pode ser rejeitado.

Sempre teste SQLCODE.


Erro 5

Ignorar RESP e RESP2 no CICS.

Esses códigos são equivalentes ao SQLCODE do ambiente transacional.

Não tratá-los significa dirigir sem painel de instrumentos.


Grupo 2 — Erros de Lógica


Erro 6

PERFORM infinito.

Resultado.

S322

Boa prática.

Toda repetição deve possuir condição clara de encerramento.


Erro 7

Índices fora do OCCURS.

Principal causa de inúmeros S0C4.

Sempre valide limites.


Erro 8

Variáveis não inicializadas.

Nunca suponha que memória contém zeros.

Use INITIALIZE quando fizer sentido e inicialize explicitamente áreas críticas.


Erro 9

REDEFINES utilizado sem documentação.

REDEFINES é poderoso.

Mas também é uma das maiores fontes de confusão em sistemas antigos.


Erro 10

Uso excessivo de GO TO.

Quanto maior o número de desvios,

mais difícil torna-se reproduzir problemas.


Grupo 3 — Integração


Erro 11

Copybooks incompatíveis.

Programa A espera:

100 bytes

Programa B envia:

120 bytes

Resultado.

S0C4.


Erro 12

CALL USING incompatível.

Mudança em parâmetros sem recompilar todos os módulos.

Problema extremamente comum em aplicações legadas.


Erro 13

Layouts de arquivos desatualizados.

Uma alteração aparentemente simples pode afetar dezenas de programas.


Erro 14

Interfaces sem versionamento.

Grandes bancos tratam contratos de interface como código-fonte.


Grupo 4 — Infraestrutura


Erro 15

STEPLIB incorreta.

Resultado.

S806

Erro 16

DCB incompatível.

Resultado.

S013

Erro 17

Datasets pequenos.

Resultado.

SB37

SD37

SE37

Erro 18

TIME insuficiente.

Resultado.

S322

Erro 19

Catálogo inconsistente.

Nem sempre o problema está na aplicação.


Grupo 5 — Engenharia de Software

Aqui aparecem os erros mais caros.


Erro 20

Falta de logs.

Sem informações,

investigar torna-se muito mais difícil.


Erro 21

Ausência de documentação.

Quando apenas uma pessoa entende um programa,

o risco operacional aumenta significativamente.


Erro 22

Não reproduzir o incidente.

Corrigir "no escuro" costuma gerar novos problemas.


Erro 23

Não escrever testes.

A correção resolve o incidente atual,

mas ninguém garante que outro desenvolvedor não reintroduzirá o mesmo defeito.


Erro 24

Não documentar a causa raiz.

Todo incidente importante deveria gerar conhecimento.


Os erros que quase nunca aparecem nos livros

Alguns problemas são extremamente frequentes na vida real.

Por exemplo.

Alteração de layout sem avisar outras equipes.

Mudança de copybook.

Programa recompilado parcialmente.

Ambiente inconsistente.

Produção.

ABEND.

Tecnicamente,

ninguém escreveu código errado.

O problema foi comunicação.


O perigo das suposições

Um excelente programador desconfia de tudo.

Pergunta:

O arquivo realmente existe?

O retorno foi validado?

A variável foi inicializada?

O parâmetro chegou corretamente?

A transação ainda está instalada?

Essa postura reduz enormemente os incidentes.


Como pensam os grandes bancos

Muitas empresas utilizam listas de verificação antes do deploy.

Exemplo.

  • SQLCODE tratado?

  • FILE STATUS tratado?

  • RESP tratado?

  • Índices validados?

  • Logs suficientes?

  • Testes executados?

  • Revisão realizada?

  • Plano de rollback pronto?

Esse checklist evita inúmeros problemas.


O princípio da programação defensiva

Programação defensiva significa assumir que algo pode dar errado.

Em vez de escrever:

ADD WS-VALOR TO TOTAL

O profissional escreve:

IF WS-VALOR NUMERIC
    ADD WS-VALOR TO TOTAL
ELSE
    PERFORM TRATAR-ERRO
END-IF

O objetivo não é tornar o código maior.

É torná-lo mais confiável.


A importância da revisão de código

Um desenvolvedor acostuma-se com seu próprio código.

Por isso revisões entre colegas são tão valiosas.

Muitas falhas simples são descobertas antes mesmo dos testes.

Revisar código não é fiscalizar pessoas.

É proteger o sistema.


Testes automatizados no Mainframe

Cada vez mais equipes utilizam:

  • IBM Developer for z/OS;

  • IBM Test Accelerator;

  • ZUnit;

  • Jenkins;

  • GitHub Actions;

  • UrbanCode Deploy;

  • Ansible.

A ideia é simples.

Sempre que uma alteração ocorrer,

os principais cenários são executados automaticamente.

Assim, regressões são identificadas antes da produção.


Os dez mandamentos do Programador COBOL

  1. Nunca confie nos dados de entrada.

  2. Sempre trate retornos do sistema.

  3. Valide limites de tabelas.

  4. Documente alterações importantes.

  5. Escreva logs úteis.

  6. Faça revisões de código.

  7. Teste cenários de erro, não apenas os de sucesso.

  8. Automatize sempre que possível.

  9. Investigue antes de corrigir.

  10. Compartilhe conhecimento com a equipe.


O ciclo dos incidentes

Os sistemas mais maduros seguem um ciclo contínuo.

Erro

↓

ABEND

↓

Investigação

↓

Root Cause

↓

Correção

↓

Teste

↓

Documentação

↓

Automação

↓

Novo Padrão

↓

Menos ABENDs

Cada incidente fortalece a organização.


O Programador Padawan e o Especialista

O Padawan pergunta:

"Como elimino este S0C7?"

O especialista pergunta:

"Como impedir que qualquer programa desta empresa gere esse mesmo S0C7 novamente?"

Essa diferença de perspectiva muda completamente a qualidade do software.


Construindo uma cultura de qualidade

As organizações mais bem-sucedidas não dependem de heróis que resolvem incidentes às três da manhã.

Elas constroem processos que tornam esses incidentes cada vez mais raros.

Isso inclui:

  • padrões de codificação;

  • revisão por pares;

  • integração contínua;

  • testes automatizados;

  • observabilidade;

  • documentação;

  • treinamento constante.

Quando essas práticas amadurecem, o número de ABENDs em produção tende a cair de forma consistente.


Conclusão

Os ABENDs não surgem do nada. Eles são o reflexo da qualidade das decisões tomadas ao longo do ciclo de desenvolvimento.

Cada variável validada, cada SQLCODE tratado, cada FILE STATUS verificado, cada revisão de código e cada teste automatizado representam pequenas barreiras que impedem que um erro simples evolua para um incidente crítico.

Os grandes bancos sabem disso há décadas. Por essa razão, investem muito mais em prevenção do que em correção. A investigação continua sendo importante, mas seu verdadeiro objetivo é produzir aprendizado, melhorar processos e reduzir a probabilidade de novos incidentes.

O Programador Padawan que compreender essa filosofia deixará de ver o ABEND como um inimigo. Passará a enxergá-lo como um indicador da saúde do sistema e uma oportunidade de tornar suas aplicações mais seguras, previsíveis e resilientes.

Porque, no fim das contas, a melhor investigação é aquela que um dia deixa de ser necessária.


quinta-feira, 23 de setembro de 2021

☕🔥 OS MELHORES ANIMES/MANGÁS PÓS-APOCALÍPTICOS — UMA ANÁLISE NO ESTILO BELLACOSA MAINFRAME

 

Bellacosa Mainframe e os animes pós-apocalipticos

☕🔥 OS MELHORES ANIMES/MANGÁS PÓS-APOCALÍPTICOS — UMA ANÁLISE NO ESTILO BELLACOSA MAINFRAME

☕🔥 Os melhores animes e mangás pós-apocalípticos exploram profundamente a psicologia humana porque colocam seus personagens em cenários onde a civilização entrou em colapso. Quando o mundo acaba, desaparecem também as leis, a segurança, o conforto e até a identidade social das pessoas. O resultado é um ambiente perfeito para revelar os medos, traumas e instintos mais primitivos do ser humano.

Em obras como Neon Genesis Evangelion, o apocalipse funciona como metáfora da depressão, da solidão e do vazio emocional. Shinji Ikari não luta apenas contra monstros gigantes; ele luta contra rejeição, medo de abandono e incapacidade de se conectar com outras pessoas. Já em Attack on Titan, o horror psicológico nasce da descoberta de que o verdadeiro inimigo muitas vezes não são os monstros, mas o ódio, o nacionalismo e os ciclos de violência humana.

Outro ponto central nesses animes é a desumanização. Em 86, soldados discriminados são tratados como máquinas descartáveis, refletindo temas como racismo, guerra e perda da individualidade. O mesmo ocorre em Shinsekai Yori, que aborda controle social, medo coletivo e manipulação psicológica em uma sociedade aparentemente perfeita.

O pós-apocalipse japonês também trabalha fortemente o existencialismo. Em mundos destruídos, os personagens precisam encontrar razões para continuar vivendo. Obras como Made in Abyss mostram a curiosidade humana enfrentando sofrimento extremo, enquanto 7Seeds explora o trauma de sobreviver em um planeta irreconhecível.

Diferente de muitos cenários ocidentais focados apenas em ação, os animes pós-apocalípticos japoneses usam a destruição do mundo como ferramenta para investigar a mente humana. O verdadeiro tema raramente é “como salvar o planeta”, mas sim:
quem somos quando tudo aquilo que conhecemos desaparece.

É justamente essa profundidade psicológica que torna essas obras tão marcantes e inesquecíveis.

☕🔥 OS MELHORES ANIMES/MANGÁS PÓS-APOCALÍPTICOS — UMA ANÁLISE NO ESTILO BELLACOSA MAINFRAME

O pós-apocalipse nos animes japoneses raramente é apenas “o fim do mundo”.
No Japão, destruição normalmente significa:

  • colapso social,

  • culpa coletiva,

  • trauma tecnológico,

  • guerra,

  • isolamento humano,

  • e principalmente a pergunta:

“O que sobra da humanidade quando a civilização desaparece?”

E isso faz MUITO sentido historicamente para um país marcado por Hiroshima, Nagasaki, terremotos, crises econômicas e medo nuclear.

Os títulos da imagem representam praticamente TODAS as vertentes do pós-apocalipse japonês:
cyberpunk, psicológico, existencialista, militar, filosófico, biológico, social e até espiritual.


01 — NEON GENESIS EVANGELION

Título original

新世紀エヴァンゲリオン
(Shinseiki Evangelion)

Autor

  • Hideaki Anno

  • Studio Gainax

Lançamento

  • Anime: 1995

  • Filme End of Evangelion: 1997

  • Mangá: 1994–2013


Sinopse

Após uma catástrofe global chamada “Second Impact”, monstros chamados Angels atacam a Terra.
A organização NERV utiliza biomechas gigantes chamados EVAs pilotados por adolescentes traumatizados.


O que Evangelion REALMENTE é?

Muita gente acha que Evangelion é anime de robô.

Não é.

Evangelion é:

  • depressão,

  • ansiedade,

  • solidão,

  • medo de rejeição,

  • trauma emocional,

  • colapso psicológico.

Os EVAs são praticamente metáforas ambulantes da mente humana.


História e contexto

Hideaki Anno criou Evangelion durante uma profunda depressão.

Por isso:

  • os personagens são quebrados emocionalmente,

  • o mundo parece vazio,

  • as relações humanas são dolorosas,

  • a narrativa vira quase terapia psicológica.

O “fim do mundo” aqui é interno.


Personagens principais

Shinji Ikari

Talvez o protagonista mais humano dos animes.
Fraco, inseguro, traumatizado.

Rei Ayanami

Símbolo da identidade vazia e da desconexão emocional.

Asuka Langley

Orgulho mascarando desespero psicológico.

Gendo Ikari

Pai ausente transformado em entidade quase monstruosa.


Temática principal

  • Existencialismo

  • Freud/Jung

  • Solidão

  • Relacionamentos tóxicos

  • Instrumentalização humana

  • Trauma pós-guerra


O diferencial

Evangelion destruiu o gênero mecha tradicional.

Antes:

  • heróis fortes,

  • batalhas épicas.

Depois:

  • pilotos traumatizados,

  • colapso mental,

  • filosofia pesada,

  • simbolismo religioso.

É praticamente o “COBOL legado psicológico” dos animes modernos:
todo mundo herdou algo dele.


02 — 86: EIGHTY-SIX

Título original

86―エイティシックス―

Autor

  • Asato Asato

  • Ilustrações: Shirabii

Lançamento

  • Light Novel: 2017

  • Anime: 2021


Sinopse

A República de San Magnolia afirma lutar uma guerra automatizada sem baixas humanas.

Mentira.

Os “drones” são pessoas discriminadas chamadas Eighty-Six.


O que torna 86 tão poderoso?

Esse anime é brutal porque fala de:

  • racismo,

  • segregação,

  • guerra desumanizada,

  • propaganda estatal,

  • soldados descartáveis.


Influências históricas

É impossível assistir sem lembrar:

  • nazismo,

  • campos de segregação,

  • guerras modernas,

  • drones militares reais,

  • imperialismo.


Personagens

Shinei Nouzen

Um dos protagonistas mais melancólicos da ficção recente.

Vladilena Milizé

A idealista que tenta manter humanidade dentro do sistema.


Temática

  • Desumanização

  • PTSD

  • Guerra automatizada

  • Culpa social

  • Xenofobia


Diferencial

86 moderniza o conceito de guerra pós-apocalíptica.

Aqui o horror não é o monstro.

É o próprio sistema.


03 — SHINSEKAI YORI

Título original

新世界より
(From the New World)

Autor

  • Yusuke Kishi

Lançamento

  • Novel: 2008

  • Anime: 2012


A OBRA MAIS SUBESTIMADA DESSA LISTA


Sinopse

Mil anos no futuro, humanos desenvolveram poderes psíquicos.

A sociedade parece utópica.

Mas existe algo profundamente errado escondido nela.


O que esse anime faz?

Ele desmonta lentamente:

  • moralidade,

  • controle social,

  • manipulação genética,

  • medo coletivo.


Atmosfera

O anime inteiro parece:

  • silencioso,

  • estranho,

  • desconfortável,

  • quase “amaldiçoado”.

Você sente que existe um segredo horrível desde o episódio 1.


Temática

  • Eugenia

  • Controle populacional

  • Totalitarismo

  • Evolução humana

  • Medo da diferença


O diferencial

É um dos raros animes que mistura:

  • horror psicológico,

  • ficção científica,

  • sociologia,

  • filosofia política.

Parece uma mistura de:

  • Orwell,

  • Brave New World,

  • Akira,

  • Evangelion.


04 — SHINGEKI NO KYOJIN

Attack on Titan

Autor

  • Hajime Isayama

Lançamento

  • Mangá: 2009

  • Anime: 2013


Sinopse

Humanidade vive cercada por muralhas gigantes para sobreviver aos Titãs.

Mas a verdade sobre o mundo muda completamente a narrativa.


O MAIOR “PLOT TWIST” DA DÉCADA

O anime começa como:

  • sobrevivência contra monstros.

Depois vira:

  • geopolítica,

  • guerra racial,

  • nacionalismo,

  • fascismo,

  • ciclos de ódio.


Personagens

Eren Yeager

Talvez o protagonista mais controverso dos animes modernos.

Levi Ackerman

Frieza emocional absoluta.

Erwin Smith

Liderança sacrificando humanidade.


Temas

  • Liberdade

  • Determinismo

  • Ódio histórico

  • Militarismo

  • Genocídio

  • Manipulação política


O diferencial

Poucos animes evoluem tanto de escala narrativa.

O mundo cresce de:
“Titan gigante”
para:
“civilização em guerra ideológica”.


05 — AKIRA

Autor

  • Katsuhiro Otomo

Lançamento

  • Mangá: 1982

  • Filme: 1988


O ANIME QUE OCIDENTALIZOU O ANIME

Sem Akira:

  • Matrix talvez não existisse,

  • cyberpunk moderno mudaria,

  • anime não teria explodido no Ocidente.


Sinopse

Neo Tokyo foi reconstruída após uma explosão misteriosa.

Gangues, corrupção, governo militar e experimentos psíquicos dominam a cidade.


Temática

  • medo nuclear,

  • militarização,

  • juventude perdida,

  • explosão tecnológica,

  • caos urbano.


O diferencial

Akira foi revolucionário tecnicamente:

  • animação absurda,

  • iluminação cinematográfica,

  • direção de câmera quase hollywoodiana.

Ainda parece moderno hoje.


06 — SHUUMATSU NANI SHITEMASU KA?

SukaSuka

Título gigante

終末なにしてますか?忙しいですか?救ってもらっていいですか?


Lançamento

  • Light Novel: 2014

  • Anime: 2017


Sinopse

Após o fim da humanidade, criaturas não humanas vivem em ilhas flutuantes enquanto jovens garotas usam armas mágicas para lutar contra monstros.


O diferencial

Ao contrário dos outros:

  • não é ação pesada,

  • é melancolia emocional.

É uma obra sobre:

  • despedida,

  • amor inevitavelmente trágico,

  • aceitar o fim.


Atmosfera

Parece:

  • bonita,

  • triste,

  • silenciosa,

  • poética.


07 — SIDONIA NO KISHI

Knights of Sidonia

Autor

  • Tsutomu Nihei

Lançamento

  • Mangá: 2009

  • Anime: 2014


Sinopse

Humanidade vaga pelo espaço após a destruição da Terra.

Criaturas alienígenas chamadas Gauna perseguem os últimos humanos.


Temática

  • transumanismo,

  • clonagem,

  • sobrevivência espacial,

  • evolução humana.


O diferencial

Tsutomu Nihei cria mundos:

  • frios,

  • industriais,

  • gigantescos,

  • silenciosos.

A arquitetura parece um “mainframe espacial brutalista”.


08 — 7SEEDS

Autor

  • Yumi Tamura

Lançamento

  • Mangá: 2001

  • Anime Netflix: 2019


Sinopse

Jovens são congelados criogenicamente para sobreviver ao colapso da humanidade.


Temática

  • sobrevivência extrema,

  • adaptação,

  • natureza hostil,

  • trauma psicológico.


O diferencial

O foco é sobrevivência REAL.

Sem glamour.
Sem heroísmo exagerado.

É quase um documentário psicológico de desastre.


09 — MADE IN ABYSS

Autor

  • Akihito Tsukushi

Lançamento

  • Mangá: 2012

  • Anime: 2017


O ANIME MAIS ENGANOSO DA LISTA

Parece infantil.

NÃO É.


Sinopse

Uma garota e um robô descem um gigantesco abismo cheio de criaturas e mistérios.


O que torna perturbador?

O Abyss funciona como:

  • inferno biológico,

  • exploração científica,

  • obsessão humana,

  • jornada sem retorno.


Temas

  • perda da inocência,

  • exploração,

  • sofrimento,

  • curiosidade humana.


O diferencial

A obra mistura:

  • visual fofo,

  • horror grotesco,

  • sofrimento extremo.

O contraste emocional é devastador.


10 — APOCALYPSE NO TORIDE

Autor

  • Yuu Kuraishi

  • Kazu Inabe

Lançamento

  • Mangá: 2011


Sinopse

Um presídio juvenil se torna zona de sobrevivência após um surto apocalíptico.


Temática

  • colapso social,

  • violência,

  • sobrevivência urbana,

  • paranoia.


Diferencial

É praticamente:
“Battle Royale encontra The Walking Dead”.

Muito mais brutal e claustrofóbico que outros títulos da lista.


☕ CONCLUSÃO — O QUE O PÓS-APOCALIPSE JAPONÊS TEM DE DIFERENTE?

No Ocidente:

  • o pós-apocalipse costuma focar ação.

No Japão:

  • o foco é trauma,

  • culpa coletiva,

  • perda da identidade,

  • falha da sociedade,

  • medo tecnológico,

  • desumanização.

O monstro quase nunca é o verdadeiro inimigo.

O inimigo geralmente é:

  • o sistema,

  • o Estado,

  • a guerra,

  • a solidão,

  • ou o próprio ser humano.

E talvez seja exatamente por isso que essas obras permanecem tão marcantes.

Porque elas não falam sobre o fim do mundo.

Elas falam sobre:

o que sobra da alma humana depois dele.


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