Hoje saiu no xkcd uma tirinha com um fluxograma de como se escrever um bom código.
É a verdade nua e crua da vida de um desenvolvedor. Você nunca vai escrever o melhor código antes que os requisitos tenham mudado. Por isso, sou adepta do XP, que já leva como pressuposto que os requisitos mudam durante o desenvolvimento e já devemos adotar práticas para aprender a lidar com essas mudanças.