Programação

O que é Software Legado?

Software legado: o que é, por que continua em uso, principais problemas e estratégias para lidar com ele (manter, reengenharia, migrar ou substituir).

Capa: O que é Software Legado?

Software legado é um sistema antigo, desenvolvido há muito tempo, mas que ainda executa funções essenciais para a empresa. Pode estar em linguagens e plataformas ultrapassadas (como COBOL e sistemas de grande porte), e mesmo assim ser crítico para o negócio.

Por que ainda existe

  • Funciona e concentra anos de regras de negócio.
  • Reescrever é caro, arriscado e demorado.
  • Poucas pessoas conhecem todo o sistema.

Problemas comuns

  • Baixa qualidade e documentação pobre ou inexistente.
  • Dependência de poucas pessoas que conhecem o código.
  • Tecnologia sem suporte: linguagens, bancos e sistemas fora de manutenção, com riscos de segurança.
  • Dificuldade de integração com sistemas e APIs modernos.
  • Custo crescente de manutenção e de mudanças.

Estratégias

EstratégiaQuando faz sentido
Manter e ajustarO sistema é estável e muda pouco. Documente e crie testes.
Encapsular (APIs)Expor funções do legado por APIs para outros sistemas, sem mexer no núcleo.
ReengenhariaReestruturar o código para melhorar a manutenção. Veja reengenharia de software.
Migração gradualSubstituir partes aos poucos (padrão Strangler Fig), reduzindo o risco.
Substituição completaQuando o custo de manter supera o de trocar; exige planejamento rigoroso.

Por onde começar

  1. Faça um inventário: o que o sistema faz, quem usa, o que depende dele.
  2. Documente regras de negócio e fluxos críticos.
  3. Crie testes que garantam o comportamento atual.
  4. Defina a estratégia por parte do sistema, e não de uma vez.

Cuidado

"Legado" não significa "ruim". Significa software que sustenta o negócio hoje. Trocar sem entender as regras embutidas nele é um dos riscos mais comuns de projetos de modernização.

Mais artigos