For a developer, the possibility of embarking upon a "green field" project is both a blessing and a curse. The blessing of course is that before you you have a blank canvas and a chance to build the perfect solution. You have a chance to avoid all of the mistakes that you've made before. The curse is not as evident. The curse is that you now have the opportunity to make all new mistakes.