When I design an app, I think about it a lot before I do anything. I might be labeled as not methodical, but this is actually a methodical approach.
I start really wide. I think about it, talk about it, and start to write about it on paper. Then I open a text editor and develop real data models to capture some of the ideas, and then move back to paper.
Working on paper, I often just start writing what the app should do--a bit of BDD. And then I might flip it over and design a screen, or a schematic showing the relationships between things.
I wring that damn sponge dry.
And then I do it again, but narrow the scope, and then again, and pay attention to flow, and then again. All on paper.
Some of this might be second-guessing myself. Some of it is useful, but a lot of it is repetitive. It's like I'm practicing the same lick over and over until I get it right.
My inclination is to go from paper to code. The wisdom of my years tells me to ignore that inclination and go from paper to some sort of loose digital spec.
I've never been the professional application designer, though I've designed a bunch of stuff. So I do things the way I do them, part of which contributes to my Sunday dread, where I know I'm delaying creating a final draft because, well, I really don't want anyone to see the work in progress. I violate my own rules about radio silence.
So today I'm going from paper to something not. Because I've got a co-founder now, and he's no slouch. He expects results!