Artigo

Como modernizar um sistema legadosem parar a operação.

Sistema antigo não precisa ser trocado de uma vez. Estes são os sinais de que ele virou risco, as estratégias possíveis e como migrar com a operação funcionando.

Falar com o consultor →

A resposta curta

Para modernizar um sistema legado sem parar a operação, troque por partes: avalie o código e os dados, escolha a estratégia certa para cada módulo e substitua um pedaço de cada vez, com o sistema antigo funcionando em paralelo até a parte nova ser validada. Reescrever tudo de uma vez é o caminho mais arriscado.

Nem todo sistema antigo precisa sair. Legado é o sistema de que a operação depende e que ficou difícil de mudar, não necessariamente o mais velho. Às vezes basta integrá-lo ao resto e cuidar da segurança; às vezes o certo é substituir por uma ferramenta de mercado. A decisão sai de uma avaliação técnica, não da idade do código.

Sinais de que o sistema legado virou risco

Um sistema antigo que funciona não é problema por si só. Ele vira risco quando a operação passa a depender dele mais do que ele aguenta. Os sinais mais comuns:

  • Só uma pessoa sabe mexer. O conhecimento está na cabeça de quem construiu ou de quem mantém há anos, sem documentação. Se essa pessoa sai, a operação fica refém.
  • Cada mudança pequena demora e quebra outra coisa. Sem testes automatizados, ninguém tem segurança para alterar, e a equipe passa a evitar mexer.
  • A tecnologia saiu de suporte. Linguagem, banco de dados ou sistema operacional sem atualizações de segurança deixam falhas conhecidas abertas.
  • Ele não conversa com os outros sistemas. Sem API, os dados viajam por planilha, exportação manual ou redigitação.
  • Não atende às exigências atuais. Controle de acesso por perfil, registro de quem fez o quê e as regras da LGPD sobre dados pessoais ficaram de fora do desenho original.
  • A equipe criou um sistema paralelo em volta dele. Planilhas e controles por fora suprem o que o legado não faz, e a fonte de verdade deixa de ser clara.

Um sinal isolado pede atenção. Vários ao mesmo tempo indicam que o custo de manter o sistema como está já supera o de modernizar, mesmo que esse custo não apareça em nenhuma fatura.

O sistema que virou gargalo nem sempre é antigo. No sistema de gestão de pacientes que desenvolvemos para uma unidade de pronto atendimento, o ponto de partida foi um sistema de mercado que não acompanhava a operação: a integração com o Cartão Nacional de Saúde falhava e os relatórios para a prefeitura viravam planilha.

As quatro estratégias de modernização, lado a lado

Modernizar não é sinônimo de reescrever. Há pelo menos quatro caminhos, e um mesmo sistema pode combinar mais de um, módulo a módulo.

EstratégiaQuando faz sentidoO que você ganhaPrincipal risco
Manter e integrarO sistema funciona e é estável, mas vive isolado.Os dados passam a circular por API, sem redigitação. Veja como integrar sistemas.A dívida técnica continua lá, e a integração depende do que o legado permite expor.
Refatorar por partesO núcleo tem valor, mas partes estão frágeis ou desatualizadas.Melhora contínua, sem troca brusca e com a equipe acostumada ao sistema.Sem testes e disciplina, a refatoração vira mais uma camada de remendo.
ReescreverA tecnologia não tem mais saída e o processo mudou muito desde o desenho original.Arquitetura atual, segurança e um sistema que acompanha a operação de hoje.O maior de todos, se for feito de uma vez: regras escondidas no código antigo se perdem.
Substituir por software prontoO processo é padrão no setor e uma ferramenta de mercado já cobre a rotina.Rapidez e manutenção por conta do fornecedor. Compare em software pronto ou sob medida.Adaptar o processo à ferramenta e depender do roteiro e do preço do fornecedor.

Reescrever não precisa ser tudo ou nada. A forma mais segura é reescrever por partes: um módulo novo entra, assume uma função do antigo e, depois de validado, o antigo deixa de fazer aquela parte. Na engenharia de software esse padrão é conhecido como strangler fig, em referência à figueira que cresce em volta de uma árvore até tomar o lugar dela.

Como migrar os dados sem parar a operação

Os dados são a parte mais delicada da modernização. O código pode ser refeito; o histórico de anos de operação, não. Uma migração segura costuma seguir estes passos:

  • Inventariar o que existe. Tabelas, arquivos, campos usados de fato e campos que ninguém preenche. Bases antigas costumam ter duplicidades e regras implícitas.
  • Mapear o antigo para o novo. Cada campo ganha destino, formato e regra de conversão, revisados com quem conhece a operação.
  • Limpar antes de mover. Duplicidades e registros incompletos são resolvidos na origem ou na conversão, com critério combinado.
  • Ensaiar a migração. Rodar a carga completa num ambiente de homologação quantas vezes for preciso e comparar totais e amostras com o sistema antigo.
  • Migrar por módulo ou por período. Em vez de uma virada única, a carga acontece em etapas, e cada etapa tem um plano de volta.
  • Conferir depois da virada. Relatórios do sistema novo são comparados com os do antigo até os números baterem.

Quando há dados pessoais, a migração também é tratamento de dados para a LGPD. Vale aproveitar para revisar o que é guardado, por quanto tempo e quem acessa, em vez de só copiar tudo para o lugar novo.

Como o sistema antigo e o novo convivem durante a troca

Na troca por partes, por um tempo os dois sistemas funcionam juntos. Essa convivência precisa de regras claras, ou a equipe passa a não saber onde registrar cada coisa.

A primeira regra é ter uma única fonte de verdade para cada dado em cada momento. Se o cadastro de clientes já migrou, ele é feito só no sistema novo, e o antigo recebe uma cópia por integração enquanto ainda precisar dela. A segunda é que a mudança chegue para a equipe com treinamento e prazo, módulo a módulo, e não como uma troca de tela numa segunda-feira.

É assim que conduzimos esse tipo de projeto: substituímos o sistema por partes, um módulo de cada vez, com o antigo funcionando em paralelo até a nova parte ser validada. Cada módulo novo passa por demonstração e teste em homologação antes de entrar em uso, como descrevemos em como trabalhamos.

Os riscos da modernização e como reduzir cada um

Todo projeto de modernização tem riscos conhecidos. O que muda o resultado é tratá-los desde o começo, e não quando aparecem.

  • Perder regras de negócio escondidas. Sistemas antigos guardam exceções que ninguém lembra. Reduz-se lendo o código, conversando com quem opera e escrevendo testes que comparam o comportamento antigo com o novo.
  • Parar a operação na virada. Reduz-se com troca por partes, convivência planejada e plano de volta para cada etapa.
  • Escopo que não para de crescer. Modernizar dá vontade de mudar tudo. Separar o que é reproduzir o que existe do que é melhoria nova mantém o projeto sob controle.
  • Resistência da equipe. Quem usa o sistema há anos precisa participar do desenho e testar antes. A participação de quem opera é o que mais reduz retrabalho.
  • Trocar uma dependência por outra. Código versionado, documentação e propriedade definida em contrato evitam que o sistema novo vire o próximo legado nas mãos de uma só pessoa. Mais em de quem é o código do software sob medida.

Por onde começar: a avaliação técnica do sistema atual

O primeiro passo não é escolher a tecnologia nova, é entender a que existe. Uma avaliação técnica do código, da infraestrutura e da documentação mostra o que pode ficar como está, o que precisa de correção e quais são os riscos. Com ela, a estratégia de cada módulo deixa de ser palpite.

Também assumimos a manutenção de sistemas que não foram feitos por nós, sempre depois dessa avaliação. Às vezes a conclusão é estabilizar e integrar; às vezes é planejar a troca por partes. Em desenvolvimento de software sob medida você encontra como esse trabalho se organiza, do estudo ao suporte em produção.

Perguntas frequentes

Perguntas sobre este tema.

01Quanto tempo leva para modernizar um sistema legado?

Depende do tamanho do sistema, da qualidade dos dados e da estratégia escolhida para cada módulo. Na troca por partes, o primeiro módulo novo pode entrar em uso bem antes do fim do projeto, e a operação ganha a cada etapa. O prazo total sai da avaliação técnica, junto com a ordem dos módulos.

02Vale mais a pena modernizar o sistema ou comprar um novo?

Vale comprar quando o processo é padrão e uma ferramenta de mercado cobre a rotina sem planilhas paralelas. Vale modernizar quando o sistema guarda regras que diferenciam a operação ou quando nenhuma ferramenta pronta atende às integrações e aos perfis de uso. Em muitos casos, a resposta mistura os dois, módulo a módulo.

03É possível modernizar um sistema sem ter o código-fonte?

É mais difícil, mas costuma ser possível. Sem o código, a modernização parte do comportamento do sistema e dos dados: telas, relatórios, banco de dados e conversas com quem opera. O caminho mais comum é substituir por partes, extraindo os dados e reproduzindo as regras no sistema novo, com conferência cuidadosa dos resultados.

04O que é dívida técnica em um sistema legado?

É o acúmulo de atalhos, remendos e decisões adiadas que deixam o sistema mais difícil de mudar com o tempo. Ela aparece como correções que quebram outras partes, falta de testes e tecnologia desatualizada. Como juros, cresce se ninguém cuida, e parte da modernização é pagar essa dívida de forma planejada.

Quer uma resposta para o seu caso?

O nosso consultor faz as primeiras perguntas e encaminha a conversa para o time, sem compromisso.