An XP approach is to: for each iteration, do the 'simplest possible thing that will work' and then refactor as required.

You must waste some time hyperlinking madly through here http://c2.com/cgi/wiki?ExtremeProgramming .... this site was where Wiki was invented