Writing specs is a key bit here that I'd generalize as: I think by typing. The hardest problems I troubleshoot are worked through with best quality if I am typing up a worklog of stuff tried, rather than taking no notes at all. And like mentioned in other comments, the effort of typing these notes is a limiting factor on the quality of my notes (too much time spent typing slows the troubleshooting iteration loop).