13 de setembro de 2026

Manter, integrar ou reescrever um sistema: como decidir

Compare alternativas para um sistema existente por fluxo, dependências e risco. Preencha e exporte uma matriz para discutir o primeiro passo com seu time.

4 min read
evolução de sistemasintegração de sistemassistemas legados

Comece pelo fluxo que precisa melhorar, não pela idade da tecnologia. Um sistema antigo pode atender bem. Um sistema recente pode gerar retrabalho. Para decidir entre manter, integrar ou substituir, registre o problema, as dependências e a evidência necessária para aceitar uma mudança.

Este guia é para quem opera ou mantém um sistema web existente. A matriz abaixo organiza uma conversa técnica; não estima preço nem substitui a análise do código, dos dados e das restrições do negócio.

Qual alternativa responde ao problema?

Alternativas para investigar antes de escolher uma intervenção
AlternativaQuando investigarEvidência antes de escolherCuidado principal
Manter e corrigirO fluxo atende ao negócio, mas tem um defeito delimitadoPassos para reproduzir, causa investigada e teste da correçãoCorrigir um sintoma sem compreender a dependência
IntegrarO mesmo dado é digitado em sistemas distintosFonte oficial, API ou meio autorizado de troca e regra para falhasDuplicação, divergência de dados e limites do fornecedor
Substituir um fluxoUma parte concentra mudanças ou não pode mais ser mantidaFronteira isolável, comportamento esperado e plano de retornoDependências ocultas e convivência temporária entre versões
Reescrever o conjuntoRestrições comprovadas impedem as opções menoresRegras inventariadas, capacidade de transição e comparação de custo totalRedescobrir regras durante a entrega e manter dois sistemas por mais tempo

As alternativas podem coexistir: corrigir uma falha agora, integrar um serviço depois e substituir um módulo quando houver evidência. Uma biblioteca antiga exige avaliar suporte e segurança; sua idade, sozinha, não determina uma reescrita completa.

Matriz preenchível para um fluxo

Preencha um único fluxo. Os campos ficam apenas nesta página, não são enviados e serão apagados ao recarregar. Exporte para guardar seu rascunho. Não inclua senhas nem dados pessoais de clientes.

A escolha é sua: a matriz organiza evidências, sem atribuir uma nota automática ou recomendar uma contratação.

Exemplo de preenchimento: consulta de pedidos

Cenário fictício, sem resultado de cliente: o atendimento consulta o ERP e copia o status para responder a cada comprador. Ainda não sabemos quantas consultas ocorrem por dia nem quanto tempo isso consome.

  • Fluxo e responsável: consultar o status; equipe de atendimento.
  • Problema observado: alternar entre duas telas. Confirmar com quem executa a tarefa e registrar uma amostra autorizada.
  • Impacto e custo: ainda desconhecidos. Medir tempo por consulta e frequência antes de projetar economia.
  • Dependências: ERP como fonte oficial; verificar API, permissões e limites contratuais. Não presumir acesso direto ao banco.
  • Mudanças esperadas: disponibilizar a consulta em outra interface; regras de atualização ainda precisam ser definidas.
  • Aceite e retorno: comparar respostas com o ERP; em divergência, interromper o piloto e usar a consulta atual. Verificar também se esse caminho continua disponível.

A hipótese inicial é investigar uma integração de leitura. Ela depende da API e da necessidade real; não é uma recomendação universal. Se a informação já estiver disponível em um recurso do fornecedor, configurá-lo pode ser suficiente.

Experimente o comportamento na demonstração de migração incremental: um pedido muda de caminho, apresenta erro e volta ao legado. O exemplo permite observar a diferença entre reverter o tráfego e corrigir o serviço.

Como comparar custo sem inventar um orçamento

Peça que cada alternativa use o mesmo período de comparação e separe: investigação, implementação, licenças, infraestrutura, operação durante a transição, treinamento e manutenção. Marque estimativas e valores ainda desconhecidos. Não transforme horas de retrabalho em receita recuperada sem verificar se esse tempo pode ser aproveitado.

Inclua o custo de não mudar e os riscos de cada caminho, com as evidências disponíveis. Uma proposta menor pode excluir migração de dados e suporte. Uma proposta maior pode incluir itens de que você não precisa. Compare o escopo antes do total.

O que precisa existir antes de substituir uma parte

  1. Uma fronteira: quais entradas e saídas pertencem ao fluxo? Quem mais depende delas?
  2. Uma referência: quais respostas, regras e permissões precisam ser preservadas? Use exemplos autorizados e protegidos.
  3. Um aceite: quem compara o resultado e quais divergências impedem ampliar o piloto?
  4. Um retorno testável: o caminho anterior continua disponível? Se houve gravações, como tratar dados novos ou duplicados?
  5. Um responsável: quem acompanha erros e pode interromper a mudança?

A substituição gradual é descrita no padrão Strangler Fig de Martin Fowler. A fronteira e a convivência precisam ser construídas; trocar componentes aos poucos não elimina o trabalho de entender o sistema.

Migrar para a nuvem resolve esse problema?

É outra decisão. Mover a hospedagem pode atender a uma necessidade de infraestrutura e ainda preservar o mesmo fluxo manual. Se esse é o objetivo, veja migração de sistemas legados para a nuvem. Para comportamento da aplicação, use a matriz deste guia.

Leve um recorte para a primeira conversa

Não é preciso chegar com a arquitetura decidida. Traga um fluxo, exemplos do problema, dependências conhecidas e dúvidas. Evite enviar senhas, bases de produção ou dados pessoais no contato inicial.

A consultoria de evolução de sistemas web da Little Goat parte dessa discussão para avaliar o escopo. Você também pode exportar a matriz e usá-la com seu próprio time ou outro fornecedor.

Vamos conversar sobre seu projeto.

Conte o que você precisa, o que já tem e o que gostaria de mudar.

Fale com a Little Goat