One method for programmers to stay focused, keep it simple, and get the job done is to set micro-goals or micro-milestones. "When I get this query returning the correct results, I can take 10 minutes to read/write blogs." These rewards may come in the form of snacks, naps, leisure time, or anything that the coder made find rewarding and a rest from the project. I have found one reward that absolutely does not work! Never set your reward as "when I get ____ finished, I may go to the bathroom." One way or another, you are going to fail!
Husband to one wonderful wife, father to five fantastic children, juggler, technophile, freelancer, DIYer, adventurer, volunteer, KO4NFA (2m/70cm), WRMJ225 (GMRS)
Disclosure: I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for me to earn fees by linking to Amazon.com and affiliated sites.