Reescrever do zero só compensa quando o sistema não pode mais evoluir e a regra de negócio já está bem documentada. Refatorar serve quando a base é boa e o problema é localizado. Modernizar com agentes de IA, por etapas e com revisão humana, costuma ser o caminho para sistema crítico que não pode parar.
A decisão raramente é técnica só. Ela envolve quanto a operação aguenta de risco, quanto do conhecimento do sistema ainda está na cabeça das pessoas e quanto tempo o negócio pode esperar. Este texto compara os três caminhos e traz as perguntas que ajudam a escolher.
Qual é a diferença entre os três caminhos?
| Caminho | O que é | Quando faz sentido | Principal risco |
|---|---|---|---|
| Reescrever | Construir um sistema novo e desligar o antigo. | A tecnologia não tem mais suporte, ou o modelo de negócio mudou tanto que pouco do sistema serve. | Perder regras que só existem no código e passar anos mantendo dois sistemas. |
| Refatorar | Melhorar a estrutura do código sem mudar o que ele faz. | A base é sólida, e os problemas estão em partes conhecidas. | Consumir orçamento sem resolver a causa, se o problema for a arquitetura. |
| Modernizar com agentes | Substituir o sistema por partes, com agentes de IA fazendo a conversão e pessoas aprovando cada etapa. | O sistema é crítico, grande e mal documentado, e a operação não pode parar. | Aceitar código gerado sem revisão, com falhas que ninguém viu. |
Quando reescrever do zero vale o risco?
Reescrever é o caminho mais atraente no papel e o mais arriscado na prática. Em 2000, Joel Spolsky usou a reescrita do Netscape como exemplo do pior erro estratégico que uma empresa de software pode cometer: o código antigo, por mais feio que pareça, carrega anos de correções e casos que ninguém lembra mais.
Vale considerar a reescrita quando as três condições abaixo são verdadeiras ao mesmo tempo:
- A tecnologia atual impede a evolução, e não apenas a torna mais cara.
- As regras de negócio estão documentadas, ou há pessoas que as conhecem e têm tempo para ajudar.
- O negócio aguenta um período longo com pouca novidade no sistema atual.
Quando refatorar já resolve?
Se os problemas se concentram em poucos módulos e a arquitetura ainda atende, refatorar é o caminho mais barato e o de menor risco. O ponto de atenção é medir antes e depois. Sem indicadores, a refatoração vira um gasto contínuo, sem data para acabar e difícil de defender no orçamento. Nosso texto sobre como priorizar débitos técnicos com métricas detalha como fazer isso.
O que os agentes de IA mudam na modernização?
A substituição por partes não é ideia nova. Martin Fowler a descreve como o padrão Strangler Fig: o sistema novo cresce em volta do antigo e assume uma função de cada vez, até o antigo poder ser desligado. O que limitava esse caminho era o custo de entender e converter muito código antigo.
É aí que os agentes ajudam. Eles leem o sistema, documentam as regras que encontram e geram a conversão. Nos projetos em que usamos o método Core Up, medimos conversão até 92% mais rápida que nos métodos tradicionais, custo de manutenção 3 vezes menor depois da modernização e nenhuma parada na operação. São números dos nossos projetos, sem auditoria externa, e cada sistema tem seu próprio ponto de partida.
Os agentes não eliminam o risco. Um estudo de Fu e colegas, publicado na ACM TOSEM em 2025, encontrou fraquezas de segurança em 29,5% dos trechos em Python gerados por IA em projetos do GitHub. Na nossa pesquisa com 103 profissionais de TI no APIX 2026, 76% só usariam esse código com revisão antes de produção. Sem regras claras do que o agente pode fazer e sem uma pessoa responsável por aprovar cada etapa, a velocidade só antecipa o problema.
Cinco perguntas para decidir
- O sistema pode parar? Se não pode, reescrever de uma vez fica muito difícil. Prefira substituir por partes.
- Quem conhece as regras de negócio? Se o conhecimento está só no código, comece extraindo esse conhecimento, qualquer que seja o caminho.
- Onde está o problema? Em poucos módulos, refatorar costuma bastar. Na arquitetura inteira, refatorar só adia a decisão.
- A tecnologia ainda tem suporte? Sem suporte, o risco de segurança passa a contar mais do que o custo da mudança.
- Quem aprova o que a IA gera? Se não houver um nome para cada aprovação, resolva isso antes de acelerar.
Por onde começar?
Comece por um diagnóstico com escopo fechado, antes de escolher o caminho. Ele deve mostrar o estado do sistema, os riscos e o destino de cada parte: corrigir já, sustentar com segurança ou modernizar. Com isso, a decisão deixa de ser opinião. Conheça o nosso Diagnóstico de Qualidade e Segurança; o plano fica com a sua empresa, que pode executá-lo com o próprio time.
Fontes
- Joel Spolsky. Things You Should Never Do, Part I, 2000.
- Martin Fowler. Strangler Fig Application.
- Fu et al. Security Weaknesses of Copilot-Generated Code in GitHub Projects. ACM TOSEM, 2025.
- DB1 Itênex. O mercado de tecnologia e a IA em código: pesquisa de campo no APIX 2026.
