Translate

Mostrar mensagens com a etiqueta Frederick Brooks. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Frederick Brooks. Mostrar todas as mensagens

segunda-feira, 21 de dezembro de 2020

Bala de Prata sem Mistérios

 

Bellacosa Mainframe e a bala de prata sem misterios

☕ Um Café no Bellacosa Mainframe

Bala de Prata sem Mistérios

O Guia Definitivo para um Programador COBOL Padawan Entender Por Que Não Existe Tecnologia Mágica Capaz de Resolver Todos os Problemas

Existe uma frase muito conhecida na Engenharia de Software que costuma aparecer em reuniões, palestras, livros e até em propagandas de novas tecnologias:

"Não existe bala de prata."

Para quem está começando no universo do COBOL e do IBM Mainframe, essa expressão pode soar estranha.

O que uma bala tem a ver com programação?

E por que justamente uma bala feita de prata?

A resposta mistura folclore europeu, literatura fantástica, engenharia, administração, marketing, inteligência artificial e quase cinquenta anos de história da computação.

Pegue seu café.

Hoje vamos descobrir por que "bala de prata" talvez seja uma das expressões mais importantes que um programador COBOL pode aprender.


O significado da expressão

"Bala de prata" (Silver Bullet) significa:

Uma solução única, simples e milagrosa capaz de resolver um problema extremamente complexo.

Na prática, quando alguém diz:

"Essa ferramenta é a bala de prata."

Está dizendo:

"Ela resolve praticamente tudo."

O detalhe é que, quase sempre...

isso não é verdade.

Na Engenharia de Software a expressão costuma ser usada justamente no sentido contrário:

Desconfie de quem promete uma bala de prata.


A origem da bala de prata

A expressão nasceu muito antes dos computadores.

Ela vem do folclore europeu medieval.

Segundo diversas lendas, criaturas sobrenaturais como:

  • lobisomens

  • demônios

  • vampiros

  • monstros amaldiçoados

não podiam ser mortos por armas comuns.

A única arma capaz de derrotá-los era:

uma bala feita de prata pura.

Por isso ela ficou conhecida como a única solução definitiva.

Essa ideia aparece em inúmeras histórias dos séculos XVII, XVIII e XIX.

Mais tarde foi popularizada pela literatura gótica.

Depois pelo cinema.

Depois pelos quadrinhos.

Depois pelos videogames.

Até chegar...

na Engenharia de Software.


O primeiro uso registrado

A ideia da bala de prata existe há centenas de anos.

Mas o uso moderno em tecnologia ficou famoso graças a um único artigo.

Em 1986.

Escrito por um dos maiores cientistas da computação da história.

Frederick P. Brooks Jr.

Seu artigo recebeu o título:

No Silver Bullet — Essence and Accidents of Software Engineering

Publicado na revista IEEE Computer.

Esse artigo mudou completamente a forma como a indústria pensa desenvolvimento de software.

Até hoje ele continua sendo citado.

Quase quarenta anos depois.


Quem foi Frederick Brooks?

Brooks foi gerente do projeto IBM System/360.

Depois liderou o desenvolvimento do sistema operacional OS/360.

Ou seja...

Ele viveu exatamente os problemas que milhões de programadores enfrentam até hoje.

Projetos gigantes.

Milhares de pessoas.

Prazos.

Mudanças.

Complexidade.

Ele percebeu algo interessante.

Toda década aparecia alguém prometendo:

  • nova linguagem

  • novo paradigma

  • novo hardware

  • novo compilador

  • nova metodologia

que resolveria todos os problemas da engenharia de software.

Nunca resolvia.


A grande ideia do artigo

Brooks dividiu os problemas de software em duas categorias.

Complexidade acidental

São dificuldades criadas pelas ferramentas.

Por exemplo:

Programar em Assembly.

Cartões perfurados.

Pouca memória.

Editor ruim.

Compilador limitado.

Esses problemas podem diminuir com tecnologia melhor.


Complexidade essencial

Essa é diferente.

Ela faz parte do próprio problema.

Imagine um banco.

Existem:

clientes

contas

cartões

PIX

TED

DOC

empréstimos

seguros

investimentos

fraudes

compliance

auditoria

LGPD

criptografia

riscos

Tudo isso existe independentemente da linguagem.

Mesmo usando IA.

Mesmo usando Java.

Mesmo usando Python.

Mesmo usando COBOL.

Essa complexidade nunca desaparece.


A famosa conclusão

Brooks escreveu uma frase histórica.

Em resumo:

Não existe nenhuma tecnologia capaz de produzir um ganho de dez vezes na produtividade resolvendo simultaneamente complexidade, confiabilidade e simplicidade.

Ou seja.

Não existe milagre.


Por que essa ideia continua atual?

Porque a indústria muda de nome.

Mas não muda de comportamento.

Ontem era:

CASE

Depois:

Visual Programming

Depois:

RAD

Depois:

SOA

Depois:

Cloud

Depois:

Microservices

Depois:

Containers

Depois:

Low-Code

Depois:

No-Code

Agora:

IA Generativa

Agentes

LLMs

MCP

RAG

Todas essas tecnologias têm enorme valor.

Mas nenhuma elimina a complexidade do negócio.


Um exemplo no Mainframe

Imagine um banco.

Um sistema COBOL possui:

12 milhões de linhas.

5 mil programas.

800 transações CICS.

300 tabelas Db2.

Filas MQ.

Batch.

VSAM.

IMS.

JCL.

SMF.

RACF.

Alguém chega dizendo:

"Vamos migrar tudo para linguagem X."

Pergunta.

O problema desapareceu?

Não.

As regras continuam exatamente iguais.

O sistema apenas mudou de roupa.


Outro exemplo

Um gerente diz:

"Vamos colocar Inteligência Artificial."

Ótimo.

Mas a IA ainda precisa entender:

qual regra calcula juros

qual regra calcula IOF

qual regra trata cheque especial

qual regra trata limite

qual regra trata renegociação

A IA não inventa essas regras.

Ela precisa aprendê-las.


Easter Egg

Pouca gente percebe.

O artigo "No Silver Bullet" foi publicado em 1986.

Na mesma década em que:

COBOL dominava bancos.

CICS crescia.

Db2 amadurecia.

MVS evoluía.

Quase quarenta anos depois...

Todos ainda existem.

Isso mostra que Brooks estava certo.


Curiosidade

Até hoje existem dezenas de artigos chamados:

"The New Silver Bullet"

"The Next Silver Bullet"

"The AI Silver Bullet"

"The Cloud Silver Bullet"

Curiosamente...

todos acabam chegando à mesma conclusão.

Não existe.


Como identificar uma falsa bala de prata

Sempre desconfie quando ouvir frases como:

"Resolve tudo."

"Não precisa mais programar."

"Nunca mais haverá bugs."

"Substitui qualquer linguagem."

"Elimina arquitetos."

"Acabou o COBOL."

"Acabou o Mainframe."

"Nunca mais será necessário DBA."

Essas frases normalmente aparecem antes de uma decepção.


O marketing adora balas de prata

Marketing precisa vender novidade.

Nada vende mais do que prometer facilidade.

Por isso surgem frases como:

"Programação sem programadores."

"Banco de dados sem DBA."

"Infraestrutura sem administradores."

"Aplicação sem arquitetura."

Na prática...

alguém sempre faz esse trabalho.

Apenas mudou de nome.


No universo COBOL

Quantas vezes ouvimos:

"O COBOL morreu."

Depois:

"O Java vai substituir."

Depois:

"O .NET vai substituir."

Depois:

"Python."

Depois:

"Cloud."

Depois:

"IA."

Enquanto isso...

milhões de linhas COBOL continuam processando bilhões de dólares diariamente.

Não porque COBOL seja perfeito.

Mas porque resolve muito bem determinados problemas.


A verdadeira bala de prata do programador

Curiosamente...

Ela não é uma tecnologia.

É conhecimento.

Conhecimento sobre:

negócio

arquitetura

testes

segurança

dados

comunicação

documentação

engenharia

Esse conjunto vale muito mais que qualquer ferramenta.


Exemplo Bellacosa Mainframe

Imagine um Padawan COBOL.

Ele pergunta:

"Qual linguagem devo aprender para nunca mais ter problemas?"

A resposta do Mestre seria:

"Nenhuma."

Depois explicaria:

Aprenda lógica.

Modelagem.

Algoritmos.

Estruturas de dados.

Banco de dados.

Sistemas Operacionais.

Arquitetura.

Comunicação.

Esses conhecimentos sobrevivem a qualquer linguagem.


Os perigos de acreditar em balas de prata

Quando uma empresa acredita em milagres tecnológicos pode acontecer:

Projetos cancelados.

Milhões desperdiçados.

Migrações fracassadas.

Retrabalho.

Perda de conhecimento.

Desmotivação da equipe.

Falhas em produção.

Prazos impossíveis.

Tudo porque alguém acreditou que uma tecnologia resolveria problemas de gestão.


Os sinais de alerta

Um programador experiente costuma desconfiar quando escuta:

"Não precisa testar."

"É automático."

"É impossível errar."

"Não precisa documentação."

"A IA faz tudo."

"Não existe curva de aprendizado."

"É só apertar um botão."

Na Engenharia de Software...

essas frases quase sempre escondem armadilhas.


A Inteligência Artificial é uma bala de prata?

Não.

Ela é uma ferramenta extraordinária.

Pode:

escrever código

explicar programas

gerar documentação

traduzir linguagens

encontrar bugs

criar testes

ajudar aprendizado

Mas continua dependendo de:

dados corretos

prompts corretos

contexto

engenheiros

revisão humana

governança

Ela acelera.

Não substitui conhecimento.


E no IBM Mainframe?

Hoje temos:

IBM watsonx

IBM Z Assist

GitHub Copilot

ChatGPT

Claude

Gemini

Todos ajudam bastante.

Mas nenhum conhece sozinho:

as regras específicas do seu banco.

Nem do seu seguro.

Nem da sua empresa.

Quem conhece isso é a equipe.


A razão de usar essa expressão

A expressão continua viva porque funciona como um lembrete.

Ela combate um dos maiores riscos da tecnologia:

acreditar que ferramentas substituem engenharia.

Toda tecnologia deve ser avaliada por perguntas como:

  • Qual problema ela resolve?

  • Quais problemas ela não resolve?

  • Quanto custa?

  • Qual o retorno?

  • Como integra ao legado?

  • Quem dará manutenção?

  • Qual o impacto operacional?

Essas perguntas são mais importantes do que o nome da tecnologia.


A lição para um COBOL Padawan

Existe uma analogia perfeita com Star Wars.

Todo Padawan procura o sabre de luz perfeito.

Mas Yoda nunca ensinou que a força estava na espada.

Ela estava no treinamento.

Na disciplina.

Na experiência.

Na paciência.

Na capacidade de aprender continuamente.

Na Engenharia de Software acontece exatamente a mesma coisa.

O compilador muda.

A linguagem muda.

O framework muda.

O banco de dados muda.

A infraestrutura muda.

Mas os princípios permanecem.


Conclusão

A expressão "bala de prata" atravessou séculos porque representa um desejo humano muito antigo: encontrar uma solução simples para problemas difíceis. No folclore, era a única arma capaz de derrotar monstros. Na Engenharia de Software, tornou-se um alerta contra promessas exageradas.

Frederick Brooks mostrou que a maior parte dos desafios do desenvolvimento não nasce da linguagem, do compilador ou do hardware, mas da própria complexidade do negócio. É por isso que, décadas depois, bancos, seguradoras, governos e grandes empresas continuam evoluindo seus sistemas em IBM Z e COBOL enquanto incorporam IA, APIs, containers e computação em nuvem. As novas tecnologias ampliam capacidades, mas não eliminam a necessidade de entender regras de negócio, projetar boas arquiteturas, testar, documentar e manter sistemas críticos.

Para o Programador COBOL Padawan, a verdadeira "bala de prata" não está em uma linguagem da moda nem em uma ferramenta milagrosa. Ela está na combinação de curiosidade, estudo contínuo, domínio dos fundamentos, capacidade de compreender o negócio e humildade para reconhecer que toda tecnologia tem pontos fortes e limitações.

Da próxima vez que alguém afirmar que encontrou a solução definitiva para todos os problemas da computação, sorria, tome um gole de café e lembre-se da maior lição de Frederick Brooks:

Na Engenharia de Software, não existem atalhos mágicos. Existem profissionais que aprendem continuamente e constroem soluções sólidas, um programa de cada vez.