Engenharia de Software: Sucesso Sustentável
Saiba o que você pode fazer para que seu projeto continue organizado mesmo com o crescimento das demandas.
Quando queremos iniciar um projeto de desenvolvimento de software muitas vezes é bem claro o que desejamos entregar, mas ainda não sabemos como fazer, naturalmente existem os desafios para definição das tecnologias mas é comum após a definição das tecnologias partir para a mão na massa e em pouco tempo nos deparamos com a dificuldade da organização dos processos tão necessários no dia-a-dia, não se preocupe esse comportamento é normal e quero trazer aqui como você pode resolver isso.
Para fazer um paralelo, no Brasil, muitos empreendedores abrem o seu negócio por dominarem a parte técnica, no início trabalham sozinhos ou com alguém do seu convívio, atende alguns clientes e isso funciona até atingir um certo volume de vendas, depois começam a vir os desafios de gerenciar os funcionários, logística, contas a pagar e a receber além da própria expansão do negócio, aqueles que lidam bem com isso avançam e os outros declinam ou ficam estagnados.
Com um projeto de software não é diferente, alguns iniciam o desenvolvimento do código da forma como se sente mais confortável, não utiliza padrões de arquitetura, não cria registro das demandas e principais entregas, além de manter os arquivos salvos somente no seu próprio repositório e publicando manualmente o código gerado, então, assim como acontece com as empresas, quando o volume de demandas aumenta, aqueles que lidam bem com isso avançam e os outros declinam ou ficam estagnados.
Agora que você já está atento com isso, o que você pode fazer?
Organize as ideias, escreva elas de forma simples, mais importante que a riqueza de detalhes é vencer a parte de materializar as demandas, dessa forma mais pessoas tem conhecimento das atividades a serem realizadas, você ainda pode otimizar criando um quadro de tarefas para saber o que está por fazer, o que está sendo feito e o que já está pronto, dessa forma você também poderá saber o quanto seu projeto está progredindo.
Compartilhe um repositório de arquivos para que as pessoas tenham acesso aos códigos do projeto e possam obter sempre a última versão para realizar os trabalhos, além disso você terá ganhos de rastreabilidade sabendo quem alterou cada trecho do código.
Utilize uma ferramenta hospedada em um servidor para compilar o código fonte, isso irá permitir que o software tenha um padrão de compilação evitando problemas do tipo “na minha máquina funciona e no servidor não” e permitindo uma maior qualidade do software pois todos irão realizar a tarefa de compilação da mesma forma, e caso não esteja no padrão a ferramenta irá recusar o progresso.
Automatize a publicação do seu código, processos manuais são lentos e suscetíveis a falhas enquanto a publicação automatizada seguirá exatamente os passos que foi configurada, possibilitando também a realização de trabalhos simultâneos o que contribui para a produtividade.
Você já sabe o que pode fazer, mas talvez ainda tenha dúvidas em como fazer, se pesquisar na internet você irá encontrar muitas ferramentas para atender cada uma dessas necessidades gerando mais confusão, mas vou te dar uma dica, você pode utilizar a plataforma do Azure DevOps que é uma solução da Microsoft gratuita para até 5 usuários, nela você tem a ferramenta Boards para organizar suas ideias e gerenciar o progresso, ferramenta Repos para compartilhar o código fonte e a ferramenta de Pipeline para padronizar a compilação e automatizar a publicação do seu código.
Além das ferramentas apresentadas existem outras funcionalidades no Azure DevOps como a Wiki para que você possa manter a documentação do processo de desenvolvimento, a ferramenta Artifacts para hospedar as bibliotecas que você criar e também a ferramenta Test Plans para realizar o registro dos testes efetuados no projeto. O mais legal é que a plataforma consegue te acompanhar desde o início do projeto até atingir uma escala global, dando confiabilidade e segurança para poder crescer independente do volume de demandas.
Fazer uso da engenharia de software possibilitará você ter uma comunicação assertiva entre os integrantes, ter segurança do que está sendo desenvolvido e do padrão de qualidade desejado para alcançar o sucesso sustentável do projeto.
Caso queira conhecer um pouco mais sobre o Azure DevOps, consulte a documentação oficial da Microsoft.

Autor

Eduardo Fagundes
Consultor de TI