Design is the art of gradually applying constraints until only one solution remains. To get there usually takes me a few iterations. Here's how it typically goes...
My First Design
My first design, while it may seem like a solution, is usually just an early definition of the problem I am trying to solve. This iteration surfaces unanswered questions, puts assumptions to the test, and generally helps flesh out requirements. After completing the first design, I revisit the requirements or ideas I started with and define them much more crisply.
My Second Design
My second design settles me into a structure and framework that prioritizes the right things and will scale appropriately. I often have to bounce between key components/areas of focus several times during the second design to make the system works across all the important contexts.
My Third Design
My third design takes a hard look at interaction and presentation details. Are they complete, effective, and MAYAn (most advanced yet acceptable)? There's a lot of time spent on typography and interaction design during this iteration.
My Fourth Design
My fourth design is a personality scrub. It applies small elements across the copy, visual elements, and interaction states of the design that ensure there is a holistic personality in place that holds everything together. It's here I make sure messaging is consistent and terms/labels align.
My Fifth-Nth Design
My fifth through nth designs are about optimization. As usage data comes in, I focus on tuning and adjusting the important elements of the design to support the right kind of behaviors and messages. This process goes on until the effects of optimization plateau and it is time to go back through the design cycle -starting at the first design again.
Every iteration consists of several revisions and re-thinking. It's not a single pass through the entire design. But in every pass, I always try to remove what is unnecessary so what is necessary can speak.