Pular para o conteúdo

Capacidade

Modernização de Legados

Para quem depende de um sistema que funciona, ninguém entende inteiro e todo mundo tem medo de tocar. Modernizamos com engenharia reversa documentada e migração gradual, com o sistema antigo no ar até o novo provar que faz o mesmo.

Avaliar a modernização do meu sistema

Quando faz sentido nos chamar

Problemas que resolvemos

Só uma pessoa sabe como aquilo funciona

E ela vai sair de férias, mudar de emprego ou se aposentar. Conhecimento que só existe na cabeça de alguém é o risco mais caro e menos contabilizado de um sistema legado.

Mudar uma tela leva semanas

Não por ser difícil, mas porque ninguém sabe o que mais depende daquilo. Sem teste automatizado, cada alteração exige reconferir o sistema inteiro à mão.

A tecnologia saiu de suporte

Versão sem atualização de segurança, biblioteca abandonada, servidor que ninguém consegue mais substituir. O risco cresce sozinho, sem que nada tenha mudado.

Já tentaram reescrever e não terminou

Reescrita de dois anos com o sistema antigo rodando em paralelo raramente chega ao fim: o legado continua mudando e o alvo se move. O caminho que funciona é substituir por partes.

Método aplicado

Como entregamos

Primeiro engenharia reversa documentada: lemos o código que está no ar e transformamos o comportamento real em especificação escrita — o que o sistema faz, não o que se acredita que ele faça. Depois a migração acontece módulo a módulo, com o novo assumindo uma fatia por vez e o antigo no ar até a comparação provar equivalência. Já aplicamos isso em escala: numa engenharia reversa nossa, mapeamos e documentamos 559 endpoints de API e reconferimos 3.905 afirmações da documentação uma a uma contra o código.

Conheça o método

Passo a passo

Como funciona na prática

  1. 01

    Lemos o código que está no ar

    O sistema rodando é a especificação real — mais confiável que documentação desatualizada. Ausência de documentação não é impedimento, é o caso comum.

  2. 02

    Transformamos o comportamento real em texto

    O que o sistema faz, não o que se acredita que ele faça. É aqui que o conhecimento sai da cabeça de uma pessoa e vira ativo da empresa.

  3. 03

    Blindamos com teste de contrato antes de tocar

    O teste registra o comportamento atual. Qualquer divergência do novo módulo aparece na hora, e não meses depois na conciliação.

  4. 04

    Substituímos módulo a módulo

    Cada fatia nova entra no ar quando prova que faz o mesmo. O antigo continua servindo o resto — não existe um dia de virada com tudo em risco.

  5. 05

    Desligamos o antigo só depois da equivalência provada

    A comparação é medida, não sentida. E cada módulo migrado já entrega o benefício dele antes do fim do projeto.

Resultado

O que a empresa ganha

  • O conhecimento deixa de depender de uma pessoa — o risco mais caro e menos contabilizado de um legado.
  • Mudar uma tela volta a levar dias, porque o teste diz o que mais depende daquilo.
  • A tecnologia sem suporte sai de campo em fatias, sem parada da operação.
  • A empresa recupera a opção de escolher fornecedor, porque o sistema passa a ser legível por qualquer time.

Aplicações

Onde se aplica

  • Sistema em tecnologia fora de suporte, com risco de segurança que cresce sozinho
  • Base de código que só uma pessoa entende, e essa pessoa vai sair
  • Reescrita do zero que já foi tentada e não terminou
  • Sistema comprado cujo fornecedor sumiu, sem documentação nem código explicado
  • Integração com sistema antigo que precisa continuar de pé durante a substituição

Tecnologia

O que usamos, e o que isso resolve

Engenharia reversa
Permite derivar do código em produção a especificação escrita do que ele faz. Na prática: o conhecimento sai da cabeça de uma pessoa e passa a ser auditável — foi assim que mapeamos 559 endpoints e reconferimos 3.905 afirmações contra o código.
Migração gradual
Permite trocar o sistema por partes, com o antigo no ar. Na prática: elimina o dia de virada, que é onde as reescritas costumam falhar.
Testes de contrato
Permite travar o comportamento atual antes de mexer nele. Na prática: a divergência entre o antigo e o novo aparece no mesmo dia, e não na conciliação do mês seguinte.
.NET
Permite reconstruir a regra de negócio em plataforma com suporte e ferramental atual. Na prática: sai o risco de versão sem atualização de segurança e volta a ser possível contratar quem mantenha.
PostgreSQL
Permite receber a migração do dado com integridade verificada. Na prática: o histórico atravessa a troca sem perda, que costuma ser o maior medo de quem autoriza.

Perguntas frequentes

Dá para modernizar sem parar a operação?

É exatamente assim que fazemos. A substituição é por partes: cada módulo novo entra no ar quando prova que faz o mesmo que o antigo, e o antigo só é desligado depois disso. Não existe um dia de virada com tudo em risco.

E se não houver documentação nenhuma?

É o caso mais comum, e não é impedimento. O código que está rodando é a especificação real — mais confiável, aliás, que documentação desatualizada. Nosso primeiro trabalho é transformá-lo em texto que uma pessoa consegue ler.

Vale a pena modernizar ou é melhor comprar pronto?

Depende de o processo ser ou não a sua vantagem competitiva. Se for commodity, comprar pronto costuma ganhar. Se o jeito de operar for o que diferencia a empresa, o pronto vai te obrigar a operar como todo mundo. Respondemos isso no diagnóstico, antes de você contratar construção.

Quanto tempo leva?

A engenharia reversa é rápida — semanas. A migração depende de quantos módulos existem, e é justamente por ser gradual que você vê valor antes do fim: cada módulo migrado já entrega o benefício dele.

Vamos aplicar isso ao seu cenário

Avaliar a modernização do meu sistema