Skip to content

Getting Things Done (GTD) and what I made of it

I finally got to read the book “Getting Things Done” by David Allen. I have read quite several books on time management and related topics, so I was almost surprised that it took me so long to get to this particular one, which is considered by many as a classic. I got to this book more or less by mistake. A while back I started using a command-line task management tool called TaskWarrior, another old Linux tool that has been known to anyone but myself for decades. This tool referred to the “Getting Things Done” methodology that was taught in the book, so I ended up reading the book as well, out of appreciation for some of the features that were inspired by this book.

I am not going to summarize this book now, nor the GTD methodology. There are dozens of write-ups about it by now. I am also not going to describe that TaskWarrior program, because this would not be the best use of your time or mine. Instead, I will discuss my most important findings: those relatively novel ideas of task management that I adopted from either the book or the software, or even just from my own experience with the two (even if not directly taught by any of these). So it’s not really a book review, but just my own takeaways that were either written in the book or were somehow inspired by the book, or by the software that I am using.

Never see a long list

GTD does not discuss lengths of lists, if I remember correctly. But TaskWarrior is a command line tool, and that was the first time I used a command-line tool for task management. This type of interface makes it more practical to work with smaller chunks of information at a time, simply because there is no easy way to scroll through pages. What first looked like a limitation proved to be extremely critical for productivity.

Most task management systems in the GUI era are centered around a task list which can, and usually does, grow to infinite length. This makes it challenging to take a task and stick with it. When you see a list of 150 tasks in front of you, even if those are sorted by priority, just looking at the list makes you feel that whatever you’re going to do (once you finally stop procrastinating) is a drop in the ocean that would make no big difference, and so you are less motivated to start. Even once you start working on something off that list, and realize how complex it is, you go back and glance at that endless scroll in hopes of spotting another task to switch to, which will hopefully let you reap the same feeling of accomplishment for less pain.

One key to productivity, and which is the motivation for some of the features described in the following sections, is to always make only short lists visible to you. If you are now equipped to carry out one task of a certain type, then the top tasks of that type (by their urgency) is what you need to see; the top 10 tasks that are best to be done right now based on the circumstances, not a hundred. Choosing what to do now from a list of a hundred tasks is a task in itself, and having this constant reminder of the size of your backlog is not a way to get motivated.

Proper ordering

Once we decided that we only want to see the 5, 10, or 20 most relevant and urgent tasks, the method by which we decide on relevance, or urgency, becomes critical. It is more critical than traditionally, because the less privileged tasks are not going to be displayed at all until circumstances change.

Priorities are as important as they have always been, either as High/Medium/Low (the default that TaskWarrior uses), or using any other scale. But this is not enough. It is too coarse and too subjective to be useful. I noticed, for example, that when I add a new task, I almost always add it with a priority setting that is higher than it deserves. I add a task because I think it’s needed, and I see no reason not to get to it right away, so I mark it as “High”. Only later, when I see all the other “High” things I need to do, I realize that this particular one is probably a “Medium” at best.

There is also the granularity issue. If you have 200 recorded tasks in total, and use a 3-level priority setting, then each priority level will have about 65 tasks in it (if they are evenly spread out), and most importantly: you might have about 65 tasks marked as “High”. If the effective view is of 10-20 tasks, then at least 2/3 of your high-priority tasks are going to be hidden only for lack of luck. This does not effectively change even if you do not limit the length of the displayed list, because even if you see all 65 tasks, you cannot really pay attention to them all.

It follows that you shall have a good prioritization system that results in a more granular and more objective urgency rating. You will not get that from me, nor from GTD, nor from anyone else, but at least some tools like TaskWarrior and others give you the way to tag tasks and then define how different types of tags result in urgency “points” that can then be used for more precise urgency scoring.

Consider, for example, the following scheme, some of which comes as software defaults and some I defined myself:

  • Tasks that are marked as “High” priority obviously get points for that. Tasks that are marked as “Medium” priority get less points. Tasks with “Low” get zero, and tasks for which I did not assign any priority get something which is between that of “Low” an that of “Medium”. Yes, I consider tasks that I explicitly marked as “Low” to be less urgent than tasks for which I did not set a priority.
  • Each task that is associated with a project is tagged with that project’s name, and projects that are currently dear to me reward their tasks with extra points. At different times I have different projects that are more important to me, and their respective tasks get the boost of a few points during those periods.
  • Tasks that I manually marked with the tag ‘next’ get many extra points, because those are tasks that I explicitly (manually) decided that I want to focus on.
  • Tasks that are already started get extra points, to account for the cost of switching.
  • Tasks that were explicitly scheduled to start already, or to be due soon, obviously get many additional points.
  • Extra points are also given to tasks of specific types that may not be urgent, but which require just little attention and which I know are best carried out shortly after they are recorded, such as tasks of summarizing meetings in my notepad.

With those rules defined, the urgency levels of tasks have a wide enough range, and are accurate enough to safely allow me to see only the top ones. Remember: it would not matter if the software can show all tasks at a time, like what most GUI programs do. This is demoralizing and does not really add much usability. You can only attend to one thing at a time anyway, so the wisdom is in enabling the computer to decide on the finalists from which you will choose the task to focus on.

Proper filtering

Filtering is another feature that many task management tools lack, making task management more difficult. I am not talking about a search feature, or a query feature. I am suggesting that at any given moment, when you need to decide on what you want to do next, most of the tasks on your list are just irrelevant. Having all tasks displayed is not very helpful, and it makes you have to go over the list. Even if you need to go through 10 irrelevant items until you see the first item that is relevant for now, this may not take much time. However, it poses a behavioral hurdle. Once the computer offered you 20, or even 10 irrelevant task suggestions for what to do now, if the next candidate it shows you is relevant (and the most urgent of the relevant ones) but which you do not feel like doing, you will be inclined to skip it as well, hoping that the next one will be both relevant and more fun, possibly repeating the process. What happened was that the computer, by making several irrelevant suggestions, lost its “credibility” and so its “authority”. It is as if you say: “I already ignored tasks that the computer thinks are more urgent, nothing will happen if I skip just this other ugly task as well.”

The less noise the software shows you, the more authoritative it will seem to you. If the software shows you the top 10 tasks you should do now, and all are applicable at this moment, you are more likely to be happy picking up one of those rather than wonder around looking for something easier.

How do we filter by applicability? Some filters are self-evident and are hard-coded in the program, and some I made up based on my case and added them (fortunately, the software supports this):

  • Dependency: Some tasks require other tasks to be done first. If task B depends on Task A, and this dependency is recorded into the system, then it will not consider Task B as ready if Task A is not done yet.
  • Time: Many tasks are just not applicable before a certain date. Many task management applications that I saw miss the basic feature of recording tasks that shall not be displayed at all until a certain date. This is a key feature, because it allows the software to be used to get tasks off your mind without having to see those tasks in front of you every day when they are still not relevant at all. The notion of getting things off your mind is a strong motive in David Allen’s book. A key objective of his “Getting Things Done” method is to reduce stress by making sure that you have a “trusted system” where you can capture tasks so not to keep them on your mind. When the program you use can record future tasks without even displaying them until it’s time, you can use it to record even the most distant tasks, such as ones for next year, just so they are not lost and more importantly — so you do not need to think of them.
  • Context: The book speaks about having contexts of work, and at least the TaskWarrior application also supports it. This means that the system only works with, and displays, tasks that are relevant to where you are, or to your immediate circumstances. For example, if you tell it that you are at home, then it will not display tasks that you can only do at the office, etc. I personally work entirely digitally for many years already, and there is no task that I cannot do anywhere, so this feature is not that useful for me.
  • Trigger: This is something I made up and implemented myself. There are many tasks that need to be on hold until a future date, and should not even be displayed before, but with the date that is unknown. Those are tasks that require some future event to occur for them to become relevant. For example, there are several tasks that are just not applicable until I actually start working on a certain project, and there are many tasks (mostly meetings to be scheduled) which are not applicable until I have a planned visit to the office in San Diego. I cannot schedule those meetings until I have a planned trip, so there is no point in showing all those tasks now. For this I established ‘triggers’, which are conditions that only when they are met, their relevant sets of tasks get into circulation. Until then, they are simply ignored so not to clutter the display or my attention.

The task inbox

The inbox is a brilliant idea that I read in the GTD book and put to use right away.

One big problem with typical tasks is that they are too vague, or overwhelming, or unclear, and so they just beg for procrastination. How did it happen? — Each time I thought of something that has to be done, I entered a task for it, so I can clear it off my memory and attention. The problem is that since those tasks are phrased in such non-concrete terms, usually just stating an abstract idea, they never really stand out on the list as something you can actually ever be done with, or even start.

The inbox is a list of pre-tasks. This is the backlog of what will either be done immediately (if it takes a few minutes) or become one or more tasks when you ‘process’ it. Some say the inbox needs to be cleared every day, with each item either done (if it’s immediate) or disposed, or delegated, or converted into one or more concrete tasks. I admit that I could never meet the one-day deadline, but I do my best.

Nothing goes back into the inbox

When dealing with the inbox, the book has a strong point. Once you pull something out to look at it (to process or dump), you never put it back in. You take one item and you resolve to deal with whatever loot you caught. The motivation for this rule is obvious: if you give yourself the option of choosing what to address from the inbox, you end up choosing what’s easiest, and there will eventually be this thick layer at the bottom of the hard stuff you just never get to. Fortunately, this commandment of not returning an item you picked up is not too hard to follow, because processing an item from the inbox only means deciding what to do with it, and not, heaven-forbid, actually doing it.

When using TaskWarrior, what I did is set a command for ‘inbox-pop’ which shows me only the top item of the inbox, so I have no temptation to choose something else. What you do not see cannot lure you.

Almost everything is a project

What this means, most importantly, is that individual tasks shall be narrow in scope. Why? — because otherwise you will never pick them up. The whole idea behind the separate planning phase based on inbox items is that tasks should never seem overwhelming. If you look at a task and you are not sure where to even start, then apparently the task is improperly defined, and should have probably been replaced with a set of tasks. Every task which is more than a single step is actually ‘a project’, which is a group of tasks.

This is another step towards making tasks less intimidating, which I appreciate. But I still occasionally find it difficult to break complex activities into smaller tasks. My way around this is to at least define the first set of small tasks — not what it would take to get it done, but what it would take to get it started. I then follow the set of initial tasks with a new vague inbox entry, that will be added to the inbox once I am done with the first set, calling for the definition of the second set. Hopefully, once I get started, I will be wiser on how to proceed.

Periodic reviews

The GTD methodology requires that you occasionally go over the entire list of all tasks, including those that are set for sometime in the future. It makes sense, particularly for those “one day maybe” tasks that sometimes just need to be discarded entirely, or addressed more seriously. Some say that weekly reviews should be done. I have too many items to review them weekly, but monthly sounds just as effective. TaskWarrior has an auxiliary utility, tasksh, which allows for such reviews to happen whenever you feel like doing them. You don’t have to go through all tasks at once. You carry out such review sessions when and for as long as you like, and the software keeps track of when each task was last reviewed.

Unloading tasks from your mind

This should have been the first point, because for GTD this is a primary goal — to relieve stress by using tools for offloading your mind. I live by this mantra for decades, so I did not find it overly novel. My life is already surrounded by trusted systems (as GTD calls them), and hence my requirement for Warm and Fuzzy feeling when using them privacy-wise. The common motto behind GTD is to make it as easy as possible to offload tasks to some system, and make sure that this system is properly equipped to encourage you to do what you need to do, by removing as much as possible of the frustration that may be involved.

See also


No Trackbacks


Display comments as Linear | Threaded

Duncan Jones on :

Fascinating article - you’ve given this some serious thought. I love the idea of scoring tasks through a points system. My current GTD-based tool of choice, Everdo, lacks a number of the concepts you describe. I definitely suffer from lists that are too long and it can be difficult to pick which tasks to start. In fact, GTD does a very poor job of explaining how you decide what to do!

Add Comment

Markdown format allowed
Enclosing asterisks marks text as bold (*word*), underscore are made via (_word_), else escape with (\_).
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
Form options

Submitted comments will be subject to moderation before being displayed.