Dev Week -- GTD for hackers -- liw -- Fri Sep 4th, 2009

2009-09-04 13:00:03 - 13:55:38 UTC

Ka-ching! it's time! This is a tutorial on the "Getting Things Done" system.

  • Impatient summary: externalize memory, review external memory regularly, pick the next possible thing to do and do just that. I will now spend the rest of this hour expanding on this.

"Getting Things Done" is described in the book by the same name, written by David Allen. It is often shortened GTD, and that's what I'll be using. I've been using various parts of GTD since the summer of 2006. I am by no means an expert, but we can learn together.

As usual, if you have questions, write them to #ubuntu-classroom-chat. I will attempt to monitor that channel, too. Questions are OK at any time.

GTD is a system for personal productivity: for achieving things while avoiding stress. It's a system for keeping track of everything you need to do, so you can concentrate on the task at hand, without your subconscious distracting you with all the other things you might be doing at the same time. Alternatively, it lets you decide to not do anything, since you know there is nothing you need to do right now. (And that's important!)

The goal of GTD is to get into a state where you know at any point all the things you could do next, and where you can easily deal with new inputs.

GTD is divided into five phases:

  • capture
  • process
  • organize
  • do
  • review

Capture phase

During capture, you write down everything you need to remember. It is all about making notes for later processing, not at all about processing things immediately.

  • If you are cooking and run out of milk, you write down that you need to buy more milk.
  • If you're out walking and see an advertisement with a URL you want to check out later, you write down the URL.
  • Or you take a photograph of the ad; any note-taking method is fine, except trying to keep it in your brain.

If someone says something in a meeting that you need to deal with afterwards, you write it down (unless you're recording the meeting).

It's important to write things down as you think of them, or encounter them. Since the brain remembers things mainly by association, it's hard for it to remember random things unless you're reminded of them again. Not impossible, just hard.

Because of this, you should have note-taking equipment with you everywhere.

  • A notebook and pen in your backpack, for example.
  • And in your kitchen.
  • Maybe in your bathroom.
  • If you want to go extreme, there are notebooks for underwater you use in the shower. (I am not that extreme. Honestly.)

I use a notebook in my backpack, plus my mobile phone, plus a text file on my laptop.

When you've written something down, it should go in your inbox. An inbox might be physical or electronic, and you might have many of them. My notebook and mobile phones are considered inboxes. I have a single physical inbox for things like snail mail. I have lots of electronic inboxes: e-mail, RSS feeds, my home directories on various hosts, etc. the phone's sms messages are also an inbox, btw

The point of the inboxes is that there is a limited number of places where to look in the process phase. that means it's easier to find all the things you write down

  • Any questions so far? then I'll continue with the processing phase.

Process phase

In the process phase, you go through everything in the inboxes, and decide what to do about them.

The algorithm is basically this: For each item in the inboxes, you decide

  • whether you need to act on it at all, or
  • whether it can be thrown away, or
  • filed away where you'll find it when you do need it.

If it does need action, can it be done immediately, in less than two minutes? Then do it at once. Otherwise, can you delegate it to someone else?

When you've decided the fate of the item, you're either done, or you need to write down what needs to be done by your or someone else.

This involves two lists:

  • one for next actions for you, and
  • one for things you're waiting for someone else to do.

Any questions? Is anyone keeping up? Ok, let's continue on the organize phase..

  • <ia> QUESTION: what do you think about such special apps and services, like tasque, tomboy, gtg, remeberthemilk? do you use it and do they help you? I have used a few a little bit, but for me, I find that simple tools are the most versatile and least in my way; however, everyeone needs to find the tools that fit them the best So, about organizing stuff...

Organizing phase

You need a place for everything, and you need to keep things more or less in their place. Otherwise you waste a lot of time finding things.

The GTD system suggests several ways to organize things. At the core there are four lists:

  • next actions for you to do,
  • projects you are committed to,
  • things you are waiting for someone else to do,
  • and things you might do someday.

(in short: next.txt, projects.txt, waiting.txt, and someday.txt for me)

The difference between a next action and a project is that a project is anything that takes more than one step, but an action is just one.

I keep these things in plain text files, other people prefer more sophisticated applications. I found sophisticated apps to be too limiting. You need a calendar for things that need to happen at specific times. You should only keep those things in there, and other notes and stuff elsewhere. I use Evolution's calendar. Other people like Google's calendar, or a paper calendar, or other solutions; again, whatever works for you is good.

You need a filing system. I have two: one for paper, one for bits. I use manilla folders for paper, and ~/Archive/ for bits. (Actually, I have ~/Arkisto, which is Finnish for archive.)

Both have a folder for each topic. A new folder is very cheap, so I keep the highly specific and name them descriptively. This makes it easy to find things quickly.

I also have a "Read and review" system, or several, for texts that don't require doing, but require reading.

  • I have a shelf in my bookcase for unread books.
  • I have a folder in my browser for bookmarks I haven't read yet.
  • I have a ~/Read_and_review folder for downloaded files such as PDFs I need to read. That is a summary of my organizational system; any questions? no? in that case I'll continue on, to the "do" phase...

The "do" phase

This is the best phase of all, this is where useful stuff happens, all the rest exists only to make this phase be as good as possible.

Doing is simple. You look at your list of next actions, and pick whatever seems best to do next, and then you do it. GTD has no priorities: it trusts you to pick the best action at any one time. GTD does have contexts, but I'm going to skip those, in the interest of brevity. I can come back to them at the end if there's time (do ask).

If your GTD system is kept up to date, you and your subconscious both trust it has everything important in it, and so you'll be able to concentrate on the chosen task and not have to worry about everything else. It's a bit contradictory, but since doing is so simple, there's really not much to say about it, even though it's the most important part of GTD.

  • So, unless there's questions, I'll continue to review...


A car needs an oil change and other attention from time to time. A GTD system needs regular review.

During a review you make sure all your inboxes get emptied, that your lists are up to date, and that anything lingering in your brain gets dumped into the external system. You might also spend time during the review to empty all pockets in all your trousers, jackets, backpacks, and so on.

While you review the list of next actions, you remove anything that is already done, or that no longer needs doing, and make sure that everything that remains really is just a single, physical next action.

Likewise, for the projects list. Make sure every project has at least one next action. Projects that don't have a next action can be removed from the list, although perhaps only temporarily.

For most people, a weekly review seems to be a good idea; some people like Monday mornings, to start off the work week with a clear picture of how things are. Others like Friday afternoon, to end it with a clear picture. Others like random times. Anything that works for you is good Smile :)

Ok, that covers the very basics of the GTD system.

  • Now, does anyone have any questions? Has anyone listening to this used GTD or some other productivity system?

    Ok, a few people have Smile :)

The system I use is not a pure GTD system, but it's fairly close. One thing I've added is that in addition to a calendar I use a couple of other things to remind me of time-based things. One is cron: I have my crontab e-mail me things that I need to do regularly. The other is a nagger application that doesn't just remind me, it nags at me every morning until I tell it I've done it, and then it shuts up for a while until it's time to do the recurring thing again. Occasionally I also use at, but that's rare. I wrote the nagger for myself, but 'bzr get' should get you a copy, if you want to play with it; freshmeat is probably full of similar tools though.

Those of you who have used productivity systems: what's your best tip? what's the worst thing you can warn people to avoid?

  • <cyphermox> liw, i guess it's the often wild inbox-todo-list-of-doom That is a very good point, and applies especially to e-mail handling.

I'll explain briefly how I manage e-mail.

  • All my e-mail comes to one inbox (in Evolution); I do not use per-mailing-list folders (even smart folders, since they broke for me).
  • All incoming e-mail also gets automatically copied to an archive folder.
  • When I process e-mail in the inbox, if it does not require any action, I just delete it.
  • If I ever need to go back to it, to check something, I find it in the archive folder.
  • If I need to save an e-mail because it does need some action, I move it manually to a "pending & support" folder, and add the action to my next actions list.

Thus, only e-mail that is unread or unprocessed stays in the inbox.

The goal is to empty the inbox completely every day (not necessary every time I read e-mail). I don't always reach the goal, but I rarely have more than a few e-mails that linger in the inbox; sometimes there are discussions that are just hard to read (difficult technical content, tough emotional content, or something).

  • <qwebirc91065> IMHO when you start keep your tools simple and you would probably have more success committing to the system That's also a good point, I feel similarly; however, some people get more energy from nifty technical toys, and more power to them.

A word about next actions and their list. An action should be a concrete physical action that can be done immediately, if you are in the right context. It should not require something else to be done first. It should be doable in one sitting, ideally in less than fifteen minutes, but that varies a lot, depending on the task and your familiarity with it.

For example, "write weekly activity report and send it to boss" is a good next action. It is very concrete, does not depend on anything else, and doable quickly.

On the other hand, "save the whales" is a bad next action. It is unclear what the actual action is. (If you really meant, "drag the whales from the beach back into the sea", you should write that instead.) It might work as a project, but even then it should probably be expanded with some description of what it means for whales to have been saved: what the success criteria for the project are.

"Make a new Ubuntu derivative for jugglers" is also a bad next action. It seems very concrete, but it's too long a task. It might be a project, and the first action for the project might be "write list of six reasons why jugglers need their own distro".

Also, a couple of links

If you're serious about trying out GTD, borrow or buy the book, it's a pretty quick read, and not too badly written.

  • is a website/blog about productivity stuff; the early archives are full of all sorts of tips and tricks and ideas, which may be inspiring.

(Though, after a few years the reader might get as tired of them as the author, but the archives are great.)

  • QUESTION: With all those pdf, articles, blogs... ?do you know a centralized system to organize all that kind of information and be able to easily find where did you read what?

    I don't have a system for that. I save stuff I may want to get back to to my link list (, and for the rest, I use my memory and/or a search engine ending with ogle.

Ok, that finished off all my prepared notes. We have 20 minutes for further questions

The silence is overwhelming Smile :) . No worries, I'll stick around until the end, in case anyone comes up with something.

  • QUESTION: estimating how long an action will take, and then recording how long it actually took is advocated by some time management people. Do you see any value in doing this?

I don't do that, but if it's easy for you to do, it can be reasonable to do at least some of the time, so you know what the correction factor is between your estimates and reality. (I have a correction factor of about 10 at times...) More sophisticated systems than plain text files would make this easier to do, I'm sure. Hm, I skipped an explanation of contexts earlier, I could do that now.


A "context" in the context of the next actions list, is some kind of constraint on the task, such as the availability of a phone. Or availability of the Internet, or some particular person, or being in a physical location, or whatever. If a next actions list is shortish, say less than 20 or 30 items, it doesn't need to be divided into sections, but longer lists typically do, and GTD suggests contexts for them. So the list might have a section for things you need to do over the phone: setting up a doctor's appointment, or something.

The exact list of suitable contexts depends on the life you lead. The GTD books is from 2000, so it is a bit quaint and suggests things like "at computer", as if people didn't spend 16+ hours at their computers. My contexts are: errand (stuff I need to leave my home for), phone, online banking (it is an effort to log in securely, so I try to do everything with one login), work time at computer, free time at computer, at home not using a computer, and availability of a car (I share a car with two friends) once again, any set of contexts that works for you is good

  • QUESTION: Could you elaborate a bit more about why you prefer simple text lists over more specialized applications for GTD? What didn't you like about applications?

    <ScottTesterman> liw: It seems as though you use a huge variety of tools to manage everything. Have you considered consolidating everything, or at least as much as possible, into one central application? These two questions are related, I think for a while I had everything in one system, then I wrote my own custom app and moved everything into that system the problem was, one app wasn't flexible enough for me but that's me, I'm not saying they aren't good for others for example, a centralized app might take a lot of work to change the list of contexts, or be resistant to adding a new category of list or the app might be a web app, which I just find awkward to use also, I am an old-fashioned luddite anything else?

We are about to run out of time.

MeetingLogs/devweek0909/GTD (last edited 2009-10-30 21:52:34 by mail)