Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evolução da Arquitetura do Magalu e os Desafi...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Vinícius Oliveira Vinícius Oliveira
January 03, 2024
54

Evolução da Arquitetura do Magalu e os Desafios da Modularização

As Apps são feitas de features que contém código que fazem parte do mesmo módulo ou App onde todo o aplicativo é definido. A inclinação natural das equipes é continuar escrevendo código criando suas features e seus testes. Como resultado, o aplicativo e seu target de test/flavor crescem em complexidade, eventualmente ocasionando a manifestação de bugs, maior tempo de compilação e uma piora no desempenho da equipe, por conta de um código mais desenhado. Com essa apresentação queremos apresentar como decidimos criar módulos concisos, claros, com um bom design e que tenham alguns princípios da arquitetura modular como: Scalability, Availability, Deployability, Testability, Maintainability.

Avatar for Vinícius Oliveira

Vinícius Oliveira

January 03, 2024
Tweet

Transcript

  1. Rafael Machado Vinícius Moisés Vinícius Moisés Tech Lead | Plataforma

    Mobile Rafael Machado Tech Lead | Plataforma Mobile
  2. 4

  3. 6 • Super App com apenas dois times • Produto

    sendo impactado pelo técnico • Escala no desenvolvimento • Falta de ownership • Conhecimento centralizado Desafio
  4. 9 • Alta curva de aprendizado • Onboarding complexo •

    Sem estratégia para modularização • Fricção Arquitetura
  5. 15 • Escala • Soluções genéricas e personalizáveis • Autonomia

    • Reuso • Facilidade e simplicidade na adoção • Segurança Premissas
  6. 18 • Integração com o ecossistema Magalu • Independência •

    Desenvolvimento híbrido • Autonomia • Sem necessidade de download • Super App como Sistema Operacional Premissas
  7. 27 • Desenvolvimento nativo • Quebras por contexto • Autonomia

    de times • Regras em alto nível Modularização
  8. 30 • Escala • Escopo reduzido (carga cognitiva) • Autonomia

    de times • Build time • Testabilidade Resultados