Intro |
||
This is a short guide to implementing a Getting Things
Done task system with TKDO.
In case you know GTD already, here's a quick translation table:
If you don't know GTD yet, don't worry. I explain the basics below.
However, I still recommend reading other articles about it, to more fully
understand, and to learn about the parts which are the same no matter which
system you use to implement GTD. This page focuses on the parts which are
relevant to TKDO.
The guiding principle behind GTD is to "get everything out of your head", which is also a focus of TKDO.
In case you know GTD already, here's a quick translation table:
GTD concept | TKDO equivalent |
---|---|
task | task |
project / open loop | task file, task with children, or recurring task |
contexts | contexts |
next action | 'next' task type (on parent task) |
tickler file | due dates, recurring events, lead times, snooze button |
waiting for | snooze button |
someday / maybe | 'idea' task type |
The guiding principle behind GTD is to "get everything out of your head", which is also a focus of TKDO.
GTD Workflow Process |
||
The five steps of the GTD workflow process are:
- Collect
- Process
- Organize
- Review
- Do
Collect |
Collection is basically dumping tasks into buckets. You can probably
think of it as an inbox. For example, most people have several email
inboxes which act as buckets. With email, this happens pretty
automatically.
However, people also tend to accumulate tasks in their head. Don't leave them there. Write them down, and get them out of your head. It doesn't matter where you write them down, but I find it useful to put them into a VimOutliner file. You could even call it "bucket.otl", though you are by no means limited to a single bucket. Personally, I have a lot more than one bucket, and the formats vary widely. Only some of them are on a computer. Perhaps my most active bucket is my PDA, where I write things down when I'm not online.
The most important things to remember about collection are:
However, people also tend to accumulate tasks in their head. Don't leave them there. Write them down, and get them out of your head. It doesn't matter where you write them down, but I find it useful to put them into a VimOutliner file. You could even call it "bucket.otl", though you are by no means limited to a single bucket. Personally, I have a lot more than one bucket, and the formats vary widely. Only some of them are on a computer. Perhaps my most active bucket is my PDA, where I write things down when I'm not online.
The most important things to remember about collection are:
- Dump all your incoming tasks into buckets of some sort. Don't keep them in your head.
- Empty your buckets frequently. This brings us to the next step...
Process |
GTD recommends that you process buckets frequently by emptying them.
Basically, go through your buckets one item at a time. For each task, if it will take 2 minutes or less to complete, just do it immediately. Otherwise, move it somewhere appropriate so you can deal with it later.
In TKDO, this means removing items from a bucket and adding them to a
Or, if you prefer, TKDO also makes it feasible to use a single file as both a bucket and a proper todo list. This may or may not fit your working style, but it is a possibility. If you choose to do this, the "Process" phase will tend to merge with "Organize" and "Review". Sometimes this is a convenient approach.
Basically, go through your buckets one item at a time. For each task, if it will take 2 minutes or less to complete, just do it immediately. Otherwise, move it somewhere appropriate so you can deal with it later.
In TKDO, this means removing items from a bucket and adding them to a
todo.otl
file somewhere. The idea is that you have one
todo.otl
for each project or each major category of tasks.
I have about 40 task files in my master list right now, and the number is
growing. Take the tasks out of your unsorted buckets, and put them into
organized "to do" outlines.
Or, if you prefer, TKDO also makes it feasible to use a single file as both a bucket and a proper todo list. This may or may not fit your working style, but it is a possibility. If you choose to do this, the "Process" phase will tend to merge with "Organize" and "Review". Sometimes this is a convenient approach.
Organize |
This is the part which differs the most between TKDO and traditional GTD.
The GTD approach is fairly paper-oriented, and TKDO's plain text files
don't really work the same way. This causes the "Organize" step to
overlap somewhat with "Process", because organization is a natural
extension to filing tasks away for later.
While organizing tasks, you should be doing several things:
While organizing tasks, you should be doing several things:
- Group related tasks into projects. A project is anything
which requires more than one action to complete, or which is ongoing
and cannot be completed. In TKDO, a project can be a recurring task,
a regular task with children, or its own task file. You can have
projects, sub-projects, sub-sub-projects, etc. TKDO only shows the
leaf nodes on the master list, up to a given depth. Configure this
depth by setting
depth=3
(or any other number) on a task's metadata line. - Assign next actions, where appropriate. In TKDO, simply
set the project's type to "next", and then put the child actions in
the order they must be accomplished. TKDO will only show the first
uncompleted item on the master list.
To set the task type, you can either enter "T=next" on a metadata line or use the GUI. In the GUI, highlight a child, and press "tpn" or "tppn" or "tfn" to set the type of the parent/grandparent/file to "next".
However, remember that "next actions" are not not appropriate for all projects. It is simply offered as an option. - Assign recurring schedules and due dates. Recurring tasks may be "fixed" (due on certain, hard dates) or "floating" (need to be done periodically, but not at any particular time).
- Assign contexts. These represent locations where a task
can be completed, or resources you need at hand to complete the task.
By tagging tasks this way, it's easy to filter your todo list to only
things which you can do right now, and avoid cluttering your
head with things you can't do anything about until later.
Examples are @home, @work, @online, @phone, @store, or the names of people who must be present during the task. I also have some such as @reboot (should be done next time I reboot), @outside (to be done on a nice day), @social (remind me to see people), @car, and some others. - Tag ideas for later. These are things you might like to do someday, but which aren't really important or necessary. Just set the task type to "idea", and TKDO will automatically reduce their priority.
- Snooze any "waiting for" tasks, if they are assigned to someone else, or require external events to happen before you can start. You don't need to see these right now, but probably need to be reminded eventually.
- Assign priorities, if you must. This is severely
de-emphasized in GTD, but it's still a useful tool which many people
like. TKDO does this in two ways:
- The easiest way is to just put the more important tasks closer to the top of your task files. TKDO will preserve the task file's natural order, with items near the top of the task file appearing also near the top of the master list. This is easy and intuitive.
- TKDO also allows explicit priorities ranging from 0 to 100, with 100 being the most important. Effectively, this changes the order of tasks on the master list, and overrides the "natural order" method above. I recommend using this as rarely as possible, mainly applying the explicit priorities to entire task files or projects. The subtasks will inherit it, so you only have to say it once.
Review |
This part is quick. Look at your master list. Pick something to do.
You should do this at least every day, if not more often.
In TKDO, this process is just a little more complicated. Go through your master list (not necessarily the whole thing, but at least the first page or two), and do the following for each task (or each project):
In TKDO, this process is just a little more complicated. Go through your master list (not necessarily the whole thing, but at least the first page or two), and do the following for each task (or each project):
- If you intend to do this task today, mark it as 'active'.
Just highlight the item and press "a". Or, in vim, you can simply add
a "
<--
" arrow to the end of the task's title. (really, this is optional... it just helps keep the item near the top of the list, and reminds you what you were doing... but I find it helpful) - If you do not intend to do this task today, mark it inactive and snooze it.
Do |
Once you have a list of today's tasks... do them.
After you finish each task, you can mark it as completed by highlighting the item and pressing "x". This will mark the item as done, take it off your master list, and save a note about it in your action log to help you review accomplishments later. If it's a recurring task, the due date will be reset to the next scheduled time, so it will bubble up to the top of the list again when the due date approaches.
After you finish each task, you can mark it as completed by highlighting the item and pressing "x". This will mark the item as done, take it off your master list, and save a note about it in your action log to help you review accomplishments later. If it's a recurring task, the due date will be reset to the next scheduled time, so it will bubble up to the top of the list again when the due date approaches.