Learning what I can do in a day
I've been using Things and now Asana for task management for over a year now. What is great about these tools is I can set due dates for all my tasks and they magically appear on that day to remind me to do that. I rely on the today view both these tools have to tell me what needs to be done that day as well as the upcoming task view to tell me what the next few days are like. However, I found that I wasn't being careful about when I was scheduling tasks. Because of that I was over-scheduling my days. I would load up the upcoming days with a set of tasks that I couldn't possibly finish. This was especially true for the weekends where I'd arbitrarily schedule personal tasks for the weekend and come Saturday find I had 17 things to do.
What, sadly, took me a long time to realize was that no matter how much technological support I have to get tasks done, task-management isn't just enumerating everything you need to get done and then doing them. I still need to carefully plan when I'm going to get stuff done.
What this means is that I need to look at my calendar while I'm planning due dates. Asana will publish your tasks as a calendar and I can see what I have already scheduled for the next week or month or so. With that I can decide on due dates around appropriately. The other nice thing about this is that I used to plan tasks without considering things like meetings, parties, and such. All these things really take a toll on my productivity. I know that meetings take a lot of time so I won't be able to get much done that day. Furthermore, if I only have an hour in between meetings I can't get actual research work done. It simply takes me more than an hour to get up and running with serious intellectual tasks. What I can schedule in that time are quick, relatively mindless things like filling in forms and cleaning.
Another thing I try to be conscious of giving myself at least one "get up and running task" on days when I know it's going to be difficult to get working. Usually these are Mondays or days after parties. In the morning I'll start with something relatively mindless and easy like filling out a form that I know I can finish. This gets me into the mindset of working and then I can do more complex tasks next.
The extension of this is that I need to carefully consider how long each task will take. With this I really try to be realistic and not underestimate the time needed. In fact, I usually try and over-estimate. I rarely finish anything early and even if I do there's always plenty more things for me to do.
One of the issues I've always had with fitting my research tasks into any task management system is that tasks like, "learn about exemplar SVMs," can take several days of reading and research and don't have a clearly defined end. With these I basically give myself two or three days to finish. After that I re-evaluate where I am and often I find that the task has branched off into several other tasks. I mark the original task done and create the new ones.
The final thing is that since I rely so much on the today view, if I don't get something done on the day it's due then I don't leave it. I reschedule it. Otherwise I have to overload a day just to stay ahead. It's better to figure out exactly when I can now finish this item rather than having a long list of things not done. Asana has a nice change tracking feature so in theory I can see which items I postponed.
The overall effect of keeping disciplined about all this is that I'm actually able to make progress on everything. Plus my deadlines are based on my current workload, not just some random guess so I'm able to give everyone realistic deadlines. Being realistic with myself about my workload and how long things take to get done mean that I actually get more done.