This post brought a ton of memories back to mind. I've wanted to start a project from scratch far too many times more than I'd care to admit.

What I've found in my experience as a software developer is that trying to call the right shots from the beginning is a core part of the development process. Often this is the hard path, but I've found myself in situations where I need to change something, and thanked my past self for doing what he did.

Also remember that software is never finished.