As is true of most people, every few months I completely change the method I use to keep track of and manage the various things I need to get done.
Right? Most people do this, right?
No? OK, well, whatever. This is something I experiment with. The general pattern is that at some point I realize that whatever method I am using isn’t working for me. Then I scrap the whole thing and come up with a new mechanism/algorithm to try and see how it goes. Typically, it will do better at making sure some of the things I was feeling got neglected get done, but at the expense of something else that had been getting more attention, but now doesn’t. (Because fundamentally, there is never time to do everything I want to do, so no matter what system I choose, SOMETHING gets shafted, the question is which things, and am I happy with the result.)
Anyway, in the last couple weeks, I’ve started a new one of these cycles, so I figured I’d talk about it a little bit.
Requirements
In this iteration, the problem I was having was that a handful of high priority items that I do regularly were getting all my attention, and some lower priority items (that never the less I would like to get to SOMETIMES) were just never happening. So I wanted some method that would encourage me to mix it up a bit.
I wanted something that would take into account that I want to do certain tasks repeatedly, while others were one offs. It also needed to take into account the fact that some items do indeed have higher priority than others. Also, and most importantly, it should take into account how close the deadline is for each item. (Or realistically, since this is me, how late it is.) This last factor makes the prioritization dynamic. If it has been 5 days since the last time I did something that is supposed to happen once a day, that’s one thing. If it has been 20 days since I did that thing, the priority should be much higher.
I also didn’t want a todo list that just showed me a list, or what the current “most important” thing was. If the most important thing is a big time consuming thing, it doesn’t mean I want to spend 100% of my time on it until it gets done. (Not usually anyway.) So I wanted something probabilistic, where each item had a dynamically calculated “current priority” which would translate into a probability. Each time I want to sit down to work on something, I want to roll the metaphorical dice, and have one of the items come up based on those probabilities. So the “most important” item has a higher chance of coming up than everything else, but not a 100% chance. Meanwhile, low priority items may have a low chance of coming up, but not a 0% chance. And as time goes by without those low priority items being picked, their priority slowly rises. If ignored long enough, even the lowest priority item will become high priority.
So, looking at specifics:
Recurring Items
To start with, I figured I would have a “default priority” for these that started at 0 when the item had just been done, and rises linearly to some constant value (I picked 1.00) at the moment the thing is due to happen again. Then because some things are more important than others, I allow a multiplier.
So we end up with (multiplier)*(1-(((time due next)-(now))/(recurrence)).
Notice this keeps going up after something is due, at a rate that depends on the recurrence. So a weekly item that has gone two weeks ends up with the same priority as a daily item that has gone two days (if they have the same multiplier).
One off Items
I wanted these to basically work the same way and be included in the same system as the recurring items, so I mapped them into the same pattern. I did this by also tracking a “start date”. A one off item just gets treated the same as a recurring item with the recurrence being the amount of time between the start date and the due date.
Putting it Together
Although eventually I’d like to set all this up in a web app for me to be able to easily access my list from anywhere, I started by modeling it in Excel. You list all the times, you calculate the dynamic priorities, from that you sum things up and calculate the probabilities. I added some additional stuff for Excel to show a bar graph of the probabilities, to have a macro to refresh all the probabilities, resort the list, and then pick an item based on the probabilities, etc.
Although I may flip on this later, I also decided on a minimum recurrence of 24 hours for practical purposes. (Theoretically, having much shorter time frames is fine, but for my use case it didn’t make sense…)
Results
Too soon to tell. I’ve been using this for maybe two weeks so far. I am indeed seeing a mix that has the higher priority items come up slightly less often, but still a decent amount, while lower priority items are getting attention they haven’t gotten in a long time. I’m happy about that. But of course the question is if the higher priority items will get ENOUGH attention, or if this ends up being a solution where they don’t get what they need, and being high priority, that causes problems. Of course, if that happens, I can always increase the multiplier on those items. But I’m not sure yet if that would just set up an arms race on multipliers, or if things would come to a stable equilibrium that is acceptable.
I’ll report back after a few months. :-)
Oh, and if anybody wants to also try this, let me know and I’d be happy to send you a copy of a skeleton spreadsheet with this logic.
I understand this – :-) – my charting is different though!