The place this surprised me most was before writing code. On a recent project I wrote a plain plan file first: numbered stages, what each one should do, what "done" means. Half the real decisions happened while writing it, not while building. Questions like "what happens when the external service is down" only showed up because I had to put the step into a sentence.
It also made the work resumable. Coming back after a few days, the file told me exactly where I was and why things were the way they were, which no amount of reading my own code did.