Migração e legado

O sistema que ninguém sabe manter: as três saídas e o critério que decide

Roda há quinze anos, quem entendia dele saiu e o fonte talvez nem exista. Envelopar, reescrever por partes ou substituir — e como escolher entre as três.

Leonardo Peron5 min de leitura

Existe, em quase toda empresa com mais de dez anos, um sistema que ninguém quer abrir. Ele roda. Faz uma coisa importante — emite a etiqueta, calcula o frete, fecha a comissão, controla o acesso da portaria. E a pessoa que entendia dele saiu há alguns anos.

Às vezes o código-fonte existe num diretório que alguém guardou. Às vezes existe, mas ninguém consegue compilar, porque a versão do compilador não é mais instalável. Às vezes só existe o programa rodando numa máquina que não pode ser reiniciada, e a última pessoa que tentou reiniciar tem uma história para contar. É a definição prática de sistema legado: não o velho, o que ninguém consegue mudar com segurança.

"Ninguém mexe nisso" é uma decisão

Ela só não foi tomada por ninguém em particular.

Todo mês em que o sistema segue no ar sem manutenção, a empresa escolhe apostar que ele vai continuar funcionando e que, se parar, alguém dá um jeito. Pode até ser a aposta certa. O que a torna perigosa é ser invisível: não tem dono, não tem prazo, não tem custo declarado e nunca é revisada.

A pergunta que revela o tamanho dela é simples: se essa máquina não ligar amanhã, o que a operação faz? Se a resposta demorar mais de um minuto para sair, não existe um sistema legado ali. Existe um passivo sem provisão.

Antes de decidir, descubra o que ele faz — não o que ele é

A tentação é começar pela tecnologia: qual linguagem, qual banco, qual versão. Isso vem depois. Primeiro é preciso saber o que ele decide sozinho.

Sistema antigo raramente é só uma tela. Ele costuma carregar regra de negócio que nunca foi escrita em outro lugar: a faixa de desconto por volume, a ordem de prioridade da fila, o arredondamento que o contador pediu numa reunião de dez anos atrás. Não está em manual porque não há manual — está no comportamento, e comportamento é observável.

Três levantamentos dão o mapa, e nenhum exige acesso ao código.

O que entra. Quem alimenta o sistema, por qual caminho, com que frequência. Digitação, arquivo, integração, leitura de código de barras.

O que sai. Relatório, arquivo, impressão, gravação em outro banco. Toda saída tem um consumidor, e é o consumidor que define o que precisa continuar existindo depois.

O que ele decide. A parte difícil, e a fonte é quem usa: "quando isso acontece, ele faz o quê?". Registre exemplo concreto, com entrada e saída — exemplo sobrevive à ambiguidade da descrição.

Esse trabalho é o mesmo que antecede qualquer migração de sistema legado, e vale mesmo se a decisão for não fazer nada agora: transforma conhecimento tácito em documento.

As três saídas reais

Envelopar e integrar. O sistema continua rodando e ganha uma camada na frente — um serviço que lê o banco dele, uma interface publicada em cima, uma rotina que opera a tela —, e quem precisa do dado fala com a camada. Cabe quando o núcleo faz bem o que faz e a dor está na borda: não dá para consultar de fora, não dá para integrar.

Reescrever por partes. Uma função de cada vez sai do legado e nasce no sistema novo, com os dois de pé, até sobrar pouco o bastante para desligar sem evento. Exige que dê para separar: se tudo escreve na mesma tabela e a regra está espalhada, o corte não fecha e o projeto vira duas metades permanentes.

Substituir inteiro. Projeto com de-para, ensaio, cutover e reconciliação, com a decisão de quanto do histórico vai junto tomada cedo. Cabe quando o núcleo já não atende, quando a plataforma carrega risco que nenhuma camada resolve, ou quando manter dois mundos passou a custar mais que ter um.

Quando o sistema em questão é o ERP, a escolha entre estender e trocar tem página própria, com a conta dos dois lados: integrar ou trocar o ERP. Aqui o recorte é outro — o que muda quando ninguém sabe como o sistema funciona por dentro.

O critério que decide

Não é a idade e não é a linguagem. São três coisas, nesta ordem.

Dá para ler o dado? Banco acessível e legível mantém tudo possível: envelopar, extrair, comparar, migrar. Dado em formato proprietário, em arquivo indexado sem documentação ou que só sai pela tela encarece todos os caminhos ao mesmo tempo, porque cada um passa a exigir engenharia reversa antes de começar.

Quanto da regra está lá dentro? Sistema que é cadastro e consulta sai barato. Sistema que decide — precifica, roteia, aprova, bloqueia — carrega anos de exceção acumulada, e cada exceção que ninguém lembrar de contar vira defeito descoberto em produção, com a operação já dependendo do substituto.

Quanto custa uma hora parado? Esse número não muda o destino, muda a ordem. É ele que separa "projeto para o ano que vem" de "risco a tratar agora".

O que fazer nesta semana

Duas, e cabem numa tarde.

A primeira: tente subir uma cópia do sistema em uma máquina nova, num ambiente isolado. Não para usar — para saber se dá. Se ninguém conseguir, você acabou de medir o risco de verdade. Enquanto ninguém tentar, a resposta é opinião.

A segunda: escolha a pessoa que mais usa o sistema e peça três exemplos de "coisa que só ele sabe fazer". Anote entrada e saída de cada uma, com valores reais. É o começo do documento que não existe, e o único ativo que sobrevive às três saídas — inclusive à de não fazer nada.

Se a dúvida for por onde começar no conjunto, o diagnóstico de maturidade ordena os gargalos em oito perguntas — e o legado nem sempre é o primeiro da fila.

Isso é o que fazemos em migração de legado

Mapeamento campo a campo, reconciliação com o sistema antigo e cutover fora do horário comercial. O histórico vai junto e a operação não para.

Resposta em até 1 dia útil