QUOTE(Rhymer @ 28 Apr, 2009 - 09:48 AM)

I suppose it really depends on the scope of the project. For something fairly easy I just start digging in and adjust as I go but for a larger project.....Heck I just dig in and adjust as I go.
How's abouts yous guys?
Like you said, it depends on the scope of the project. In general, I lay out the functionality first, then break it up into logical parts, then classes, then draw little pictures of object interactions and relationships, then block out the UI (if it has one), do screen mockups with limited functionality. Then fill in the frilly bits.
But if it's a small program, or something that I'm writing for fun, I just jump in and start coding.
I worked on a project quite a few years ago that had a design document that was 15 3" ring-binders worth of printouts. There was no way that could have been written by just winging it.