I agree with this philosophy as well.  If is a project or program that will be worked on more as time progresses, typically it refactors itself after the programmer has a better grasp of the big picture.  Often the bigger picture can only be grasped after there is some momentum with the project.  I&#x27;d say this works 90% of the time, where the other 10% needs more upfront design and research done before any real work is started.