Não sei dizer quantos projetos já engavetei. rs
Mas sei dizer que eu só consegui finalizar projetos pessoais quando parei que querer tudo perfeito, tudo 100%, tudo com o melhor do melhor.
O conceito de Minimum Viable Product (MVP) é muito importante nesse momento. Tem uma ideia? Coloque no papel, difina o que é essencial para a versão beta 0.001 e mão na massa, ou melhor, no teclado.
O MVP irá te permitir "sentir" melhor sua ideia, validar conceitos e te ajudar a perceber valor. A partir disso você pode ir atrás de ajuda com outras pessoas, voltar ao papel, e as vezes perceber que está no caminho certo e seguir em frente.
Essas betas realmente ajudam a manter a motivação, ver um progresso. Uma coisa que desanima muito é programar programar programar e não perceber nenhuma mudança.
Então, coisas que podem ajudar a ter essas versões beta e ver o progresso são versionadores (github, bitbucket, etc)
Mesmo em projetos que esteja sozinho, crie branches
- Cadastro X
- Cadastro Y
- Função Z
- Função W
- etc..
Em casos de projetos que não possuem prazo, tudo bem não conseguir fazer uma funcionalidade no prazo. Se essa função não for vital, não há problema em deixá-la de lado (lembre-se de fazer um commit temporário, ou um stash para não perder o que foi feito) e fazer outra funcionalidade, isso clareia sua cabeça, coisas novas, você percebe o progresso, e às vezes a solução do problema anterior aparece. então ver que o projeto está andando ajuda a não desmotivar
Que sacada massa... Acho que quando é nosso é uma tendência natural querer que seja perfeito mesmo, e perfeito = nunca está pronto. kkk