I find that most of the development work behind an idea goes on in the back of my mind, until I have a very good idea how to solve all the potential problems and stumbling blocks that I can conceive of at the beginning. This all happens when I'm bored, when I have a free moment at work etc. And it all happens before I start bringing my ideas to life on a keyboard.
Of course, the unfortunate thing is that I almost inevitably fail to spot all the possible problems that arise during the development process but still, I won't sit down to develop something without already knowing my path pretty well. I guess that puts me firmly in the second category.