I have a note book, and I write timestamped logs into it as I go along. The emotions I feel when I take some extra time to do a tiny task because I got distracted by HN or something else is quite strong. I feel like this has had a very positive effect on self accountability. I can't bear to look at a log where it's written:
10:12 - Discovered that a file is missing locally. Which one is it? (extra note of file name)
10:14 - Going to check github to see if the file exists still and if not, when it got removed.
10:50 - (Insert expletive). Got distracted with Twitter. Back now. Checked file. It was removed in the last commit.
There are lots of other little elements I've included in my workflow like regular reflections and end of day planning for next day. But I feel like the physical logging activity is the element that actually makes it all work.
Happy to share more details on this workflow if anyone is interested. My build just finished so it's back to work before I become embarrassed by my log ;).
Edit - I was in a hurry to write this because of a build about to finish. I've got another build going and wanted to add that one other important effect of this process is forcing myself to think of the next step without the burden of keeping the previous contexts in my head. That's all written down so I can always pick up where I left off even in the case of an interruption.