Manter uma lista clara de seus objetivos é vital. É fácil para o rastreamento de recursos assumir um projeto autogerenciado. O TDD "é feito quando funciona" abordagem é útil também. Isso evita que você se torne um perfeccionista.
Uma coisa que realmente me ajuda é imaginar o que outro engenheiro ou gerente de projeto diria em qualquer situação. Muitas vezes eu sou capaz de "me envergonhar" de código ruim, ou voltar no caminho certo se a programação está escorregando.