My approach is quite different than yours, but I'll share it.
While fleshing out every bit of story, mechanics and general designs before actually working on it is a good and positive thing, i tend to almost to the opposite. I've worked at professional companies where your approach seems to be the best thing to do, but the moment i started on my own i noticed my urge to do it differently.
Too many times have projects started out - and stayed in the concept/pre-production phase. For my project now, i fleshed out the general synopsis of the game, declared the main mechanics of the game, and just jumped into it.
Basically this leaves me with an interesting approach where I see progression daily. As long as I'm familiar with my own backstory, main events and such, I can push out level after level at an amazing pace. The key to this is that i only use placeholder graphics, and always has the story, events and such in the back of my head.
From a project management perspective this is awesome, because you get to see constant progression to the project. You also get the chance to test things appropriately, and make changes before the final pieces are put in.
From a writing/story perspective, you get to dive into your own world as you make it, where you can add elements, take away elements, and make proper alterations on the go to fit "the big picture".
And to add to your post - this definitely clears my "blockades", in terms of writing. If im stuck i'll just throw together another level segment, or test the already existing ones! :)