I tend to have my idea, and then try to put something on paper (mainly so I don't forget it later). Then I code a couple of little bits to see if what I am thinking of will actually work (eg: pathfinder).
I find that it is beneficial to have some design documentation, partly because I would forget half of the stuff, but also so I can get the project to look as close to the original idea as possible. Only once I've got something close to the design do I start to allow "feature-creep".
I find that it is beneficial to have some design documentation, partly because I would forget half of the stuff, but also so I can get the project to look as close to the original idea as possible. Only once I've got something close to the design do I start to allow "feature-creep".