Something great designers do is experiment and polish by iterating frequently. I wonder how early they start.
As a songwriter, I've learned that it becomes more difficult to iterate the longer I've stuck with a particular version of song or element. The more I play a song one way, the more linear my thinking becomes about that song. If I want to change a part, then I'm more likely to think of something similar to what I already have and not explore other possibilities.
The same is probably true of programming and game design. The earlier you can create something that even vaguely resembles what you're aiming for, and the earlier you can get 1st-hand and 2nd-hand feedback on that model, the better. Whenever you think up a new feature, get it into the game as quickly as possible.
Of course, sometimes feedback mistakes problems with a prototype for problems with the design it's meant to represent. Just because something gets booed early on doesn't mean it should be scrapped or reworked. Experiment early, but trust your instincts.
What do you think?