I make sure I understand the problem and the desired result.<p>I consider if I can break the problem down into simpler problems.<p>I want to have a map in my mind, or in notes on paper, so I’m writing code according to a plan, rather than writing code in hopes a plan or solution will happen by accident.<p>Measure twice, cut once.
I review issues and read articles of interest until we do our "stand up" which is basically first thing in the morning.<p>There are too many interruptions before that to spend the effort required to establish a mental model of the problem domain and potential solutions prior to that.