Modernização de sistemas legados
O que entregamos, como funciona a substituição progressiva e o que ela traz para a operação.
ARTIGO · SISTEMAS LEGADOS
Sistema legado não quer dizer sistema velho, nem sistema ruim. Quer dizer sistema que a empresa ainda depende e já não consegue mudar com segurança. Este texto define o termo, lista os sinais que o caracterizam e mostra o que a decisão de modernizar exige.
Sistema legado é um sistema de informação que a operação ainda depende e que já não pode ser alterado com segurança dentro do prazo e do custo que o negócio aceita. Em inglês, legacy system.
Não existe uma definição normativa única e de acesso público para o termo. A definição mais objetiva que encontramos em texto oficial está na lei federal norte-americana, que descreve um legacy information technology system como “um sistema de tecnologia da informação ultrapassado ou obsoleto”. É curta e, sozinha, insuficiente: ela diz o que o sistema é, não o que ele causa. Por isso a definição prática que usamos em diagnóstico técnico é a do primeiro parágrafo — ela se apoia em dependência e em risco de mudança, que são coisas mensuráveis.
A distinção importa porque muda a conversa. “Sistema velho” é uma observação sobre idade. “Sistema legado” é uma observação sobre capacidade de mudança: quanto custa, hoje, alterar uma regra de negócio nesse sistema sem derrubar a operação.
Nenhum sinal isolado caracteriza. A combinação de três ou mais, sim.
| Sinal | Como aparece no dia a dia |
|---|---|
| Base técnica fora de suporte | A linguagem, o banco, o framework ou o sistema operacional já não recebem correção do fabricante. Uma falha de segurança descoberta hoje não será corrigida. |
| Conhecimento concentrado | Uma ou duas pessoas sabem por que aquela regra existe. A documentação, quando existe, está desatualizada em relação ao código. |
| Mudança cara e arriscada | Alterar um campo exige testar manualmente meia dúzia de telas, porque não há teste automatizado que prove que nada quebrou. |
| Integração por contorno | O sistema conversa com os outros por exportação de arquivo, planilha intermediária ou leitura direta no banco — não por interface documentada. |
| Dado preso | Extrair uma informação para relatório ou para IA exige acesso ao banco de produção, porque não existe outro caminho. |
O relatório do órgão de auditoria do governo norte-americano sobre os onze sistemas federais mais críticos mostra os mesmos sinais medidos em campo: oito dos onze usavam linguagens legadas como COBOL e assembly; quatro operavam com hardware, software ou sistema operacional sem suporte do fabricante; e sete rodavam com vulnerabilidades de segurança conhecidas que não podem ser corrigidas sem modernização.
Esse último dado é o que costuma mudar a prioridade dentro da empresa. Não é uma questão de conforto da equipe de TI: é uma falha conhecida, publicada, para a qual não existe correção enquanto o sistema permanecer como está.
Idade sozinha não define, mas fim de suporte define. Os casos abaixo aparecem com frequência em diagnóstico:
O sistema mais citado como exemplo extremo é o Individual Master File da receita federal norte-americana, descrito em depoimento oficial ao Congresso como um sistema de 60 anos, escrito em “uma linguagem arcaica que exige competências especializadas”. Não é uma curiosidade: é o registro tributário de pessoa física de um país inteiro, em produção.
Um sistema chega a legado justamente porque deu certo. Ele foi usado, absorveu regra de negócio ao longo de anos e virou a memória operacional da empresa. Boa parte do que ele faz não está escrita em lugar nenhum além do próprio código.
Isso tem duas consequências práticas. A primeira: reescrever do zero costuma ser mais arriscado do que parece, porque a especificação verdadeira é o comportamento atual, e ninguém a conhece por inteiro. A segunda: o valor a preservar não é o código, é a regra. Um projeto de reengenharia que preserva a regra e substitui a base técnica entrega o que a empresa precisa; um que preserva o código e troca só a aparência não resolve nada.
Modernizar por modernizar é despesa. Os critérios abaixo são os que usamos para dizer que vale — e para dizer que não vale.
Vale quando a base técnica está fora de suporte e há vulnerabilidade conhecida sem correção; quando o custo de manter já compete com o de substituir; quando o sistema impede algo que o negócio decidiu fazer (integrar, escalar, usar o próprio dado); ou quando o conhecimento está concentrado em pessoas que podem sair.
Não vale quando o sistema é estável, isolado, tem pouca mudança prevista e nenhuma exposição externa. Nesse caso o dinheiro rende mais em outro lugar, e a decisão correta é registrar o risco e revisitar em prazo definido.
Há um dado que ajuda a dimensionar a inércia: no orçamento federal norte-americano de TI para o exercício de 2025, cerca de US$ 83 bilhões — 79% do total planejado — estavam destinados a operar e manter o que já existe. O órgão de auditoria registra que essa proporção de aproximadamente 80% se repete ano após ano. É a fotografia do que acontece quando a decisão de modernizar é sempre adiada: o orçamento inteiro passa a ser consumido pela manutenção, e não sobra margem para o resto.
Vale a ressalva metodológica: esses números são do governo federal dos Estados Unidos e não descrevem o parque brasileiro. Não encontramos estatística oficial brasileira que quantifique idade, número ou custo de sistemas legados. O que existe é registro qualitativo — o Tribunal de Contas da União, ao auditar o INCRA, apontou a “ausência de controles adequados nos sistemas legados” do órgão, sem quantificar.
O ponto de partida honesto é que a maior parte dos sistemas legados críticos não tem plano. Dos onze sistemas federais mais necessitados de modernização no levantamento citado, apenas três tinham plano plenamente documentado, seis tinham plano parcial e dois não tinham plano nenhum. A ausência de plano é o defeito mais comum, mais até do que a tecnologia antiga.
O método que aplicamos é substituição progressiva, em cinco etapas:
O que existe, o que ninguém documentou, o que não pode parar e onde estão as regras de negócio de fato — antes de qualquer proposta.
Um módulo por vez, com a regra extraída do sistema atual e reescrita sobre base técnica em suporte.
O novo e o legado processam a mesma requisição e as respostas são comparadas. A divergência aparece antes de qualquer usuário ver.
O percentual de uso migra por etapas, com retorno imediato ao legado se algum indicador sair do padrão. O retorno faz parte do desenho, não é plano de emergência.
Código, documentação e transferência de conhecimento para a equipe que vai manter.
A diferença entre esse desenho e uma reescrita convencional está na etapa três. Comparar as respostas do sistema novo com as do legado, com tráfego real, é o que transforma “achamos que está igual” em evidência. Sem isso, a validação depende de alguém lembrar de todas as regras — e é exatamente essa lembrança que não existe em sistema legado.
O que entregamos, como funciona a substituição progressiva e o que ela traz para a operação.
Uma seção para cada base: Delphi, VB6, Access, Clipper, FoxPro, COBOL, Oracle Forms, PHP antigo e SAP.
Débito técnico, obsolescência, engenharia reversa e os outros termos que aparecem no diagnóstico.
Trinta minutos para entender a base técnica, o risco de mudança e o que faria sentido substituir primeiro.
Respondemos em até 1 hora útil. Confirmação no mesmo dia útil.