Primeiramente, comece a usar um sistema de controle de código-fonte a partir da primeira linha de código. Adquira o hábito de verificar o código cedo e frequentemente.
Segundo, decida sobre uma estratégia de teste . É claro que isso deve significar testes de unidade, mas você também deve considerar como automatizar os testes de aceitação.
Terceiro, estabeleça um servidor de integração contínua para que seu código seja construído regularmente e testado regularmente.
Depois disso, como equipe, estabeleça alguns padrões simples de codificação . Você deseja que seu código seja facilmente legível por todos. Realmente não importa quais são os padrões. Recuar com tabulações, recuar com espaços, chaves na mesma linha, qualquer que seja. Não importa o que sejam, apenas que todos os apliquem de forma consistente.
Como a equipe é formada principalmente por desenvolvedores juniores, planeje revisar o código frequentemente para garantir que eles não estejam adicionando muita dívida técnica ao seu sistema.
Por fim, considere usar o SCRUM . Se o fizer, contrate um treinador ou faça algum treinamento. Como todos vocês estão fazendo algo que nunca fizeram antes, é simplesmente impossível estabelecer prazos realistas. Com o SCRUM, seu gerenciamento terá visibilidade do que você faz diariamente, para que eles possam ver qual progresso está (ou não está) sendo feito. E, como seus prazos aparentemente foram dados a você, a SCRUM pelo menos garante que, se você não puder cumprir o prazo, pelo menos você estará entregando histórias completas em uma base incremental, o que sem dúvida é melhor do que chegar ao fim com um gigante sistema que não funciona.