Todo Diretor de TI convive com pelo menos um sistema legado que sustenta operações críticas. Pode ser um ERP em Cobol rodando há vinte anos. Pode ser uma aplicação em Delphi que ninguém mais quer tocar. Ou ainda um conjunto de microsserviços de cinco anos atrás já considerados obsoletos. De fato, o conceito de “legado” não depende apenas de idade, mas sim de capacidade de evoluir junto com o negócio.
Este guia foi escrito para quem precisa decidir o que fazer com esses ativos. Aqui não tem teoria vazia, porque o foco está em risco, custo, ROI e cenários concretos. Vamos cobrir desde a definição técnica até faixas de preço reais de modernização. Além disso, mostramos quando manter o legado faz mais sentido do que substituí-lo.
Na KXP Tech, atuamos diariamente com squads dedicados de modernização que mergulham em códigos antigos. Por isso, este conteúdo combina referências da literatura técnica com aprendizados de campo. Boa leitura.
Um sistema legado é qualquer software em produção que usa tecnologias, arquiteturas ou práticas que dificultam sua evolução. Essa definição vai além da idade. Afinal, existem sistemas de três anos já considerados legados, enquanto outros de quinze anos seguem saudáveis. O que importa é o atrito para mudar.

A IBM define código legado como aquele que continua em uso mesmo sem suporte ativo, documentação adequada ou pessoal qualificado para mantê-lo. Por outro lado, Michael Feathers, autor referência no tema, propõe uma visão mais técnica. Para ele, código legado é todo código sem testes automatizados, porque sem testes você não consegue alterar com segurança.
Ambas definições são úteis, ou seja, descrevem ângulos diferentes do mesmo problema. Um sistema legado combina dívida técnica, conhecimento perdido e dependências obsoletas. Inclusive, muitos legados rodam em servidores físicos que ninguém quer desligar. Esse cenário é mais comum do que parece em empresas de médio e grande porte.
Existem indicadores objetivos para identificar um sistema legado dentro da sua operação. Veja se algum destes se aplica ao seu parque tecnológico atual.
O primeiro sinal é a dependência de pessoas específicas. Quando apenas dois ou três profissionais conseguem mexer no código, há risco operacional alto. Em seguida, vem a dificuldade de integração, porque qualquer nova API exige adaptadores complexos. Outro indicador é o tempo de deploy, já que algumas equipes ainda levam dias para colocar uma alteração em produção.
Custos crescentes de manutenção também denunciam um legado. De fato, quando o orçamento de sustentação supera o de evolução, o sistema virou peso morto. Por exemplo, é comum encontrar empresas gastando setenta por cento do budget de TI apenas em manutenção, segundo dados publicados pela Gartner sobre TI tradicional. Esse percentual deveria estar entre quarenta e cinquenta por cento em operações saudáveis.
Manter um sistema legado em operação raramente é uma decisão consciente. Geralmente, ele permanece porque ninguém quer assumir o risco da substituição. Contudo, essa inércia tem custo. O legado bloqueia inovação, eleva o TCO e cria vulnerabilidades de segurança que se acumulam com o tempo.

O primeiro impacto estratégico é a velocidade de resposta ao mercado. Quando um concorrente lança uma feature em duas semanas, você não pode demorar seis meses. No entanto, é exatamente isso que acontece com plataformas legadas mal estruturadas. Cada alteração exige análise de impacto em cinco módulos diferentes, porque a arquitetura é monolítica.
O segundo impacto é financeiro. Estudos da McKinsey sobre dívida técnica apontam que empresas gastam entre vinte e quarenta por cento do valor de seu estoque tecnológico apenas pagando juros dessa dívida. Ou seja, é dinheiro queimado em manutenção que poderia financiar inovação. Esse número assusta qualquer Diretor de TI que olhe seu orçamento com atenção.
Um sistema legado costuma rodar em versões de bibliotecas, frameworks e sistemas operacionais fora de suporte. Isso é, na prática, uma superfície de ataque ampliada. Vamos detalhar os riscos mais comuns no contexto corporativo brasileiro.
Vulnerabilidades não corrigidas são o problema mais óbvio. Quando o fornecedor de uma biblioteca interrompe o suporte, as falhas descobertas depois ficam abertas para sempre. Além disso, frameworks antigos não suportam padrões modernos de criptografia. Você acaba expondo dados de clientes em conexões que já não atendem à LGPD com folga.
A dependência de pessoas também é risco de segurança. Quando apenas um desenvolvedor conhece as regras de autenticação do sistema, qualquer ausência vira incidente. Por outro lado, a falta de testes automatizados impede que você valide patches rapidamente. Em alguns casos reais que vimos, uma correção urgente levou três semanas para ser publicada. Esse tempo é inaceitável em qualquer política de resposta a incidentes séria.
O TCO de um sistema legado é quase sempre maior do que parece nos relatórios. Há custos visíveis, como licenças, infraestrutura e equipe. Porém, existem custos invisíveis que pesam mais a longo prazo. Vamos abrir essa conta com critério.

Os custos visíveis aparecem no orçamento mensal. Licenças de banco de dados Oracle ou SQL Server consomem fatias relevantes. Servidores dedicados, contratos de suporte estendido e ferramentas de monitoramento legadas somam centenas de milhares de reais por ano. Inclusive, muitas empresas mantêm contratos de suporte premium apenas porque ninguém tem coragem de desligar.
Os custos invisíveis são mais perigosos, porque corroem o negócio silenciosamente. Há o custo de oportunidade, já que features que não são entregues representam receita perdida. Existe também o custo de produtividade dos desenvolvedores, porque mexer em código ruim consome o dobro do tempo. Inevitavelmente, há ainda o custo de turnover, já que ninguém quer construir carreira mantendo Cobol em 2026.
Para estimar o TCO real, recomendamos uma planilha simples com cinco categorias. Esse exercício deve ser refeito anualmente, ou pelo menos a cada ciclo orçamentário relevante.
A primeira categoria é infraestrutura, incluindo servidores, storage, backup e rede. A segunda é licenciamento de software, abrangendo bancos de dados, sistemas operacionais e middleware. Em seguida vem o custo de pessoal, considerando desenvolvedores, DBAs e operações dedicadas ao legado. Depois entra o custo de incidentes, ou seja, horas extras, downtime e impacto no cliente.
Por último, e talvez mais importante, está o custo de oportunidade. Esse item exige uma estimativa do que você deixou de entregar por causa da lentidão do sistema. Por exemplo, se um concorrente lançou pagamento por aproximação e você levou dois anos para fazer o mesmo, qual receita foi perdida? De fato, esse número costuma superar todos os outros somados. Muitos Diretores de TI ficam surpresos quando fazem essa conta pela primeira vez.
Existem várias estratégias para lidar com um sistema legado, cada uma com seu perfil de risco e ROI. A escolha certa depende do estado atual do software, do valor que ele entrega ao negócio e do apetite de risco da empresa. Vamos detalhar as seis abordagens mais comuns no mercado.

A primeira opção é o encapsulamento. Você mantém o sistema antigo rodando, porém o expõe via APIs modernas. Essa estratégia é rápida e barata, no entanto, não resolve a dívida técnica subjacente. Funciona como ponte temporária enquanto você planeja algo maior.
A segunda é a re-hospedagem, conhecida como lift and shift. Você move a aplicação para nuvem sem alterar o código. Inclusive, há ganhos imediatos de elasticidade e custo de infraestrutura. Por outro lado, todos os problemas estruturais continuam, então o ganho é limitado.
Quando o sistema legado tem valor de negócio claro mas estrutura ruim, refatoração costuma ser o melhor caminho. Essa é a estratégia que mais aplicamos em projetos da KXP, porque equilibra risco e ganho.
A refatoração consiste em melhorar o código sem alterar o comportamento externo. Você adiciona testes automatizados, quebra módulos grandes em menores e remove duplicações. Em seguida, atualiza dependências e versões de linguagem. Esse processo é incremental, ou seja, o sistema continua em produção enquanto evolui internamente.
A reengenharia vai um passo além. Aqui você reescreve partes significativas mantendo as funcionalidades originais. Por exemplo, transformar um monolito em microsserviços é reengenharia. Em outro caso, migrar de Java 6 para Java 21 com Spring Boot moderno também entra nessa categoria. De fato, projetos de reengenharia bem conduzidos entregam ganhos de performance entre trinta e setenta por cento. Inclusive, reduzem o custo de manutenção mensal em proporção semelhante.
A substituição completa é a estratégia mais arriscada, porém às vezes inevitável. Antes de partir para esse caminho, é preciso avaliar com frieza se realmente vale a pena. Vamos discutir os critérios e os riscos.
A substituição faz sentido quando a tecnologia base está extinta sem alternativa viável. Também se justifica quando o modelo de negócio mudou tanto que o sistema antigo virou obstáculo conceitual, não apenas técnico. Em projetos como o Black Ticket que conduzimos, a substituição foi escolhida porque a plataforma anterior simplesmente não suportava o volume necessário.
O risco principal da substituição é o que chamamos de big bang. Você desenvolve a nova versão por dois anos, lança tudo de uma vez e descobre falhas críticas em produção. Por isso, recomendamos sempre uma abordagem incremental, conhecida como strangler fig. Você constrói o novo sistema ao redor do antigo, migrando funcionalidades aos poucos. Dessa forma, o risco é distribuído ao longo do projeto.
Modernizar um sistema legado é um projeto de alto risco quando mal conduzido. Vimos diversas iniciativas falharem por erros previsíveis. Vamos listar os mais frequentes para que você possa evitá-los na sua organização.

O primeiro erro é subestimar o conhecimento tribal embutido no código antigo. Aquele if estranho no meio da função de cálculo de impostos provavelmente existe por uma razão regulatória de 2014. Quando você reescreve sem entender, recria o bug original ou quebra uma regra de negócio crítica. Por isso, a fase de descoberta é obrigatória.
O segundo erro é tentar modernizar tudo de uma vez. Projetos big bang têm taxa de falha alta, segundo diversos estudos sobre transformação digital. Inclusive, a complexidade cresce exponencialmente quando você muda linguagem, banco de dados e arquitetura simultaneamente. Recomendamos um vetor de mudança por vez sempre que possível.
Nem todo sistema legado precisa ser modernizado. Algumas vezes, manter é a decisão certa. Vamos detalhar os cenários em que a inércia vence o investimento.
Quando o sistema está estável, atende às necessidades atuais e o roadmap de produto não exige mudanças, modernizar é desperdício. Afinal, software que funciona e não bloqueia o negócio não é problema. Inclusive, há sistemas legados que rodam há décadas com custo de manutenção decrescente porque ninguém os toca. Esse é o cenário ideal, embora raro.
Outro caso é quando o sistema está em fase de descontinuação planejada. Se a operação atendida será encerrada em dois anos, gastar em modernização não faz sentido. Bem como, se a empresa será vendida ou cindida, mexer no legado pode complicar a transação. Visto que esses cenários existem, a recomendação é avaliar caso a caso. Não modernize por modismo, modernize por necessidade estratégica clara e mensurável.
Preço é a pergunta que todo Diretor de TI faz mais cedo ou mais tarde. Vamos abrir faixas reais baseadas em projetos que conduzimos. Esses números são para o mercado brasileiro em 2025 e 2026, com squads dedicados experientes.
Projetos de encapsulamento e APIficação simples ficam entre oitenta e cento e cinquenta mil reais. Esse valor cobre um squad pequeno por dois a três meses, construindo camada de API REST sobre o sistema antigo. Por exemplo, expor um ERP legado para integração com app mobile cabe nessa faixa.
Refatoração estruturada de um módulo crítico fica entre cento e cinquenta e trezentos mil reais. Aqui já entra um squad maior, com QA dedicado e PO acompanhando descobertas. O prazo típico é de quatro a seis meses, dependendo do tamanho do módulo. Inclusive, esse é o formato mais procurado pelos nossos clientes atuais.
Projetos de reengenharia ou substituição completa exigem orçamentos maiores. Os valores variam bastante conforme escopo, então vamos detalhar as faixas mais comuns.
Reengenharia de um sistema médio fica entre trezentos e quinhentos mil reais. Esse valor cobre um squad multidisciplinar completo por seis a nove meses. Estão inclusos backend, frontend ou mobile, QA, UX e PO. Em seguida, há projetos de transformação ampla que ultrapassam quinhentos mil. Esses contratos envolvem múltiplos squads em paralelo, durando doze meses ou mais.
Há ainda os projetos de modernização com IA aplicada, que mostram um padrão de custo diferente. Por exemplo, o Sentinela, que construímos para a Defesa Civil de Minas Gerais, combina IA preditiva com integração a sistemas existentes. Esse tipo de projeto exige expertise específica em modelos de machine learning. Portanto, costuma ficar na faixa acima de quatrocentos mil reais, dependendo do volume de dados e da complexidade dos modelos.
A estrutura do projeto importa tanto quanto a estratégia técnica escolhida. Um bom plano de modernização tem quatro fases claras. Vamos passar por cada uma com foco em entregáveis concretos.
A primeira fase é a descoberta, que dura entre duas e quatro semanas. Aqui o squad mapeia arquitetura, identifica dependências e entrevista usuários-chave. O entregável é um documento de visão arquitetural com riscos mapeados. Inclusive, essa fase já gera quick wins identificados, que podem ser atacados imediatamente.
A segunda fase é o planejamento incremental, com definição de fatias de entrega. Cada fatia deve ter valor de negócio claro, prazo máximo de três meses e critérios de aceite objetivos. Em seguida vem a execução, idealmente em sprints de duas semanas. Por último, há a estabilização, fase frequentemente esquecida mas crítica para sucesso de longo prazo.
Modernizar um sistema legado com freelancers ou consultorias rotativas raramente funciona. O conhecimento tribal precisa ser absorvido, e isso exige continuidade. Vamos explicar por que squads dedicados são a melhor escolha.
Um squad dedicado mergulha no contexto do cliente por meses ou anos. Os profissionais entendem regras de negócio, peculiaridades técnicas e expectativas dos stakeholders. Dessa forma, decisões arquiteturais ficam alinhadas com objetivos reais. Por outro lado, equipes rotativas perdem contexto a cada troca, gerando retrabalho.
Na KXP Tech, montamos squads multidisciplinares que combinam desenvolvedores backend, mobile, web, QA, UX e PO. Cada squad é dimensionado para o desafio específico do cliente. Em projetos de modernização, costumamos começar com squad pequeno na fase de descoberta. Em seguida, escalamos conforme as fatias de entrega ganham clareza. Esse modelo reduz risco financeiro e dá flexibilidade ao Diretor de TI, que pode pivotar conforme aprende.
Casos concretos ajudam a calibrar expectativas. Vamos compartilhar quatro projetos que ilustram diferentes estratégias de modernização. Cada um teve seu próprio contexto e ROI mensurável.
O caso Sentinela é um exemplo de integração com sistemas existentes da Defesa Civil. Em vez de substituir as bases de dados meteorológicas e geológicas, construímos uma camada de IA por cima. O aplicativo agrega dados em tempo real e prevê instabilidades em encostas. Dessa forma, o sistema legado de monitoramento ganhou capacidades preditivas sem ser tocado.
O Toppayy seguiu caminho diferente, com reescrita completa para Flutter visando alto volume de transações. A plataforma anterior não suportava o crescimento projetado, portanto a substituição foi a escolha certa. Detalhes do projeto estão disponíveis na página do Toppayy no nosso portfólio. Esse case mostra que substituição pode funcionar quando o volume justifica.
Cada projeto nos ensinou algo que aplicamos nos seguintes. Vamos compartilhar três aprendizados que pautam nossa abordagem atual em qualquer iniciativa de modernização.
O primeiro aprendizado é que testes automatizados são pré-requisito, não luxo. Antes de refatorar qualquer linha relevante, construímos uma rede mínima de testes de integração. Sem isso, qualquer mudança vira aposta. Inclusive, em projetos como o Fidelizei, conseguimos entregar MVP em duas semanas justamente porque a arquitetura nasceu testável desde o primeiro dia.
O segundo aprendizado é que descoberta contínua vence requisitos congelados. Modernização não é igual construção de produto novo, porque há descobertas semanais sobre o que o sistema antigo realmente fazia. Por isso, o PO precisa ter autonomia para repriorizar fatias. O terceiro aprendizado é que comunicação com stakeholders precisa ser semanal, com demonstrações visíveis. Visto que muitos executivos não confiam em modernização, mostrar evolução constante é fundamental para manter o projeto vivo. Esse aspecto cultural pesa tanto quanto a parte técnica.
Se você chegou até aqui, provavelmente tem um sistema legado pesando no orçamento. A boa notícia é que existem caminhos viáveis para qualquer cenário. A má notícia é que adiar a decisão só aumenta o custo. Por isso, recomendamos começar com uma avaliação estruturada antes do fim do trimestre.
Na KXP Tech, oferecemos workshops de descoberta arquitetural para Diretores de TI que precisam decidir entre manter, refatorar ou substituir. Em duas semanas, nosso squad de arquitetos entrega um diagnóstico técnico com recomendação clara e estimativa de investimento. De fato, esse formato já guiou dezenas de decisões importantes em empresas de médio e grande porte. Veja outros conteúdos do blog sobre arquitetura e modernização, ou explore nosso guia de squads dedicados e análises sobre IA aplicada para aprofundar.
Quer conversar sobre seu cenário específico? Fale conosco pelo formulário de contato ou diretamente no WhatsApp da KXP. Em uma conversa de trinta minutos, conseguimos indicar a melhor estratégia para o seu caso. Modernizar um sistema legado é decisão estratégica, então merece ser tomada com informação técnica de qualidade.
15 Minutos de leitura
Lucas Toledo é CEO da KXP Tech e especialista em desenvolvimento de produtos digitais, com mais de 8 anos de experiência em desenvolvimento mobile e arquitetura de sistemas. Ao longo da carreira, liderou o desenvolvimento de aplicativos e plataformas como Inner, Black Ticket e Toppayy, entre outros projetos voltados para diferentes mercados. Na KXP Tech, atua ajudando empresas e empreendedores a transformar ideias em produtos digitais escaláveis, desde a validação da ideia até o lançamento no mercado. Sua experiência combina desenvolvimento, estratégia de produto e visão de negócio. Ao longo dos anos, ele e sua equipe já ajudaram mais de 50 empresas a planejar, desenvolver e lançar seus aplicativos e sistemas, sempre com foco em qualidade, transparência e resultado. No blog, compartilha insights sobre tecnologia, inteligência artificial, desenvolvimento de sistemas e construção de produtos digitais, além de experiências reais do dia a dia criando soluções para startups e empresas.