One of the better ideas I came across while researching for my masters thesis was William K. Horton’s description of design as “a continual process of successive refinement” in his book Designing And Writing Online Documentation.
He describes this in a diagram thusly:
do it right. – > do it better -> do it better…”>
“Development of online documentation is iterative, cumulative, and empirical. It is iterative in that several cycles of development are required, cumulative in that you learn and improve through each cycle, and empirical in that improvements are based on testing and experience with working prototypes of the system.”
I think this concept can be readily extended to all sorts of online development and, based on my experience with my bookstore, to other projects as well. The key factor is to do something from which to improve. Yes, you should think first, but don’t feel you must solve every question in the first specification. “Ready, aim, aim, aim, aim….” won’t get you anywhere.