I guess, I don't really need a TODO list; what I care more about are details; I want to capture my nuanced reasoning about a problem in case I don't address it for a while; to save myself from making a bad decision in the future (when the relevant info won't be so fresh in my mind).
I like to scope out a problem and identify some possible solutions as soon as I encounter it; the optimal time. I find it helps to decouple the work of 1. Understanding the problem. 2. Coming up with possible solutions; and 3. Choosing a solution and implementing.