The last year or so I went through some pretty rough times. Struggling with my health, back surgery, h-pylori and other concerns, I was pretty bogged down. The worst stretch was about 6 months long. During this time, I was only able to work a few hours a day at best. I also saw a cognitive behavioral therapist to learn how to better deal with the multitude of challenges. One day I asked him how to do better in my work when I was feeling so ill and low on energy. His response was very wise. He said to pick the most important thing for that day and get it done as soon as possible, no matter how small.
This fits very much inline with agile software methodology, and since I do software for a living, is very appropriate advice. In agile software development, only the most important immediate tasks are worked on. At anytime, task priorities may shift. Long, drawn out schedules, and waterfall development patterns are eliminated. Agile aims to reduce waste and inventory by getting minimal viable features shipped to customers as fast as possible.
The best time I have found to get the most important thing done is early in the morning – especially before kids get up. 5 a.m. is a great time to get things done and exercise. Pick your own best time to get the most important thing done each day and make it happen. Find the time that best works for you.