I don’t mean linked lists or anything else programming-related. I mean an actual, tangible list of things that need to be done. It seems really common sense but I’m still surprised at how effective they are for keeping one’s mind focused.
Since I’m a programmer by trade, my lists tend to contain mostly programming tasks. I maintain a few lists at any one time, and each one looks at the landscape a little differently. The list that sees the most activity is the obviously most myopic; it just focuses on the short-term things I need to do. I call it “Today’s List”. Another list is more mid-term goals that I call “This Week’s List”. The final list is the farthest-reaching. That one is called “This Milestone’s List”.
When you’re working on a project, the question that always needs to be asked is: “What needs to be done?”
Each list is simply a slightly different answer to that basic question:
- What needs to be done today? (Today’s List)
- What needs to be done this week? (This Week’s List)
- What needs to be done for this milestone? (This Milestone’s List)
Today’s List is the immediate needs of the project. This Week’s List looks at the goals that need to be achieved “soon”. This Milestone’s List is a really coarse list of tasks that need to be done before delivery. You could also think of the Milestone List as a project plan that iterates over the course of the entire project.
What I do at the start of each day* is create a new Today’s List. Anything that wasn’t completed yesterday gets added to the top of the new list. I then prioritize the tasks so I work on the most important ones first. That’s not to say I work solely on The Big Tasks until they’re all done. If I know they’re going to take a lot of effort (especially mental effort, as many big programming tasks are), I give myself a break and inject smaller tasks between them. This has an added benefit when I complete those small tasks because I when cross stuff off the list, I can pat myself on the back, which is productivity fuel to start the next task.
Once the new Today List is created, I give the weekly list a once-over to see if I need to shuffle things around or whatever. I also look at the milestone list to remind myself of the long-term goals.
*I like to update the lists in the morning because the tasks stay fresh in my mind. I don’t do it at the end of the day because the information is stale by the next morning and I’ll just have to consult the list again anyway.
I find it most convenient to use a pad and pen for my lists. I don’t mess around with text files or anything like that. I want something instant. The pad and pen is always at my side so if the need strikes me to consult the list, BOOM!, it’s right there.
I think the convenience is leverage by the size of the pad I use: it helps that it has a small desktop footprint. Like many others, I have a one-a-day desktop calendar: you peel off a page every day. These usually only have printing on one side (and most have a big space on the printed side for taking notes). What I do is keep a stack of old day pages and use it as scrap paper. It’s an easy, simple, and (cost- and time-) effective to the problem. Plus you don’t waste paper.
As an example, here’s my list of blog topics (fear my mad penmanship skills!) As I think of new topics, I put it (somewhere) on the list. When I’m done writing a post, I cross it off.
The one-a-day calendar I use is M.C.Escher prints (which I find inspiring) and it even has lines printed for me!
So to sum up:
- Make a list of “things I need to do today”
- Make a list of “things I need to do this week”
- Make a list of “things I need to do for this milestone”
- Update today’s list as you get things done
- Consult each list every morning