A armadilha do "Second System Effect"
O impulso natural diante de um sistema antigo é decretar que o código deve ser jogado fora e reescrito em uma tecnologia moderna.
O problema é que aquele sistema contém anos de exceções de negócio, correções tributárias e adaptações pouco documentadas que sustentam a operação. Projetos de reescrita total frequentemente estouram prazo, orçamento e estabilidade no lançamento.
O padrão de estrangulamento modular (Strangler Fig)
A abordagem madura consiste em cercar o sistema legado com uma camada de adaptadores e transferir funcionalidade por funcionalidade:
- Cria-se uma camada de APIs em torno do banco ou sistema antigo para que novas aplicações possam se comunicar com ele.
- Identifica-se o módulo com maior dor de manutenção ou maior valor para o negócio.
- Desenvolve-se esse módulo na nova arquitetura, mantendo o restante do legado intocado.
- Quando o novo módulo estiver homologado, desliga-se a rotina antiga correspondente.
- O ciclo se repete até a substituição gradual, sem exigir uma parada única da operação.
