Wednesday, August 06, 2008

In org-mode, abandoning GTD

I've already mentioned the problem with contexts in the GTD system. In using org-mode, I've come to realize that another important concept of GTD is either flawed or redundant: the next action.

Next actions seem good at first. Every project has a next action, the action that is a short-doable task that will advance the state of the project. Of course, some projects have several actions you can do in parallel, so there are several next actions. As the number of projects you have grow, you get more and more next actions. At some point, the number of next actions becomes too much to keep track of. Some people might say this goes away with proper contexts. However, I've never found a good use for contexts, because in truth at any point I can do any of my next actions. Another strategy for getting rid of excessive projects is to move some to a someday/maybe folder. I think this is reasonable, but sometimes you know that in a particular week you are just going to work on a few different projects, perhaps because of deadlines or other prioritization. What then?

In org-mode, I solved this problem by using the agenda, and scheduling my next actions that I wanted to work on for the current day. I would then see a list of the next actions I had to accomplish that day. If I didn't get them done that day, the next day I'd move them up a day, to the current day. It ended up being a daily-planner-like system a lot like Tom Limoncelli recommends in Time Management for System Administrators. But with next actions.

Last week I had a revelation: scheduled items, for me, were the same as next actions! So I removed all next actions, just having states TODO, WAITING, and DONE. Like next actions, when I finish a scheduled item, the next item in the project becomes scheduled. I like my new system. It combines the flexibility of Limoncelli's day-planner system with the project-planning of GTD.

I spend my day as before, taking tasks from the day view of org-mode, and using a weekly review to schedule or de-schedule items from that view. I also add notes to tasks all the time, which proves to be helpful. I think I've benefitted from next-actions, since they force you to think of actions at level of granularity such that each task is specific, concrete, and immediately actionable. I treat tasks the exact same way now, even without next actions themselves.

For more info about org-mode, check out the talk on org-mode which happened after I invited Carsten Dominik to give a talk at Google about his system.


akaihola said...

You wrote: "Like next actions, when I finish a scheduled item, the next item in the project becomes scheduled."

So when you finish a scheduled item, do you always review the project to choose and schedule the next item to do?

Unknown said...

No, I let org-mode do that. Nowadays, I work a little differently, which maybe is the subject for another post. Short story: I don't have any more NEXT actions, instead they are all TODOs (or WAITING or DONE). org-mode has the option of having all the sibling TODOs be ordered, and you can set a mode where they must be completed in order. The agenda just shows me non-blocked tasks.

So, nowadays, when I finished a scheduled item, the next task becomes unblocked automatically, and I see it when I refresh the agenda.

akaihola said...

Makes sense. One bit I don't get though: Do you schedule sibling TODO items when you create them, or have you arranged org-mode to show also non-scheduled non-blocked TODO items in the agenda? Or does it schedule them for you automatically when unblocking?

Unknown said...

Back when I was scheduling things, I only scheduled the NEXT action. Then the schedule would propagate when I marked it as DONE. I initially wrote code to do this, but I eventually wrote up another version and checked it into the org-depend contrib module.

Nowadays, the lightweight dependency management built into the base org-mode is pretty much all I need. I just mark every parent item as requiring children to be completed in sequence, and configure the agenda only to show me tasks that aren't blocked.

Justin Gordon said...

I've recently picked up org-mode and have been fascinated by GTD and pomodoro techniques. Any new ideas on the ideas presented here? If you wrote up a short tutorial on how you use org-mode to task management, I'd be interested.