Voltar aos Cases

Arquitetura simples como estratégia de evolução do software

arquiteturalaravelmvcestratégia

Nem toda decisão arquitetural precisa ser sofisticada. Em muitos projetos, a escolha certa é aquela que reduz complexidade, não a que a cria.

No Galpão das Máquinas, a migração do sistema legado teve como eixo central uma decisão clara da Complex Crafty: adotar uma arquitetura simples, amplamente conhecida e bem documentada, capaz de orientar a evolução do software ao longo do tempo — sem gerar rupturas desnecessárias no negócio.

O problema do legado foi não ter sido pensado para evoluir

O sistema anterior funcionava, mas não havia sido concebido com a evolução do software em mente.

Ele foi desenvolvido em PHP puro, com uma estrutura criada sob medida pelo desenvolvedor original. Essa estrutura atendia ao funcionamento imediato do sistema, mas estava fortemente orientada à forma de pensar de quem o construiu, não à evolução do produto.

Na prática, isso significava:

  • ausência de padrões amplamente reconhecidos
  • regras de negócio distribuídas de forma implícita pelo código
  • forte dependência de conhecimento tácito
  • dificuldade de leitura e entendimento por novos desenvolvedores

O software funcionava, mas não oferecia referências claras para crescimento, adaptação ou manutenção no médio e longo prazo.

Simplicidade como decisão consciente (técnica e financeira)

Ao optar por Laravel e seu padrão MVC, a Complex Crafty fez uma escolha deliberada: usar uma arquitetura simples, conhecida e documentada, em vez de criar estruturas próprias ou adotar soluções excessivamente complexas.

Essa decisão não foi apenas técnica, mas também financeira e operacional.

O Laravel permitiu:

  • manter a infraestrutura existente
  • evitar quebras críticas de ambiente
  • reduzir custos imediatos de infraestrutura
  • focar investimento na evolução do software

Além disso, trouxe benefícios técnicos claros:

  • regras claras de organização do código
  • separação explícita de responsabilidades
  • documentação acessível
  • referências amplas de boas práticas

Quando o simples precisa ser explicitado

Escolher uma arquitetura simples não significa que essa simplicidade seja óbvia.

Foi necessário explicitar essa decisão para cliente e equipe técnica:

  • por que não seguir caminhos mirabolantes
  • quais benefícios reais estavam sendo buscados
  • quais dúvidas técnicas eram resolvidas
  • quais limitações eram assumidas conscientemente

MVC como linguagem comum

Com o MVC do Laravel:

  • modelos passaram a representar regras de negócio de forma clara
  • controllers deixaram de concentrar lógica excessiva
  • views ficaram responsáveis pela apresentação

Isso criou uma linguagem comum entre desenvolvedores.

Evoluir deixou de ser um risco

Com uma base previsível, a equipe passou a estimar melhor impactos, reduzir riscos e planejar evolução.

Arquitetura que sustenta o futuro

Foi nesse contexto que funcionalidades mais complexas, como o sistema de lojas, se tornaram viáveis.

O maior ganho não foi uma feature específica, mas a capacidade do software continuar evoluindo sem se tornar um problema.

Às vezes, a arquitetura certa não é a mais inovadora — é a mais compreensível.