Regal Rexnord (NYSE: RRX): PHP 5.6 → 8.4, 10 versões, cutovers com zero downtime
Dois sistemas migrados de CodeIgniter 2 para 3, com suítes de testes unitários
Quilt Software / PosNation: suíte de testes de 540 para 1.455 em 3 semanas
Claude Code na engenharia reversa de código legado sem documentação
01
Reconhece esse cenário?
O sistema roda em uma versão de PHP ou de framework sem suporte, e cada atualização de servidor vira um risco.
Não há testes nem documentação: só uma ou duas pessoas entendem as regras de negócio, e elas podem sair.
Reescrever do zero parece a saída, mas a operação não pode parar nem esperar a nova versão alcançar a atual.
Todo deploy é manual e tenso, e o time gasta mais tempo apagando incêndio do que entregando o roadmap.
02
O que entregamos
Diagnóstico do legado
Diagnóstico do legado
Inventário de versões, dependências, integrações e pontos sem teste, com um plano de modernização em etapas ordenadas por risco e por valor para o negócio.
Testes antes do cutover
Testes antes do cutover
Testes unitários e de integração que fixam o comportamento atual do sistema antes de qualquer mudança, para validar cada etapa contra o que já funciona.
Upgrades incrementais de linguagem e framework
Upgrades incrementais de linguagem e framework
Atualização versão a versão de PHP, CodeIgniter e Laravel, com correção das incompatibilidades a cada salto e o sistema em produção durante todo o percurso.
Documentação recuperada por engenharia reversa
Documentação recuperada por engenharia reversa
Specs, regras de negócio e contratos OpenAPI recuperados do código com IA e revisados por quem conhece a operação, para o sistema não depender de uma ou duas pessoas.
CI/CD e gates de qualidade
CI/CD e gates de qualidade
Deploys deixam de ser manuais: pipeline com testes automatizados, análise estática e hooks de pre-commit, e nenhuma mudança chega à produção sem passar pelos mesmos critérios.
Ambiente reproduzível e plano de cutover
Ambiente reproduzível e plano de cutover
Ambiente de desenvolvimento em Docker igual para todo o time e um roteiro de virada com critérios de aceite e de reversão definidos antes da data.
Arquitetura orientada a eventosCada domínio fica isolado atrás de uma API com contratos. Os serviços publicam eventos num barramento com filas e retries, e os workers cuidam de integrações e dados por tenant, sem acoplar um domínio ao outro.
03
Resultados e experiência
Regal Rexnord (NYSE: RRX)
Escopo:
Modernização de legado PHP
Upgrade de aplicações de missão crítica de PHP 5.6 para 8.4 e migração de dois sistemas de CodeIgniter 2 para 3.
PHP 5.6 → 8.4 (10 versões)
Suítes de testes unitários para cutovers com zero downtime
Claude Code na engenharia reversa de código sem documentação
Experiência relacionada: sistema multi-tenant de gestão de usuários, construído do zero em Laravel 12 e Vue 3 para uma plataforma de precificação de varejo presente em 20.000+ locais.
24operações REST documentadas em OpenAPI
~400testes
Revisão de pull requests de backend, frontend e mobile
Conversa inicial gratuita · Resposta em até 1 dia útil
04
Para quem é e para quem não é
Modernização de sistemas legados é atualizar, em etapas pequenas e sem parar a operação, um sistema antigo que a empresa usa todo dia. O método é o Spec-Driven Development: antes de mudar, o comportamento atual é descrito por escrito e coberto por testes automáticos. Contrate quando a versão perdeu suporte, cada atualização assusta ou o sistema parou de evoluir.
Indicado para
CTOs com sistemas críticos em PHP, CodeIgniter ou Laravel em versões antigas ou sem suporte.
Empresas cuja operação depende do sistema todos os dias e não pode parar para uma reescrita.
Times que herdaram código sem testes nem documentação e precisam voltar a evoluir o produto com segurança.
Empresas que querem adotar Spec-Driven Development a partir de um sistema que já está em produção.
Não indicado para
Sistemas pequenos e pouco usados, em que substituir por um SaaS pronto custa menos do que modernizar.
Quem quer uma reescrita completa em outra stack, de uma só vez: esse é um projeto de software sob medida.
Mainframe, COBOL ou customização de ERPs de prateleira: nossa experiência é com aplicações web, APIs e PHP.
Projetos sem uma pessoa do negócio disponível para validar regras e critérios de aceite.
05
Como funciona e prazos
01
Diagnóstico
Diagnóstico
Lemos o código e mapeamos versões, dependências, integrações e pontos sem teste. Você recebe um relatório de riscos e o plano de modernização em etapas, com a estimativa de cada uma.
02
Rede de segurança: specs e testes
Rede de segurança: specs e testes
Recuperamos as regras de negócio por engenharia reversa e escrevemos os testes que fixam o comportamento atual. Você recebe as specs, a suíte de testes e o CI em funcionamento.
03
Piloto em um módulo
Piloto em um módulo
Modernizamos um módulo de ponta a ponta, do upgrade ao cutover, para validar o método no seu sistema. Você recebe o módulo em produção e a estimativa revisada do restante.
04
Modernização incremental
Modernização incremental
Upgrades versão a versão, com releases frequentes e o sistema no ar. Uma etapa só avança com os testes passando. Você recebe cada etapa em produção, com o roteiro de reversão.
05
Transferência e evolução
Transferência e evolução
Documentação, pipeline e padrões ficam com o seu time, com mentoria para manter o ritmo. A evolução do sistema pode seguir em retainer mensal.
Formatos típicos de contratação deste serviço
Escopo
Prazo típico
Modelo de contratação
Diagnóstico do legadoInventário de versões, dependências e riscos, plano de modernização em etapas e estimativa
1–2 semanas
Projeto de escopo fechado
Piloto de modernizaçãoUm módulo com testes, upgrade e cutover em produção, para validar o método
2–4 semanas
Projeto de escopo fechado
Modernização incrementalUpgrades de linguagem e framework, testes, CI/CD e documentação, com o sistema no ar
6–12 semanas
Escopo fechado por etapa ou time & materials com teto
Evolução contínuaNovos upgrades, manutenção evolutiva e mentoria do time
Contínuo
Retainer mensal fracionado
Prazos são faixas típicas. O diagnóstico define o escopo e a estimativa de cada projeto; o contrato pode ser em reais (BRL) ou dólares (USD).
Conversa inicial gratuita · Resposta em até 1 dia útil
06
Detalhes técnicos
Como usamos IA com governança, o comparativo de decisão e a stack
IA com governança
Usamos agentes de código para entender e refatorar o legado mais rápido, com uma regra: nenhuma mudança gerada por IA entra sem especificação aprovada, testes passando e revisão humana.
Onde a IA entraClaude Code lê o código sem documentação, mapeia dependências e propõe specs e testes que descrevem o comportamento atual.
Especificação primeiroNo Spec-Driven Development, o comportamento esperado é escrito e aprovado antes de o agente alterar uma linha.
O que o humano revisaAs regras de negócio recuperadas, o plano de cada upgrade e todo merge passam por revisão humana sênior.
Quality gatesTestes automatizados, análise estática e hooks de pre-commit barram a mudança que quebra o comportamento atual.
Adoção pelo timeColocar agentes de código no dia a dia da sua engenharia é tema do serviço de automação de software com IA.
Seus dadosOs dados do cliente nunca são usados para treinar modelos, e trabalhamos sob NDA.
Comparativo de decisão
Role para o lado para ver mais
Reescrever do zero, modernizar em etapas ou manter como está: como decidir
Critério
Reescrever do zero
Modernização incremental
Manter como está
Quando faz sentido
A arquitetura atual impede o negócio ou a tecnologia não tem caminho de upgrade
O sistema funciona e concentra regras de negócio que não podem se perder
O sistema será desativado em breve ou tem baixo impacto no negócio
Operação durante o trabalho
Dois sistemas em paralelo até a virada
O sistema segue em produção; cada etapa entra separadamente
Sem mudança
Retorno
Só aparece depois da virada completa
Aparece a cada etapa entregue
Nenhum; o custo de manutenção tende a crescer
Risco principal
Regras de negócio não documentadas ficam de fora da nova versão
Exige disciplina de testes e convivência com código antigo por um tempo
Versões sem suporte acumulam falhas de segurança e dívida técnica
Pré-requisito
Especificação completa do comportamento atual
Testes que fixam o comportamento atual antes de cada mudança
Plano de desativação ou de substituição
Stack e integrações
PHP
CodeIgniter
Laravel
MySQL
SQL Server
PostgreSQL
React
Vue.js
TypeScript
PHPUnit
Jest
Playwright
Docker
GitHub Actions
OpenAPI
Claude Code
07
Perguntas frequentes sobre Modernização de sistemas legados
Reescrever do zero ou modernizar o sistema legado?
Na maioria dos casos, modernizar em etapas: o sistema segue em produção, o retorno aparece a cada entrega e as regras de negócio acumuladas não se perdem. A reescrita se justifica quando a arquitetura atual impede o negócio ou a tecnologia não tem caminho de upgrade. O diagnóstico de 1 a 2 semanas compara os dois caminhos com os dados do seu sistema.
Como migrar um sistema PHP antigo sem parar a operação?
Com testes que fixam o comportamento atual e upgrades de uma versão por vez, cada um com roteiro de reversão: assim levamos as aplicações da Regal Rexnord do PHP 5.6 ao 8.4 sem downtime. O passo a passo está no nosso guia “Migrar PHP 5 para PHP 8 sem parar a operação”.
Quanto tempo leva para modernizar um sistema legado?
Os prazos típicos são: diagnóstico em 1 a 2 semanas, piloto em um módulo em 2 a 4 semanas e cada ciclo de modernização em 6 a 12 semanas. Sistemas grandes são divididos em ciclos, e cada ciclo termina com algo em produção. O que mais pesa no prazo são o tamanho do código, a cobertura de testes existente e o número de integrações.
E se o sistema não tem testes nem documentação?
É o ponto de partida mais comum, e o trabalho começa exatamente aí: recuperamos as regras de negócio por engenharia reversa e escrevemos testes que fixam o comportamento atual antes de mudar qualquer coisa. Na Quilt Software / PosNation, levamos a suíte de 540 para 1.455 testes em 3 semanas, em uma plataforma legada de PHP e React/TypeScript compartilhada por cerca de 18 engenheiros.
Como a IA é usada com segurança em código legado?
A IA lê e propõe; quem decide é uma pessoa, com revisão sênior, e nada entra em produção sem especificação aprovada e testes passando. Agentes de código como o Claude Code aceleram a engenharia reversa, a escrita de testes e a refatoração. Na Regal Rexnord, usamos o Claude Code para entender código legado sem documentação. Os dados do cliente nunca são usados para treinar modelos, e trabalhamos sob NDA.
O que é Spec-Driven Development e ele funciona em código legado?
Sim. Spec-Driven Development (SDD) é escrever e aprovar a especificação, com critérios de aceite, antes do código. Em legado, o primeiro passo é transformar o comportamento atual em specs e testes; a partir daí, cada upgrade tem um alvo claro e uma verificação objetiva. O método completo está no nosso guia “Spec-Driven Development (SDD): o que é”.
Quando vale a pena modernizar um sistema legado?
Vale a pena quando o sistema sustenta a operação e aparece pelo menos um destes sinais: versão sem suporte de segurança, deploys arriscados, dificuldade de contratar para a tecnologia ou funcionalidades novas cada vez mais lentas. Se o sistema tem baixo impacto ou será desativado, manter como está pode ser a decisão certa, e dizemos isso já na conversa inicial.
Quanto custa modernizar um sistema legado?
O custo depende do tamanho do código, da cobertura de testes existente, do número de saltos de versão e das integrações. Por isso não publicamos tabela de preços. O diagnóstico de 1 a 2 semanas produz o plano em etapas e a estimativa de cada uma. A proposta pode ser de escopo fechado por etapa ou time & materials com teto, em reais (BRL) ou dólares (USD).
ERP, CRM, PDV e APIs que seguem o seu processo, com testes.
Ver serviço
Vamos avaliar o seu sistema legado
Na conversa inicial, olhamos versões, testes e riscos do seu sistema e dizemos com franqueza se o caminho é modernizar em etapas, reescrever ou manter como está.