Eu não sei os outros Devs, mas quando eu começo um projeto eu vou apenas codificando pensando em fazer funcionar. Uma vez que funciona, faço um commit, depois refatoro tudo para boas práticas (não demora tanto, pois com um tempo as boas práticas e seu consciente se tornam uma, mas erros são inevitáveis), faço os respectivos commits, e por fim implemento os testes. Se passar em tudo, ai sim é a versão 1.0 do meu projeto.
2
2
Meu fluxo é mais ou menos parecido. Inclusive se é uma tecnologia que não domino, eu faço e vou ajustando com a leitura de artigos. Então sai rápido e mais ou menos decente