Executando verificação de segurança...
9

Documentação e padronização são prioridades em projetos de médio/longo prazo.

Minha abordagem para lidar com meus projetos freelancers, onde tenho tempo limitado para tudo, é a seguinte:

  1. Crio um fluxograma de utilização dos sistemas na versão 1.0, que inclui apenas o MVP (Produto Mínimo Viável), não abrangendo o cenário ideal do software, o qual fica reservado para futuras versões, uma vez que precisamos validar o projeto de forma realista. Se você estiver com dificuldade para identificar o que é realmente necessário, comece criando a versão ideal e, em seguida, analise o que é essencial para a produção.

  2. Com o fluxograma em mãos, divido-o em "features" para facilitar a divisão do trabalho e definir prazos para entregas parciais, se aplicável. Como exemplo, em um sistema de biblioteca, as features podem incluir:

    • Login
    • Gerenciamento de Usuários
    • Catálogo de Livros
    • Processo de Locação
    • Geração de Relatórios
  3. Para cada feature, elaboro uma "User Story", que é uma descrição detalhada de como a funcionalidade deve funcionar. Em seguida, desenvolvo uma série de testes que visam cumprir essa história. Ao final desse processo, posso programar as classes antes de orquestrar as interações (TDD).

  4. Agora que temos uma compreensão sólida do que precisa ser feito, podemos abordar a parte arquitetural do projeto. Começo com uma análise das estimativas de tráfego inicial e potencial crescimento, a fim de determinar como o sistema se comportará quando atingir determinados números. Aqui está um exemplo simplificado (os números são apenas ilustrativos e não têm cálculos precisos):

    • Arquitetura v1: 5 requisições/s - Docker com acesso direto à aplicação através do Nginx, cache em arquivo.
    • Arquitetura v2: 100 requisições/s - Docker com acesso direto à aplicação através do Nginx, cache no Redis.
    • Arquitetura v3: 1000 requisições/s - Docker com balanceamento de carga no Nginx e escalabilidade na aplicação, cache no Redis.
    • Arquitetura v4: 10000 requisições/s - Docker com balanceamento de carga no Nginx, aplicação seguindo a arquitetura hexagonal, cache no Redis.

Para todas as mudanças na arquitetura, recomendo que você documente as razões por trás de cada alteração. Quanto mais detalhada for essa documentação, melhor.

Lembre-se de que essa é a abordagem que melhor se adapta à minha realidade. Espero que ela possa ser útil de alguma forma para você.

1

Vlw pelas dicas vai ajudar mt, to avançando no nível dos meus projetos e vou começar a fazer algo que ajude as pessoas de alguma forma e futuramente criar algo pra se tornar uma das minhas fontes de renda