Pular para o conteúdo principal

Uma publicação com a etiqueta "legado"

Ver todas as etiquetas

O Projeto Legado do Zero

· 3 min para ler
Dev Cansado
Dev Full Stack Especialista XGH

Ou: quando o passado é copiado sem ser entendido.

O projeto é novo.

Novo de verdade.
Repositório zerado.
Stack atual.
Nome bonito.
Arquitetura “repensada”.

Nunca foi pra produção.

E mesmo assim, alguém solta:

“Isso aqui já virou legado.”

E virou mesmo.


📄 O detalhe que ninguém achou importante

Não tinha documentação.

Nenhuma.

Nem do sistema antigo.
Nem do domínio.
Nem das regras.
Nem dos fluxos.
Nem das decisões.

Só tinha código.

Código velho.
Confuso.
Acoplado.
Cheio de exceções históricas.

E alguém decidiu:

“É só copiar o que funciona.”


🧠 O dev e o voo às cegas

O dev não conhecia o domínio.
Não sabia o porquê das regras.
Não sabia o que era exceção.
Não sabia o que era gambiarra.
Não sabia o que era requisito real.

Mas tinha prazo.

Então fez o que todo mundo faz nessas condições:

👉 copiou o legado
👉 adaptou o nome das classes
👉 removeu o que parecia estranho
👉 manteve o que dava medo de mexer

E torceu.


🧩 Copy-paste não é reescrita

O problema é que:

  • copiar código não transfere entendimento
  • copiar regra não transfere contexto
  • copiar gambiarra não transfere motivo

O legado antigo tinha problemas.
Mas tinha história.

O novo projeto só herdou:

  • acoplamento
  • confusão
  • regras obscuras
  • comportamento inesperado

Sem saber por quê.


💥 A surpresa que ninguém esperava (mas todo mundo devia)

Depois de algumas sprints:

  • regra conflitante
  • bug inexplicável
  • fluxo impossível de testar
  • código que ninguém confia
  • medo de alterar qualquer coisa

E alguém percebe:

“A gente não entende mais esse sistema.”

Parabéns.
Você criou um legado.

Do zero.


🤡 O discurso padrão

A explicação oficial aparece rápido:

“A arquitetura não ficou boa.”
“Talvez a stack não tenha ajudado.”
“Acho que o design não foi bem pensado.”

Mentira.

O design não existiu.
O entendimento não existiu.
A base nunca existiu.

O projeto não falhou tecnicamente.
Ele nasceu sem chance.


♻️ Legado instantâneo™

Normalmente, um sistema vira legado depois de:

  • anos de mudanças
  • dezenas de devs
  • pressão de negócio
  • decisões contextuais

Aqui levou:

  • 2 sprints
  • 1 deadline
  • 0 documentação
  • muito copy-paste

Eficiência máxima.


😬 O impacto no time

Pro dev, fica assim:

  • sensação de incompetência sem culpa
  • medo de tocar no código
  • desmotivação precoce
  • dúvida constante
  • retrabalho iminente

E a frase que dói mais:

“Você que fez, deveria saber.”

Não deveria.

Nunca deram condição.


🚨 A verdade que ninguém gosta

Projeto novo que já nasce legado
não é problema de stack.
Não é problema de linguagem.
Não é problema de arquitetura.

É problema de:

  • ausência de conhecimento
  • falta de documentação
  • pressão sem entendimento
  • herança cega do passado

Copiar o legado sem entendê-lo
é só propagar o erro em versão nova.


🪦 Moral da história

Quando ninguém sabe como o sistema funciona,
reescrever não resolve.

Sem domínio,
sem documentação,
sem decisão consciente…

o projeto novo
vira legado
antes mesmo de nascer.

E o próximo,
se seguir o mesmo caminho,
vai morrer ainda mais rápido.