Introduction to GTD

Posted by Patrice Neff Fri, 27 Jul 2007

Changes are that as a geek you have already heard of the book Getting Things Done by Dave Allen. It’s been a buzzword on the blogosphere for quite a while now. Recently I gave in and finally read the book – and I can heartily recommend it.

Getting Things Done (or GTD for short) is set of basic principles about how to get work done more effectively. I’ll just describe the ones that I found most interesting.

Inbox

Everybody has a bunch of inboxes which generate new work. That can be your email inbox, physical mailbox, people laying work on your desk, even the newspaper of feed reader if you mark interesting stories there. My personal inboxes are:

  • Ideas (which I can file very rapidly into a separate system)
  • Email
  • Flagged stories in NetNewsWire
  • Loose papers (including physical mail)
  • Downloads still in the download folder.

The goal is to keep these inboxes down to 0. Nothing should be in there. Many people try that one and fail. That’s because the consequence is that you have to be a lot more rigid about creating actions.

For every item the inbox, check if you can process it in less than two minutes. If you can, do it. Otherwise file an action.

Actions

Actions are basically todo items but there is a catch. According to Allen – and I tend to agree – the basic problem with most todo items is, that they are not actionable. There are different reasons for that:

  • You’re waiting for some input.
  • The item actually consist of more than just one action.
  • You’re currently in the wrong place to actually do something. For example you can’t check out some papers with your coworker when you’re in the train.

The trick is to create actionable todo items. They are a clearly defined action which can be completed in one go.

Every action is assigned to a context – a location where you can actually do it. I have the following contexts, so you get the idea: errands, home, laptop, net, phone, work, work – office. The last two ones need some explaining. Almost all of my work I can do whenever I have internet connection. But I still don’t want to file it into the “net” context because then my separation of private/work would be less clear than I want it to be. So I have a “work” context which I can do whenever I’m working for the job. Additionally the “work – office” context if for stuff which I can’t do over VPN such as checking some papers with our office person or talking to somebody.

Also very important is to clearly mark an action when you’re currently blocked on it. In my case I move them into a separate folder called “Waiting” and clearly document the condition I’m waiting for.

These three things combined mean I can check a context and start completing one task after the other without having to think about every task first.

Projects

If anything requires more than one action it becomes a project. Every project gets recorded into a project list and for every project there is a filer with support material.

That’s where I step away a bit from Allen’s gospel. I create a project as soon as it generates reference material. That is to say when I have to file some documents which I’ll need with future tasks of the same project, then I consider it a project and track it as such.

Reference

It’s important to keep documents for referencing. That can be an offline folder system or on the computer. In my case I have used DEVONthink Pro for that since some time.

Tickler

The tickler is a really interesting tool for calendaring. But it works a bit different. It consists of 43 physical folders – one folder for each month (12) and one for each day (31). Now you know where the 43folders site got it’s name from.

For the next 31 days you have the day folders. So if you want to file something that you need at a specific date in the next 31 days, put it into a daily tickler. For everything which is longer away, put it into the monthly tickler. Every day you clean up the current daily tickler, move the contents to your inbox and then move that tickler folder to the next month.

I have personally not implemented that concept physically as I have an almost complete paperless office. But I did implement it electronically because I like the system to file actions or projects that are date-relevant.

Weekly Review
Every week you should review your GTD system, find out how you can get more effective and make sure you don’t get caught up in old habits. My weekly review looks like this:

  1. Process all inboxes: Move content of all inboxes into the principal Inbox (DEVONthink Pro)
    1. Mail
    2. Flagged items in NetNewsWire
    3. Loose Papers
    4. Downloads
  2. Process notes: Process all notes, scribbles and inbox. Complete actionable items (or schedule them), file reference material, delete unneeded stuff
  3. Previous calendar: Review past calendar dates, check what stuff still needs to be done and move it into active system.
  4. Upcoming calendar: Look at future calendar events. Capture actions about arrangements and preparations for any upcoming events.
  5. Empty head: Write down any new projects, action items, wait-fors, someday/maybes and so on
  6. Review “projects”: Check all projects, ensure that every project has at least one next step action.
  7. Review “next actions”: Mark off completed actions, clarify if action is clear for each item.
  8. Review “waiting for”: Record actions for follow-ups where needed. Check of received items.
  9. Review “May do / Future”: Check for projects that have become active and transfer them to “Projects”. Delete items no longer of interest.
  10. Move this document to next Friday in the tickler

Most of the contents is taken directly from the GTD book. I store that as a document in my filing system and handle it with the tickler to always pop up on Fridays.

Follow-up

I’ll follow up on this post with a post about how I implemented GTD in DEVONthink Pro.

Update August 27, 2008: I documented the DEVONthink integration now.

Career advice 4 - Knowledge management

Posted by Patrice Neff Tue, 28 Mar 2006

It is my opinion, that knowledge management is very important in the tech sector. For companies it's immediately clear why. But it also makes sense for developers. Being able to look up knowledge and also specific solutions in your personal repository will make you a faster and better developer. My knowledge management includes the following items:
  • Solutions to problems I had. Somehow the same problems/challenges seem to pop up every now and then.
  • Working code for common problems.
  • Documentation, books, standard documents, research papers.
  • My own descriptions of technologies (applying the old trick that you understand stuff better after describing it yourself).
  • Description of applications I have worked with, including solutions to problems.
  • Links.
  • Any other knowledge I want to keep. This is not necessarily tech related. For example I follow a few countries more closely than others (Switzerland, Japan, Peru) and put news of those countries into my repository as well. And my diary is also in the same database.

For most of my knowledge management I now use DEVONthink Pro. Before that I used a Wiki. And as far as I know Roger uses his blog as a knowledge repository. For managing my links I use del.icio.us.

I also put mails into my knowledge database. Before using DEVONthink Pro I just put them into some special folders in my mail program. This mails include mainly good tips from mailing lists.

If your company has some knowledge repository your want to participate in that as well. And if your company doesn't have anything like that yet, lobby for something. At namics it's a Notes database with articles filed under topics, at local.ch we have a Wiki. Both approaches work well.

At first sight it may look like you don't profit from participating in that repository. It looks as if only the company takes value out of it even to the extent that you can be replaced a lot easier if you document your knowledge. Many people I know actually have that opinion. For a variety of reasons I disagree very strongly with that assessment. Most important is that you will never be able to put all your knowledge into that database no matter how hard you try. Most of your value comes from the experience anyway. So while you do spread knowledge and therefore make yourself a bit easier to replace, at the same time you show to your coworkers and bosses how much you really know. There are additional advantages which I will explain below.

Say you document your knowledge about some obscure CSS implementation bug and put it into the database. You will get noticed as a CSS expert. So next time somebody has some CSS bug that needs debugging it's quite likely that he will contact you. We are talking job security here.

Or say you have 300 articles about that content management system that your company uses extensively. Even that personal manager who knows nothing about technology will see that the company won't be able to replace you without problems. Again, it's about job security.

A job is a lot easier to get if you have recommendations by coworkers who already work at the given company. I've also received mails by friends asking me about a person I knew from previous jobs or from school. Positive recommendations are easier to get if people know you from the knowledge repository. For example at namics I often got help requests from people at the German offices even though I didn't know them personally. Reason: they saw my name connected to that topic in the knowledge database. I'm sure that some of those people would put in a word for me should I try to get a job at their new work.

Sometimes your articles may lead to a discussion where other people propose better solutions, other workarounds, other products or whatever. So you learn as well. And to me it happened often that when writing a short note I would research a point for a few additional minutes. And sometimes during that short research I learned a lot of additional things.

The net result of contributing to the company knowledge repository is therefore that you make yourself seen and respected and that you learn more. And you help your colleagues which in itself is a good thing.

Quick action for today: do yourself a favour and think a bit about how you want to manage your knowledge.