Comprar tempo para resolver um problema estrutural
Durante uma grande fusão, identificamos que um processo crítico teria dificuldade para suportar a escala que viria pela frente: o agendamento de consultas.
As análises mostravam um problema estrutural.
Eu poderia fazer tuning e aumentar capacidade computacional. Isso ajudaria, mas não resolveria definitivamente.
Então decidimos refatorar.
Só que havia outra questão: eu não podia colocar a estratégia da fusão dependendo de uma refatoração de legado chegar no prazo.
Por isso, fizemos algo que pode parecer contraditório.
Mesmo sabendo que capacidade e tuning não eram a solução definitiva, fizemos os dois.
Enquanto um time trabalhava na solução estrutural, aumentamos a capacidade do que já existia e tiramos dali tudo o que fosse possível.
Se a refatoração chegasse no prazo, ótimo.
Se não chegasse, tínhamos margem.
E foi o que aconteceu.
A refatoração levou mais tempo do que imaginávamos e terminou depois da fusão.
O tuning e o aumento de capacidade nunca tiveram a premissa de eliminar o problema estrutural. Eles compraram o tempo que precisávamos.
Isso ficou marcado para mim.
Existe uma diferença grande entre empurrar um problema e conscientemente comprar tempo para resolvê-lo.
No primeiro caso, você adia a decisão.
No segundo, reconhece a limitação, protege o negócio e mantém a solução estrutural em andamento.
Às vezes, a melhor decisão de arquitetura não é a que resolve tudo agora. É a que permite ao negócio continuar enquanto você constrói a solução que realmente precisa.