Developer Aspirations

YAPB - Yet Another Programming Blog



March 2011

Steps towards GTD

by Colin Miller, on GTD, Musings, Time Management, work

As my fiancé can attest, I can be awfully forgetful. It isn't that I'm not  paying attention or that I don't care about my projects, it's just that there is a lot to remember. I probably have a good 30-40 various projects that I'm either working on or would like to someday get done. Beside larger projects, there's dozens of little things that I have to remember to do. The roof of my car needs to be cleaned (something horrible happened to it in Oakland... I'm still not sure), I need to pay the venue of my wedding, I have to fix my dev build, I have a voucher for rock climbing that I need to schedule, my cat needs cat food, and many other things. I struggle sometimes to remember all of this stuff, and more importantly remember it when it actually matters. I want to remember to buy cat food when I'm at the store, not when my starving cat is yelling at me at home.


When she gets hungry she starts shooting death lasers out of her eyes. Forgetting these things is bad for my health (and hers).

With the Pomodoro Technique, an activity log is created that has everything you want to do in it. Each day you're supposed to pick the top items from that list and put it on a daily ToDo to get accomplished (no more than you can actually get done). Optionally the list can be given priorities, but for the most part it's just a big old list that you add new items to the end of and is hard to maintain and track. I like portions of the Pomodoro Technique for focusing and removing distractions, but some of the task organization is too shallow.

Enter Getting Things Done or GTD. If you've never heard of GTD, it is a system of closing all of the "open loops" in your life. An open loop is basically some sort of unfinished task or project that you have to remember to do that sometimes enters your consciousness while you're not working. You close these open loops by entering them into an organized trusted system. This is supposed to remove that nagging sensation in the back of your head that you have things to do that you're not doing. It's also about identifying the next action for any project you may want to complete so that you have a better idea of what you need to do to actually accomplish some goal.

The book is interesting if a little verbose and self-flattering. There are portions of the book, mainly the first several chapters, that sound a bit too much like an infomercial. "After you've implemented this technique, you'll find yourself constantly in a state of relaxed control. No really, you'll be controllingly relaxed. I go into clients and teach them the system and they're like 'wow, that's awesome'. Let me tell you again how awesome this system is... it's like, awesome." That's basically how the first chapter seems to read. Later chapters also have this problem, but they get a bit more explicit in the functionality and less preachy. I almost wish he used his own method more when writing the book, he may have asked himself "Why am I writing this part? What real purpose does it serve?" Oh well. Still, if you can get around that and find the distilled process, which would have taken half the size as the original book, there's some value to be had.

The basic process goes like this: First, take a brain dump. Write down every little thing you need or want to do and write it down somewhere. The book recommends a single piece of paper per idea, which I think just wastes paper. I do mine on a computer using a GTD application. Whatever works for you though, just write each one down. Don't think about how to organize it or anything yet, just get it out of your head. Keep doing this until you stop thinking of things you want to do. This stack of papers or digital list of items is your Inbox. He recommends using those paper trays like they used back in the olden days. You can't even find those things at my office, but whatever works for you. Just have a list of stuff you want to accomplish.

Now for each one you have to look at it and decide what it is and if it's something you can and want to physically do. If it isn't, either throw it away, store it for later, or file it as reference. If it's something you can and want to do, determine the next action to complete it. If it's something that will take multiple steps you should probably figure out what the end goal is first, then determine the next step. Once you have the next step, if it can be accomplished in under 2 minutes, just do it and get it out of the way. If it'll take longer than that then either delegate it to someone else who can do it, or defer it to some other time.

Any time you have a new thought of something you need or want to do, just write it down and throw it into the inbox and forget about it. At some point you'll want to go through your inbox and clear it out by following the steps above. I do it around once or twice a day since I'm not a fan of seeing stuff in my inbox.

I haven't finished the book yet, but from what I gather you're supposed to assign each task a context. Basically what you need to accomplish a task. Contexts can be things like a Phone, being Online, or just in the Office. The idea for this is if you're making a phone call, you may as well just make a lot of them and do all of your phone tasks all at once. Or if you're doing stuff online, why not accomplish all of those things you need to accomplish online at the same time? Contexts for me seem more interesting when combined with some sort of location awareness. If I'm at the store I just want to see items related to being in the store (Oh yeah! I need cat food!). This way you can check what you need to do while you're at a place that you can actually do it.

Then, whenever you're in a particular context, just pick the next item on the list and do it. Check it off and move on to the next task. Do these until you run out of tasks to do, get tired, run out of time, or whatever your end condition is. The idea is that each item on your next list is something you can actually accomplish so the step of thinking about "What do I need to do to get this project moving forward" should already be done; you're just executing a predefined task.

So I've started trying to implement this method. I acquired a copy of OmniFocus and put all of my tasks into it, created some projects, and then assigned contexts. At first I was attempting to just put work related things into OmniFocus, but I've since found that the method is pretty useless unless you put everything, including non-work related stuff, into it. There are things that I need to do at home and in other, non-work related areas of my life that just nag at me all day. Thinking about those things makes working more difficult, so trying to put them into a system where I can review it later and actually do those things at home means I (theoretically) won't think about those things at work. I also should remember what those things are when I'm at home thinking "Man, I should be doing something. I know I have things to do, what are they?"

After I've finished the book and used the methods for at least a month I'll create another post, much in the same vein as my Pomodoro Technique post, describing how the process works for me and if I really am in a state of relaxed control, or controlledly relaxation, or whatever.

comments powered by Disqus