I tend to think of incremental functionality. Add an output, play with it, what do I need to add/change. I don’t have the experiential knowledge now that I’ll have after playing with it, so it’s really hard for me to anticipate what to design, if that makes sense?
But then I also haven’t experienced any pain that may come from trying to layout everything after I’ve finished the functionality.