No one with experience disagrees with this.
The deeper and much more difficult question is the general software engineering challenge - how do you do decide what to do NEXT, and how do you decide how to balance local vs. global simplicity. To your point, it's good to have something that runs, as early as possible, and for all there right reasons. But when I watch skilled Mathematica programmers they almost all proceed bottom-up and inside out; they start out quite simply and then - using the functional paradigm - string thing together up and down stream from this. Often the result is incomprehensible, UNLESS one saw it being put together.