As for me, I first try to explain the game to others. This is where flaws in my ideas begin to surface as I break the idea down to pieces for explaining. This is made more effective if the person I'm explaining it to asks a lot of questions and is interested with the idea.
This. It's amazing how many holes show up in my ideas once I start trying to describe them to someone else.
Also, prototype early, and prototype often. As in, I like to get a bare bones version of what you think the main "game experience" is up as fast as possible, so I can see if it is as cool as I envision. If I think the main draw of the game is some neat gameplay, I write it so I can actually play it (and make others play it) and make sure it is as fun as I thought it was in my head. If my main draw is a particularly clever story, I try to write it out in a google doc in advance, to make sure it makes sense, and then try describing it to other people.