Working on projects end-to-end for a couple of clients I've come to appreciate the never-ending loop of design and development.
I've been keeping track of a list of "things I've learned" during some recent client projects. My number one is:
The best way to understand the scope of a project is to have your client use the final product. Everything you do beforehand is an attempt to figure this out before the deadline.
I appreciate this short definition of the Gestalt Roundtrip:
In other words, you are unable to finish design until the design has been programmed; and you are unable to finish programming until the program has been designed. -- MarcoDorantes?