Character is destiny. The content of your character is your choice. Day by day, what you choose, what you think and what you do is who you become. ― Heraclitus
I've been trying to do something similar with learning a language but to do it as a first thing every morning. After about 6 months I still din't manage to make a proper habit out of it.
Also is it FIFO, LIFO or a priority model?
My queue seems to bloat, then I tried to mitigated that by telling myself if something is in the queue for X amount of time remove it.
Nowadays that removal just becomes a JIRA story but it's rather inefficient for me.
That usually means I end up sort of ping-ponging between feature development and refactoring/tech debt. I develop features until I feel like structural issues are annoying/slowing me down, and then I focus on code quality until I can move fast again.
But honestly it's a very loose system and it's fairly sensitive to what I am most driven to work on in a particular time period. But I'm not really trying to micro-optimize the project, my main goal is to have a system which lets me be consistently productive. That means it's loose enough to not get in my way when I'm in flow-state, and it's organized enough that I can have a list of achievable goals to work through when I'm lacking in intrinsic motivation.
I also don't mind having a pretty huge back-log. When I'm totally uninspired it's nice to be able to pick up on ideas I haven't thought about in weeks and play around with them with fresh eyes.
edit:
> It's a pretty loose priority system, with the basic heuristic being that I try to choose the task that brings the most value to the project at the given moment.
I built my own very simple tool for that. It's a bit redundant since there's a lot of great tools out there, but it does everything I want and nothing I don't, and it's very low friction/distraction free.
- For working out, I rely on habit. I forced myself to go to the gym at a certain time for long enough that I just feel like doing it now, so I go automatically.
- For personal projects, I work off a queue based system. While I'm working on a task, I try to minimize task-switching, but if I come up with a new idea, or something else I want or need to work on related to the project, I note it down in my project management software. Then when I'm ready for a new task, I pick up the one I most want or need to work on from the queue.
- As far as the actual scheduling/time management strategy, I work from the model that will power and focus are limited resources, and that distractions and issues interfering with work tend to accumulate over the course of the day. Therefore, I start each day by pulling tasks from the queue which need the most focus, and put off communication with the outside world for at least an hour or so (or until my "first wind" starts to wear down). Getting up early helps with this.
- Other than that, I work more or less intuatively. When I find myself no longer able to focus effectively, I put down the work and knock out whatever administrative tasks I have to take care of, and when that's sorted I relax and do something I enjoy.