Introduction

David Allen’s “Getting Things Done”, or GTD for short, is a popular, powerful system for managing one’s life. If you have trouble dealing with your e-mail inbox, or feel you’re drowning under a flood of inputs and information, or just don’t seem to have time to do everything you think you should be doing, or others want you to do, then GTD may be a good thing for you to consider.

This book explains how I, a computer geek, have implemented it in my own life. It is aimed at everyone whose lives include a lot of computer use, and who know how to use their computers.

This book stands independent from Allen’s three books on GTD, but you’ll benefit from reading the first or third of those as well. (The second one should be considered optional.) I provide a different view of, and perhaps opinion of, the GTD system.

I discuss what has been good about GTD for me, what has been hard to implement, and what has not worked. My goal is to explain what I do, and provide inspiration to you for building your own GTD system.

GTD is not a system you buy in a shop and install on your desk. It is a meta-system: it provides some tools, a lot of guidelines, and principles, from which you create a system that works for you. For example, GTD assumes you will maintain lists, but does not specify how to do that. You can maintain a list on a pad of paper, in a text document on your computer, or by sticking photos of people on a notice board. It all depends on what kinds of things you need to keep track of, and on what tools you have and enjoy using. I am not going to discuss specific software tools in detail, since I have not made a survey of them. I will explain what I use myself.

Why GTD? Why any system?

In the middle of 2006 I noticed that I was massively failing to do things I’d promised to do, or that I wanted to do, or that I absolutely had to do. I was forgetting to buy food before a holiday, and then scrambling to feed myself while the shops were closed. I had been an independent consultant/contractor for a year and a half, and struggling to meet deadlines. I kept doing things, then realising some other things were about to explode in my face, and switching to do deal with that, until I noticed another emergency brewing.

I realized that I was under too much stress, and this made me unhappy, and that made me less productive, which made me more stressed, and that there was no end to this recursion. I needed to deal with it, and decided to spend a bit of time to do so.

I looked at a few personal productivity systems, but they didn’t seem very convincing to me. I tried cooking up my own, but felt my own attempts didn’t really solve the problem. I switched from keeping everything in my head to writing everything on post-its, but then I kept losing the bits of paper, or forgetting to read them at the right time.

I happened to remember someone blogging about the GTD system, and when I read about it, it clicked. Pieces fell into place and things started to make sense. I started applying GTD to my life, and my life started getting better.

I don’t know if it was purely because of GTD, or mainly because of GTD, but having GTD shape my thinking about these things definitely made a difference to me.

It might be that any of the other myriad personal productivity systems will do equally well. I haven’t tried many of them, so I don’t know. I’m not trying to convince you one way or another: I explain what I do, and why, and you decide if it makes any sense to you.

A brief history of GTD and its place in the greater sociohistorical context of humanity

Personal productivity systems have been around for a long time. Allen published his first GTD book in 2002, and for the next few years, there was quite a lot of buzz about it on the Internet. Something about GTD spoke to geeks, and they blogged about it, and dived into endless discussions about which color pen to use to write things down, or which software to use to keep an outline on what color computer. By 2007 the buzz had mostly died, and those who liked GTD kept using it.

An influential blogger during that era was Merlin Mann, and his most important creation was “Inbox Zero”. It’s an elegant condensation of the GTD system for dealing with e-mail, and that may be all you need. Many of us hackers pretty much do everything via e-mail, so if you get that under control, you’ll be fine. Go read.

Technicalities

This book is written using an Ikiwiki instance at https://gtdfh.branchable.com/, hosted on the Branchable service. (I am involved in running Branchable.)

Ikiwiki input is in Markdown format. I use scripts and tools to convert that into PDF, EPUB, and Mobipocket formats, for reading outside a browser. I’m currently using Pandoc and Calibre’s ebook-convert to do this.

The book is licensed under a CC-BY-SA 3.0 (Unported) license. However, the site is only editable by myself, at least for now. I gratefully accept suggestions and will consider patches, but since the book explains what I do, I am not sure I want everyone to be able to edit it. If you want to make your own version of the book, feel free to branch the site on Branchable and make any changes you like to the content.

“Getting Things Done” and “GTD” are registered trademarks of the David Allen Company.

Quickie overview of the GTD system

GTD is a system for managing your life: what you want to achieve, how you plan to achieve that, and how you deal with all the stuff life throws at you. You decide goals, the system helps you reach them.

A condensed summary of GTD:

- stuff enters your life, and you either deal with it immediately, or put it in one or more inboxes

- you empty your inboxes regularly from stuff

- stuff is dealt with by one of the following:

- do it at once (if it’s quick, or you have to, or really want to);

- defer it for later;

- delegate it to someone else;

- file it somewhere (if you may need it later);

- discard it (ignore it, throw it in a trash bin, whatever)

- keep several lists:

- next actions: deferred stuff;

- projects: anything that needs more than one next action to be finished;

- waiting for: delegated stuff;

- someday/maybe: what you may want to do someday, but isn’t an active concern right now

- at least once a week, process all inboxes, and review all lists

- have an archiving system for documents and such

- have a system for keeping handy files and other things relevant to current projects and next actions

You may now skip the rest of the book.

Inputs and inboxes

Consider how you deal with e-mail. All your e-mail arrives, automatically, unbidden, unwanted, unloved, in one or more inboxes. You might have one inbox for work, and another for personal use. Further, you might have automatic filters that move some incoming e-mail into other folders: software developers are often on many discussion mailing lists, each of which goes into its own folder. Each such folder would be a separate inbox.

A common anti-pattern for people is to keep e-mail in their inboxes. They read it, and leave it there. The next time they read e-mail, there might be some new mail, which they read, and leave there. Eventually, the mail piles up a lot, and it gets hard to find a specific mail you may need. Even more importantly, it gets hard to know which mails still require you to do something. Perhaps there was a mail from your boss you need to re-read? Or a mail from your mother that you need to reply to? Or perhaps you replied to her already? Can’t remember if you did?

Treating an e-mail folder both as an inbox and an archive of old mail, and mixing it further up as a list of things to do, leads to confusion, angst, and stress.

Let’s make a small change to e-mail handling. Let’s keep only unprocessed e-mail in the inboxes, and do one of the following things for every e-mail in each inbox, after reading it:

- delete it, if it is unlikely to be of further use; for example, spam, or stupid jokes from friends

- reply to it immediately, if you can, and it will only take a minute or two; for example, your mother asks if you’ll be visiting next weekend, and you’ve already made plans with your partner to go on holiday, so you can reply at once saying sorry, not this weekend

- move it to a “needs replying” folder, if the mail requires a reply, but you don’t have time to do that right now

- forward it to someone else, perhaps with a cover letter, if it’s their job, not yours, to deal with it; for example, it might be a question only your boss can answer

- move it to an archival folder, if you think you might need it later on

(Compare the above list with “do, defer, delegate, delete, or file” from the Quickie overview chapter.)

When you have time, you look into the “needs replying” folder, and reply to one or more mails in there. After you’ve replied, you delete or archive the original mail.

With this change, you have a better handle on your e-mail. You know that anything in the inbox is unknown and needs to be processed, and anything in the “needs replying” folder needs some action, and that anything you might need later is in the archival folder. No other mails require any action, and any mails that do require action are easy to find.

This will make you be much more relaxed about your e-mail. You never need to worry whether you’ve replied to everything that needs replying. A further benefit is that you’re likely to reply to mail much faster than before.

Work versus personal inboxes

It can be quite stressful to have to deal with work while you’re supposedly in your free time. Configuring your e-mail so that your work mails are not visible on your own computer, or not visible unless you’re actually working, is quite a good idea. Keeping the work and personal inboxes separate is a first step.

If your work e-mail is not in your face all the time, it’s easier to ignore it, and that makes it easier to relax.

Other kinds of inputs

The same processing principles work for all kinds of input, not just e-mail. You should collect, whenever possible, all inputs in your life into inboxes, which you regularly process until they’re empty. For each inbox item you decide whether to discard it, do the required action immediately, do it later, delegate it to someone else, or whether the item just needs to be filed.

Hackers tend to mostly deal with digital inputs, but there’s always some physical ones as well. If nothing else, TPS reports and voicemails about their cover sheets. If you have more than a couple of inboxes, you may need to keep a checklist of them. For physical inboxes, it is often easiest to have as few as possible, but experiment with what works for you.

Your phone may also be an inbox. For example, text messages, voicemail, notes you write on the phone, photos and videos you take, etc., are all inbox fodder.

When an input can’t easily be put into an inbox, put a proxy there instead.

Inbox processing

Some inboxes you should empty frequently, several times a day. Some can be done more rarely. For example, I usually process my physical inbox once or twice a week, since any items that go into it tend not to be urgent.

When you’ve processed an item from the inbox, you need to remove it from the inbox. This means you need to have a place to put it, even if it is only the trash. We will cover filing systems and other related tools later.

Bug trackers: not really inboxes

Hackers tend to deal with bug trackers, ticketing systems, and similar systems. These are not purely inboxes. They’re also sort of project lists, and next actions lists. I have found it most efficient to use them as places to trawl for inbox material. It’s not possible to remove items from bug trackers just because you’ve decided what to do with them. Instead, I review the list of open bugs, and see if there’s anything there that’s new or that I need to deal with. If there is, I add a proxy into my own inbox (or, sometimes, directly as a next action). I might have a project in my GTD system for a particular bug.

It’s often the case that the total number of open bugs is so large it’s overwhelming. I have found only one way to deal with that: keep dealing with subsets of the bugs that are most important, and try to handle bugs at least as fast as they’re reported. The rest of the bugs may have to languish for a while, but if there’s more of them than you have time for, that’s unavoidable.

Inboxes a la Lars

Here are the inboxes I use:

- physical inbox: letters and other mail, notes written on paper, etc.

- wallet: receipts, other bits and pieces that get collected during the day

- notebooks: notes made while out and about and phone/laptop wasn’t available

- backpack: random stuff tends to get collected there

- phone text messages

- phone call log

- phone notebook: I use a note taking application on my smartphone as a replacement for a notebook, when I can, because my handwriting font is abysmally hard to read

- e-mail: this is two inboxes (personal vs work); I no longer have a separate folder for each mailing list, everything goes into the same inbox

- feeds: blogs, news sites, etc.

- home directory for each computer I regularly use: tends to collect random downloaded files, notes, etc.

- web browser bookmarks: I move any bookmarks I want to keep to a link page on my website, the actual bookmarks are just a quick way to save something for later

- all of my bug trackers: I develop software, each project has a bug tracker, and those need to be reviewed; unfortunately, it is not always possible to treat the bug tracker as a proper inbox as separate from an archive

- inbox.mdwn: a plain text file (actually using markdown syntax), an all-purpose digital inbox for ideas, notes, URLs, phone numbers, etc.

- all my ikiwiki instance’s comment moderation queues

- unprocessed photos from camera phone, real cameras

- laundry that is drying or is dry: this sometimes gets delivered on my desk by my partner, I then need to fold it and put it away; at other times I realize it’s dry fast enough to take it down from the clothesline first

Information overload

Sometimes processing inputs in this more efficient manner is still not enough. It may be that you’re getting so much input that it’s just not possible to deal with all of it. In that case, you need to filter away unwanted stuff automatically, or stop it from being sent to you in the first place.

Projects and next actions

In the GTD system, a “next action” is a physical action you can take, preferably something that lasts a fairly short time. Examples of next actions would be “write e-mail to project mailing list explaining your plan to implement a new test driven development approach”, or “buy apples and bananas for home”.

A bad next action would be “start a side business”. It’s bad for two very important reasons:

- it’s not short; indeed, it might be of indefinite length

- it’s unclear when it’s finished

When you actually start doing things, it’s much easier if you know what you need to do, and when you’re finished. A good next action would fulfill the following criteria:

- a physical action (“write”, not “think about”)

- thinking is part of planning! and that should happen during a review phase

- planning can be broken down into next actions, however

- it’s clear what I need to do (a widget to crank)

- duration at most 15 minutes, preferably

- I’m committed to doing it

- does not depend on anything, can be done immediately

- it’s clear when it’s done

Obviously, some things you want to get done are going to take a lot of time. That’s OK: they just should not be next actions. Next actions need to be things that you just do. No more thinking or planning should be required.

Anything that takes more than one step (more than one next action), is called a project in GTD. Like next actions, projects should have a clearly defined goal so that you know when you’re finished. For example, “form a corporation for side business” might be a good project:

- it’s clearly defined (it’s done when the corporation is formally and legally founded, and has a bank account, accountant, e-mail address, and other such things)

- it takes several steps: decide on name, register, open bank account, etc.

Also like next actions, projects should be finished within a limited time, though the time will be much longer. Next actions should typically be doable within half a day (but shorter is better), whereas projects might last up to a year.

It’s a good idea to write down the goal of a project in a sentence or a paragraph. This concentrates your thinking to be directed at achieving that goal and makes it easier to avoid spending time on things that are related to the goal, but don’t help you achieve it.

Update: Finishing things is an important motivator, at least for me. It’s probably a good idea to prioritise finishing existing projects, and to scope and plan projects so they’re easy and quick to finish, to gain from the motivational boost.

Update: Getting started in the morning can be difficult. Sometimes it helps to have really simple, tiny next actions to choose from that you can do and get started. I tag such actions with a “zombie” label, to find them easily.

Keeping track of projects and next actions: the art of lists

You’ll likely have more than a handful of projects or next actions. Even if you only have a few of each, it’s best to write them down. The human brain is not good at remembering things without triggers, whereas even the cheapest pen and piece of paper will do lists with excellence. (In fact, my memory seems to work better the more I write things down.)

You should keep one list of projects, and another list of next actions. You can keep them in any way or form that you like:

- a single plain text file for each

- a web page for next actions (so you can read it on your phone), and a folder on your computer’s desktop for every project

- using an outliner: one tree for next actions, one for projects

- using a specialized GTD application

- a sheet of paper for next actions, and a project folder for each project

If you choose to have one folder per project, whether digital or physical, that provides a convenient place to store files related to that project. However, this requires all files to be arranged according to project, which can be inconvenient: if you have two projects related to the same software, do you check out the source code twice, once per project folder? You might instead keep a simple list of projects, and then store the supporting files in a way that is more natural than per project. Or you might decide that per-project is the natural way. Your choice.

There is one right way to do this: anything that you do that helps you keep track of things is fine. Anything that is a hassle or gets in your way is wrong.

Next action contexts and categories

The list of next actions is what you will be dealing with most with GTD. It is important that it’s easy and fast to use. However, as soon as it grows longer than two or three dozen entries, it will become hard to pick something from it quickly: you need to read through a lot of it to find something suitable to do.

Say you’re waiting for the bus, and you have maybe ten or fifteen minutes. You have your laptop, and there’s a place for you to sit. This would be a perfect time to knock off an item from your next actions list, but what should you do? If it takes five minutes to scan the list and find something to do, you’ve wasted maybe half of your available time. Not good.

You should break down the list by context or other suitable category. A context is the things that are required for you to do the action: “at phone” would be the context for anything that requires you to use your phone; “online” would be all the things you need Internet access to do; “at home” for things you must be at home to do, etc.

Productivity geeks have spent inordinate amounts of times figuring out the ideal contexts and categories for them. This is an easy thing to obsess over. However, it’s also clear that nobody else can decide what contexts suit you than yourself. Still, for inspiration, here’s the list of contexts I use:

- In progress: for anything that has been started, but is currently waiting for something, typically a long computation being performed by a computer

- Unfun: anything that is unpleasant, and is therefore easily postponed; having this as its own category helps avoiding that (also, I have a rule that every workday at least one unfun thing needs to be done)

- At phone, able to call: for phone calls one needs to make (a special category of unfun, for me)

- Errands: things that require you to go somewhere, such as a shop, or office, or meet someone outside your normal locations

- With person X: things that need to be discussed with a specific person, either in person or perhaps over the phone

- At home, not using a computer: cleaning, dishes, etc.

- At home, using computer: typically involves a desktop computer, or external hard disks, or a printer/scanner, or other hardware that is hard to carry

- At laptop, offline: the laptop being my primary computer, this is all the things I need to do at a computer, which don’t require Internet access; I travel a bit, and I often go sit in a cafe to work a bit, and so I can’t take the Internet for granted; there’s a lot of things that fall into this context, so this is often quite a long list

- At laptop, online: like the previous one, but these require both the laptop and Internet access

“My lists are too long”

Inevitably, life dumps more on you than you can handle, at least in the short term. I feel like that every Monday morning. One sign of this is that my next actions list keeps growing, and doesn’t ever seem to get shorter.

Sometimes this becomes so overwhelming I can’t stand it, and I need to do something about it. My main strategy is to drop commitments until I have the situation under control again. For example, if I’ve got five ideas for blog posts to write, I’ll delete those, or move them to someday/maybe. Or I find other things I can wriggle out of doing, though sometimes that requires careful diplomacy (also known as throwing a tantrum).

The feeling of being overwhelmed is an important indicator to me that my level of stress is rising too high. In principle, it doesn’t matter if your next actions list is very long, as long as you keep doing each thing before it’s too late. However, if I’m under too much stress, the mere length of the list starts causing stress, and I start avoiding even looking at it, and then everything starts falling apart.

And that’s why I try to keep my lists at manageable lengths.

Before dropping commitments, I try to do things like doing as many quick tasks as possible, or avoiding new commitments while I deal with the old ones. Those strategies tend to work only if I’m not already overstressed.

Actually doing things

This is what it’s all about. Everything else exists just to support this bit: actually doing the things you need to do.

Doing is usually easy when it’s clear what you need to do (a well-defined next action), and you have all the things you need for doing it (proper context), and the motivation to do it. If you’ve got your GTD system working smoothly, but things still don’t get done, the problem is usually motivation, or at least that’s the big problem for me.

Sometimes the problem is that the next action is defined vaguely: it’s not actually clear what you need to do. Perhaps it was clear when you were planning it, but you didn’t write down enough details to remember later why you need to do it, or exactly what needs doing. “Call Clara’s cell” may be what you wrote down, but you can’t remember which Clara, and whether to call her mobile phone or the jail? You need to describe next actions with enough information that you don’t have uncertainty.

Sometimes it’s because the thing to do is unpleasant, or boring. I have no good solution for that, except to grow up. (I’ll be doing that any decade now.) I myself have a habit of skipping over next actions that I don’t particularly enjoy, with the result that they may hang about for months in my next actions list. I’m also very gullible so when I tell myself that they’ve not been there for very long, I believe myself. That’s why I put a date (at least year and month) on every next action, so I don’t believe my own lies.

Update: One thing that seems to work for me is to find the tiniest little part of the unpleasant thing that needs doing, and do that. Repeating that a few times is usually enough to break the blockage. For example, if the unpleasant thing is “wash the toilet bowl”, the tiniest few things might be “locate the toilet brush”, “locate the disinfectant”, and “find rubber gloves”.

After you’ve done something

When you’re finished with a next action, you can delete it from your list, or cross it over, or otherwise mark it as done. This can be a very satisfying feeling.

Instead of deleting, you may also want to move the item from your next actions list to a list of finished stuff. Such a log can also be quite satisfactory to read, later on. I’ve found that deleting things gives me more pleasure, though, and I keep track of what I’ve done using a journal instead.

I also write summary entries in my journal of things that I’ve done or that have happened, as part of my weekly review.

Calendars and other reminder systems

Some things in life have to happen at particular times. For these, the calendar is the perfect tool. Any kind of calendar will work, as long as you use it diligently for this kind of thing: paper or digital, pocket or wall, or even just a text file with dates.

Calendar software has some features that make them particularly useful for many people: group calendars, ease of separation between personal and work calendars, etc.

You already know how to use a calendar for its basic tasks, so we won’t go into that.

You can use calendars as an inbox as well. For example, if you need to start working on a project in September, but don’t need to worry about it before that, then adding a reminder about the project on September 1 will work fine, but only if you treat the calendar as an inbox. If you use a digital calendar, you can have one for these inbox items in particular.

Automatic nagging systems

Another kind of thing is stuff that needs to happen regularly. For some of these, digital calendars are still the tool of choice: you could add a bi-monthly reminder to get a haircut to your calendar, for example. If you get the timing right, your calendar will remind you just before your partner does, and you’ll both be saved an unnecessary discussion.

Calendar reminders may also be replaced or augmented by cron jobs, which run, for example, on the Monday before the second Thursday of each month, and tell you to send out an invitation to the monthly meeting, which happens on the second Thursday each month. Whether you use an actual calendar, or a cron job, is your choice, of course: use the tools that suit you best.

Cron jobs have the advantage over calendars that they can be conditional: a cron job could, for example, see if you’ve already sent out the invitation, and not remind you if you have.

Some stuff does not fit so easily with calendars. For example, suppose you want to cut your nails when they get too long, but you keep getting distracted by your computer so that it may take you a month to notice that it’s time to cut them. And when you do, it’s because you break a nail, which is a bit painful. After some experimentation you decide that twelve days after the previous time is a good time to cut your nails. Having your computer remind you about it makes it much more likely that you’ll do it when it’s time. However, having your calendar remind you every twelve days may not work so well, because you might be travelling on that 12th day, and the annoying flight security theater made it impossible to take your nail cutter with you. (This is not a hypothetical example.)

A better solution would remind you twelve days after the previous time you actually cut the nails, not after the previous reminder. I have a program called “nagger” which does exactly that, but it is not suitable for others to use (unless you dig editing procmailrc files, and probably not even then). The nagger remembers when you last did something, and after the specified time, it starts nagging you every day until you tell it you’ve done it again.

Journalling and other ways of keeping track of things that have happened

A calendar tells you what should happen in the future. A journal or diary tells you what you did in the past. You can combine them, and treat past calendar items as a sort of journal, but a calendar tends not to be a good format for writing down what you did or thought in any detail.

The main benefit of a journal is to have a place to record your thoughts, and those actions that you may need to remember in the future. The level of detail you use depends on your circumstances, time, and energy. For example, if you do scientific research, you’ll have a lab journal or similar book in which you write down all your experiments and conclusions and thoughts related to them.

I use a set of text files (markdown files) for capturing the thought processes when developing software (they’re actually part of a private Ikiwiki instance). I think out loud by writing down my thinking process, and try to do this with the minimum of self-censorship. The journal is not meant for others to read, and this gives me a lot of freedom to be as stupid and wrong and silly and opinionated (and occasionally rude) as possible.

Journalling can require a bit of effort, but it can be very helpful. The process of expressing thought processes in writing makes them more explicit, and often more clear. Anything that’s hard to express tends to be unclear in the head, too. Later, a journal can be helpful to answer things like “what was I thinking?”.

Apart from effort, journalling requires time. I type reasonably fast, so the extra time to write down my thoughts in some detail, as prose that’s easily readable later, is not a big overhead. Others might prefer to keep a handwritten journal, and only jot down the more important bits, and stick to keywords. Or record audio, perhaps. Experiment with what works for you; maybe you’ll find something, or maybe you’ll find it’s all wasteful.

The act of journalling should be as easy as possible. There should be minimal steps required to start writing, and the only requirement for the actual text should be that it’s expressing what you’re thinking as you write it. A plain text file works wonderfully; a simple word processing document would work too, if you prefer that kind of writing tool.

Apart from journalling, you may want to have some automatic logging of events in your life. Anything that you want to keep track of, if it can be logged automatically, is easy. Anything that requires manual effort is likely to not work quite so well.

Keeping track of files

There are two kinds of files you need to keep track of: those related to current affairs, and those you archive for possible future use. These have different usage patterns, and may need different kinds of handling.

Current files (also called “pending and support”) are for active projects. You may need to access these files at a moment’s notice, so they should be at hand.

Archived files are needed rarely, possibly never. Access times may be longer, but it should still be easy to find them. An archive is useless unless you can find things from it when you need them.

Files may be digital or on paper. You may have current files on your computer, and on paper, and ditto for archived files. This might not affect the way you organize them: much of the organization is dependent on naming and sorting, and it is probably best to use the same naming system for both digital and paper files.

You may have other things than documents you need to keep track of for some of your projects. For example, one of your projects might be to move some artwork to a different country, and the artwork would then be part of your current files. Since large paintings are hard to keep on your desk, never mind risky, you may want to represent them in your GTD system using proxies: instead of putting each painting in your “current files” folder, you can put a photo of the painting there instead, and store the actual artwork somewhere safe.

There are any number of ways in which papers and computer files may be organized. For example, Allen recommends using manilla folders for papers, and dislikes hanging folders; others like hanging folders. If nothing else, hanging folders seem to be easier to find in at least some European countries, whereas manilla folders are considered an exotic American delicacy, which cost a premium.

Some people reject both kinds of folders, and use ring binders. Or envelopes. More important than the physical manifestation of the concept of “folder” is how you arrange them, when you have many of them.

What seems to work best for me is to have an easy, cheap way to have very specific folders (envelopes, tabs in ring binders, whatever). Each folder should have very specific kinds of items in it. Thus, a folder named “Edinburgh council tax, 2011” would be better than “Financial stuff”. The former is very specific, the latter would quickly grow to be unhelpfully large.

Every folder should be labelled clearly. People with a lousy handwriting font might want to invest in a label writer of some sort, so that the folders can be labelled in a readable fashion. However, clear handwriting, if you have it, works fine too.

Allen recommends a simple alphabetical sorting system for folders. Others like two or three levels of keywords. Thus, the tax folder from above might instead be called “2011, tax, council, Edinburgh” or “UK, Edinburgh, council tax, 2011”. The order of the keywords depends on how you’re most likely to search for them: put the year first, if you think of things mainly in chronological order. Put the location first, or the words “council tax” (or “tax, council”) first, if those are what you look for first. Whatever works for you is best.

You’ll eventually gather a fair number of folders, so putting some thought into your naming scheme ahead of time helps a bit. However, if you’ve never done this kind of thing before, be prepared to re-do it at least once. (“Be prepared to write a prototype, since you’ll make one anyway.”)

For digital files, having a computer that can quickly do full text searches helps a lot. Indeed, you may be tempted to rely on search only, and if that works for you, great. However, there are files for which full text search won’t work, such as images, audio, and video. Thus, it is probably best to put your digital, archived files in folders named using the same system you use for your paper files.

I recommend having a folder named “Archive” (or something similar in your local language), which is the location where all your archived files shall be. Under “Archive”, you’ll create a folder for each topic: these are the folders that correspond to the physical manilla folders (or equivalent). Have only one level of these.

$HOME/Archive/

Council tax 2011/

Debian DPL plans/

Orange GSM prepaid/

Talk: Debconf 2010/

Three GSM prepaid/

Having only a single level of archive folders makes it easier to look for them manually, when full-text search is not available or isn’t good enough. If you create folders within folders, searching manually becomes at least an order of magnitude harder.

Create a folder under “Archive” even if you’re only putting a single file there. Later you might need to archive a second file together with the first one, and if you didn’t create the folder beforehand, you’ll have to move the first file.

The archived files should be left undisturbed. Do not modify them in the archive. If you need to start changing them, move them out of the archive first, into your current files. It’s OK to read from the archive, but not change them.

Scanners and shredders

Paper is big and heavy and hard to grep through. Scanning everything you put into your paper archive makes it possible to carry it with you on your laptop, and often makes it much faster to find a particular item, particularly if you can get OCR to work so that your scans result in text rather than images. Further, you can more easily make backups of your digital documents than of your physical ones.

Scanning everything also often gives you the option of shredding or recycling stuff you don’t actually need in hardcopy. This is even better, since it allows you to reduce the size of your physical archive. That, in turn, means it takes up less space (reducing living costs, since you can have a smaller home), and makes it easier to move.

However, before you shred, be sure you do not need the physical copy. In some countries, tax authorities require the original physical document or receipt, for example.

Many devices come with manuals in many languages. Often it is possible to find a PDF of the manual from the manufacturer’s website, allowing you to get rid of the bulky manual.

Stuff you maybe want to do someday

You probably have things you will want to do someday. For me, one of these things is to learn French. Some people keep a “bucket list”. Perhaps there are places you’d like to visit, or people you’d like to see perform, or books you’d like to read.

It’s good to keep track of these things: otherwise the brain tends to keep coming back to them, so they don’t get forgotten, and that tends to waste time and energy. Keeping a list lets the brain relax.

The “someday/maybe” list is for things you may want to do someday, but that aren’t something you want to do right now. You might do them quite far in the future, and you might even decide later that you don’t want to do them after all. Or you might keep them on your list forever, just because keeping them there makes you feel better about yourself.

Cherish your someday/maybe list. It’s made of dreams.

Waiting for things to happen

After delegating something, you usually want to keep track of the issue to make sure it gets done. Minions are often lazy, and you don’t want to be the kind of overlord who forgets having given orders. So you need another list: a list of things you’re waiting for to happen.

This list is not just for delegations. It’s also for other events you’re waiting for. For example:

- you’ve ordered something online, and are waiting for it to arrive

- you’ve started a week-long benchmark run, and are waiting for it to finish

- you’re short of cash right now, so you’re waiting for your bonus, and after it arrives, there’s a bunch of things you’ll need to do, or you’d like to do

I use a “waiting for” list of the following format:

* Bonus arrives.

2009-09-01

- buy disco ball

- pay credit card

This format makes it easy to keep track of what you’re waiting for, how long you’ve waited already, and what to do after the event happens.

You could keep track of the reactions to an event elsewhere. For example, they might be in the project list, and the project would be marked “blocked” in some manner. However, there’s no direct link from the “waiting for” list to the project list, and you’d need to remember that there are blocked actions, so you’d at least need to write down pointers to the blocked projects.

I also keep another kind of “waiting for” list, for things that will need to be finished the same day. I call this the “in progress” list, and it’s actually a context in my next actions list. It usually contains things that automation is doing for me, but that I need to remember to check up on when they’re finished. For example:

- a half-hour test run for some software I’m writing (it’s so easy to start one, then lose the window under a dozen others, and only notice it a week later: this seriously slows down development speed)

- Roomba is vacuuming in another room

- the washing machine is running; when it’s done, it needs to be emptied and possibly another load started

- a co-worker is looking up some information and promised to have something by lunchtime

The “in progress” list is otherwise like the “waiting for” one, but I keep it at the top of the “next actions” list, so it’s always in my face. This makes it harder to forget stuff that is currently happening. The crucial difference, for me, is that “in progress” needs to be finished the same day, whereas “waiting for” may usually wait until the next weekly review.

The daily routine

There’s things you do every day: get up, take a shower, check your e-mail, etc. This is pretty much automatic, and requires no particular attention. Having routines is good, since it relieves you from having to make decisions all the time about trivial stuff. (It’s also good to break your routines every now and then, to avoid boredom.)

Some stuff is worth having a checklist for. For example, I need to take medicine daily, so my daily checklist has an item for that. Regardless of how good your memory is, it’s easy to miss something small like that.

Having a cron job that mails you the checklist daily is one excellent way of reminding yourself about the things you need to do every day.

My daily checklist has these things:

- Weigh.

- Take morning pills.

- Check that phone is charged and that ringer volume is suitable.

- Do morning exercises (mark in exercises.gnumeric).

- Check calendar.

- Check all inboxes.

- Update Journal.

- Sync version control repositories.

- Run laptop backups.

- Train with Mnemosyne.

The weekly review

So you’ve got your lists set up, and you process your inboxes daily, and tasks flow smoothly through the projects and next actions lists. How do you know everything is OK? You need to take a look at every part of your GTD system, and your life, to make sure everything’s in its right place, and you’ve not forgotten anything.

The weekly review is a fundamentally important part of making sure you stay on top of things. You need to review all your lists, and calendars, inboxes, etc., and have a short meditative moment where you reflect your life, and try to think of anything you may have missed so far. If you do this regularly, and with some thoroughness, you’ll be certain that you’ve captured everything into your system.

You might not need to do such a review weekly. If you live a very calm, regular life, you might only do it rarely. On the other hand, if your life is a maelstrom, you might want to do a review more often than once a week. Experiment, and see what works for you.

Here’s my checklist for doing a weekly review:

- Process inboxes.

- Review journal entries since previous review. Write a summary of the highlights of what has happened.

- Review calendar entries since previous review, and for the next month.

- Empty head from things.

- Review projects. Make sure each has at least one next action. Remove any projects that are finished or aborted, or move them to someday/maybe if that’s appropriate.

- Review next actions list. Are they all of good quality?

- Review waiting for list and mail folder.

- Review pending and support files:

- physical folder at home

- folder in e-mail

- Review someday/maybe.

- Review “Read and Review”.

- Review areas of focus, goals.

- Re-process inbox.

It usually takes me a couple of hours per week to do a good review of the entire system. Sometimes more, if I do a thorough review of all my open bug reports, for example, but I only do that if I have the time, and haven’t done it in a while. (A thorough review of the bug reports tends to mean reading through everything, and sometimes checking that bugs still exist.)

It’s common for me to postpone doing a review, if I’m tired or busy or have any of a number of other excuses. If it gets really bad, I postpone the review for months. In that case, it can take a bit of an effort to do the review, which acts as further encouragement to push it forward.

The way I get out of that is that I need to be reminded of the strong feeling of relief and being in control that I get after doing a review properly. I feel that I’m on top of things, that regardless of what surprises the universe may throw at me next, I know where I am now and what I need to do next. (And then I often go read the Internet instead, but that’s another problem.)

In fact, doing a review gives quite an energy spike for me. I feel motivated to work on things right after a review. Because of this, I try to schedule my reviews for Monday mornings rather than, say, Friday evenings.

Other reviews

In addition to the weekly review, it is good to have another kind of review about once or twice a year. For this, I find it’s best to do a weekly review first, and then concentrate on bigger issues: what do I want out of life? How do I want to live in one year, five years, twenty years, or in my retirement? What do I need to do to achieve those things?

I’ve not done much of that yet, so I don’t have a lot of concrete advice about that. I’ll add more about it when I do.

Read and review folders

I’m bombarded with things to read or watch. Friends and co-workers give tips on interesting, funny, or useful things to read. Bosses point me at other things to read. I’m further subscribed to a bunch of RSS/Atom feeds, and I follow a few news sites, which often have stuff I want to read. And so on. There’s no end of things I could read. The army of monkeys trying to randomly re-create Shakespeare are filling the Internet with other stuff instead.

I cannot possibly read everything at once. I need a way to deal with things I want or need to read, so that when I have time to read, I can go through stuff that is waiting to be read.

It’s important, at this point, to point out, pointedly, that there is often no need to read everything. The most important way of dealing with information overload is to be selective of what you spend brain cycles on. However, however selective you are, there’s always things to read.

The read and review pile, or folder, or list, is an important tool. When you find, or are given, something to read, or watch, or listen to, or otherwise process, and you put it on the pile. In old times, our ancestors would print it on paper and put the paper on a pile. These days, purely digital things are practical.

- Web pages can be bookmarked. You can keep a “read and review” bookmark folder. When you’ve read the page, remove the bookmark.

- You can also save web pages on your local hard disk. This is useful for reading offline, and also for archiving the page in your filing system. The Firefox Save Page WE extension is excellent for this (see https://addons.mozilla.org/en-US/firefox/addon/save-page-we/).

- You can have a “read and review” folder for e-mail as well. Newsletters, and any other e-mail that’s long and takes a while to read, can be put there.

- I read e-books either on my Kindle device, or on my laptop, depending on the format. Unread e-books are on the home screen on my Kindle (or if the list grows very long, in a folder for unread books). PDFs and other big-page formats are in my laptop’s “read and review” folder.

- I keep paper books, magazines, etc., in random piles around my home and at the office. They’re rare enough and few enough that I don’t need a dedicated place to keep track of them. Likewise for DVDs to watch.

For web pages: I used to do the bookmark thing, but it turned out to be annoying, so I now use MAFF heavily.

I usually try to read things in a FIFO order. I’ve found that a document that’s boring or unpleasant or otherwise easy to push later, always gets pushed later. Since there’s always new material coming in, there’s never a time when the boring document is the only one to be read. Sticking to FIFO, unless there’s an urgent reason to avoid it, is a good way of avoiding a pile of documents that never get read.

My threshold for putting something into “read and review” is low. That means a lot of things go in there that I don’t really need to read. That is actually OK: at the time when I encounter a link on IRC, for example, I may not have time to even evaluate the document enough to decide whether it is worth my while to read it. So I just stuff it into “r&r” and evaluate it when I have time for it.

Automation and checklists

Hackers know how to program, and so can fairly easily automate anything that happens on a computer. This can be a great time saver. It can also be a great time waste. If something takes a lot of time and effort to automate, but doesn’t actually take much time to do by hand, then it’s probably not worth it. However, in many cases spending an evening to write some scripts to automate something is worthwhile not just to save time, but to not ever have to do it again. For example, instead of filling out timesheets by hand at work, writing a script that does them automatically based on the work laptop’s suspend/resume logs, plus git commit timestamps, may not actually save much effort, but not having to deal with the bureaucracy can save you from a fate worse than ennui.

Some things are possible to automate even without being able to program. For example, paying bills via direct debit, or putting money into a savings account by a standing order, can both make dealing with money much easier.

For things that can’t be automated (or which aren’t worth the development effort for the AI), but you do repeatedly, it can be worth writing a checklist. Especially things you do less than once a week, or which you absolutely have to get right every time, a checklist can help a lot. The mere process of writing the checklist forces you to consider and review the process. When you’re actually doing the task, especially if it is urgent or stressful, it can be nice to not have to think about each step every time you do the task.

Getting started

You’ve read all about the GTD system, and you’ve decided to go for it. Now what?

There’s at least two approaches for getting started. The one I did was to start big. I allocated a whole weekend and did nothing else than kickstart my GTD system. I cleared my dining table to use as a giant inbox. I collected every bit of paper, every unopened letter, every unread book and magazine, every appliance that needed fixing, and everything else that I needed to do anything about, and put them on the table.

When I found large items that were too big for the table, I wrote down what it was, where it was, and what I needed to do about it, on a separate piece of paper, and put that on the table instead. A proxy like this is as good as having something in your inbox, when the thing is cumbersome.

After that, I took several A4 pieces of paper, and titled them “Next actions”, “Projects”, “Someday/maybe”, and “Waiting for”. These were my lists. I decided to start with pen and paper, rather than a fancy sofware solution, to avoid getting distracted by technology. Pen and paper is about as simple and reliable and uncomplicated as you can get. When you start your GTD system, keeping it simple means you’re more likely to make it work. You can try complicated tools later, but initially avoid the trap of getting lost in finding and selecting optimal tools.

Then I started processing the inbox table. I picked the topmost item, and thought about it, and decided what to do. A lot of things went straight into recycling or garbage, which was nice: I no longer needed to have them in my life at all, and this made me feel better. Any stuff that I had lurking about was stuff that potentially demanded attention from me, and even if it only actually did that once a year, with a thousand unnecessary things, that’s three things per day.

Other things went into my lists. In fact, most things went into my lists. During that first weekend, I did not actually do anything much. I did a few very quick things, such as throw away rotten fruit, but otherwise I suspended the two-minute rule.

After I’d cleared the table, I did the same thing with my computers. I collected all my files and e-mails and bookmarks and so on into one digital inbox per computer, and then processed those. I still kept all my lists on paper, though. As it turned out, my digital life was in much better order so there were rather fewer next actions and projects generated from that.

By Sunday evening all my inboxes were clear, and my lists were long. It was somewhat depressing to have so many things in my lists, but it was a huge relief to know that everything I needed to be on them, were on them.

Over the next few days and weeks I tackled the lists, doing things and sometimes deciding to uncommit myself from things, to get the lengths of the lists under control.

The slow start

A big start may require you to put everything else on hold for a day or several days. A gentler, but possibly less efficient way to start is to go slow. Set up an inbox and the lists. Whenever you have time, go through some of your stuff and put anything you haven’t already processed into the inbox, or process stuff already in your inbox. This can be much harder to do than the big start, since you need to keep track of what has and what hasn’t been processed yet, but it also means you can continue to function normally while you do it.

You might start with just one aspect of your life. For example, start with your e-mail only. Or your non-electronic mail. Or anything to do with work, or your studies, or whatever. Then expand your GTD system with time to cover more of your life.

Survival strategies

Sometimes you have so much unprocessed stuff in your life that you feel you’re drowning under it. For example, you might have an e-mail inbox that’s several thousand mails long, and you feel you’re not ever going to be able to deal with it, there’s just not time.

You can deal with it by either giving up, or by taking a long time. Some people have declared an e-mail bankruptcy, where they announce that they’ve deleted their entire inbox, and if anyone had anything important they should re-send. This may or may not be a good idea, but it does give you a clean slate to start from.

An alternative is to create a new folder, and move everything from your inbox into that. You’ll get to everything in there eventually, but keeping your actual inbox clean makes it possible for you to start keeping on top of incoming stuff, since it doesn’t get buried between all the old, old stuff. You’ll need to process everything in your inbox frequently (at least once a day), and after you’ve done that, you can process a few things from the old pile too. Eventually, the old pile will be gone.

Things that did not work for me

Here’s a random pile of things that I’ve experimented with but that did not work for me.

Split systems: personal versus work GTD

I’ve tried having a separate GTD system for work and personal lives, but as a free software developer, the two are mixed enough that it’s annoying to keep the two systems in sync. For example, if I find a bug in Debian, while doing work, should reporting it and maybe fixing it be a work-GTD thing or a personal-GTD thing? It’s really both: the bug affects my work, and I am a Debian developer in my free time, so it should be in both systems.

Another problem is that I often need to do personal things in the middle of the workday. I might need to get a haircut during a lunch break, for example. If it’s only in my GTD system at home, I don’t remember the haircut. I can set up a reminder system, but that’s then part of my GTD system. A single system is simpler, for me.

Having a single system is not without problems, of course. The biggest obstacle I have is doing the weekly review: does it count as work time or not? I’ve experimented with various approaches, but haven’t got a good solution. Maybe I should do every other review during work time, and every other in my own time.

Fancy software solutions

I’ve tried several software solutions for keeping GTD lists. Some of them were developed specifically for GTD, others were more generic. I’ve even written a couple of tools for my own GTD use, to support my own implementation of the GTD system.

All of these software solutions have turned out to have the same two big drawback for me: I spend too much time fiddling with the tool (instead of doing useful things), and sooner or later the software gets in my way.

The most useful tools I’ve found are outliners, but I don’t use even those anymore. I now use a set of plain text documents, which I edit with gedit (the GNOME text editor). There’s no outlining, formatting, highlighting, sorting, organizing, or any other kind of tool support. It’s just words on lines of text. It’s wonderful.

This is what works for me. I’m a simple kind of guy. You may want to try various programs yourself and if you do, you may find that you like them better than plain text. That is good.

Non-digital solutions

I initially implemented GTD on paper, and that was good for getting started, since it avoided getting hung on tool choices and setup. However, I don’t seem to work well with keeping lists on paper, or journalling on paper, or doing anything that involves using a lot of paper. For me, a digital solution is pretty much required.

Conclusion

Do stuff. Be happy.

A word of warning

It’s easy to get too interested in GTD. Initially, it’s natural and expected that you’ll spend some time trying out different ways of doing things, and various tools and approaches and so on. However, this should not become a primary occupation. The goal is not to have GTD as a hobby, since that’ll just get in the way of actually doing useful things.

The irony of the previous paragraph being written by someone who wrote a booklet about GTD is duly noted.

References

- Getting things done

- https://www.librarything.com/work/1844807

- The now habit : a strategic program for overcoming procrastination and enjoying guilt-free play

- https://www.librarything.com/work/7934/details/46964220

Getting Things Done For Hackers

1. Introduction

1. Why GTD? Why any system?

2. A brief history of GTD and its place in the greater sociohistorical context of humanity

3. Technicalities

2. Quickie overview of the GTD system

3. Inputs and inboxes

1. Work versus personal inboxes

2. Other kinds of inputs

3. Inbox processing

4. Bug trackers: not really inboxes

5. Inboxes a la Lars

6. Information overload

4. Projects and next actions

1. Keeping track of projects and next actions: the art of lists

2. Next action contexts and categories

3. “My lists are too long”

5. Actually doing things

1. After you’ve done something

6. Calendars and other reminder systems

1. Automatic nagging systems

7. Journalling and other ways of keeping track of things that have happened

8. Keeping track of files

1. Scanners and shredders

9. Stuff you maybe want to do someday

10. Waiting for things to happen

11. The daily routine

12. The weekly review

1. Other reviews

13. Read and review folders

14. Automation and checklists

15. Getting started

1. The slow start

2. Survival strategies

16. Things that did not work for me

1. Split systems: personal versus work GTD

2. Fancy software solutions

3. Non-digital solutions

17. Conclusion

1. A word of warning

18. References

1. Cover