This system is rather simple and straight forward, without many bells and whistles. To understand it though, I need to first discuss my methodology in org-mode.

Most tasks are created in one of two ways: through a capture template on my desktop (either at home or at work), or through a tap on the “+” on my Orgzly widget on my phone. I’ve discussed both of these a couple of times on my blog under the org-mode tag.

A task is usually nothing more than a quick reminder (“pick up clothes from the dry cleaner”). Sometimes, especially at work, a task can become more complex: (“Create a consistent guest user-template on office iMac”) which then develops sub-tasks (“Auto-launch Safari: ticket creation page”) and (“log user out within 5 minutes of inactivity”) and (“Keep same wallpaper for all guest log-ins”).

When this happens, my method is to switch the first task’s Keyword (which is now the parent task) from TODO to ACTIVE and remove the "Scheduled" property. Then, I create a sub-task under it ("Auto-launch Safari: ticket creation page") and that sub-tasks gets its own "Scheduled" property.

Here’s how it looks like laid out:

A project laid out in org-mode

You’d notice I use agenda-visible timestamps to express the duration of the project as I work on it. This also means that the project will show at the top of my agenda , so I see my in-progress big projects first. When all sub-tasks are done for the projects, I mark the parent task as DONE and move on.

large projects, ones that can end up taking weeks and months, are too big to fit in my weekly org file. Thankfully I don’t have too many such projects . When such a large project takes place, I do two additional things. First, I create an independent org file for the project. Second, I create a “Log” sub-tree at the very top of the project, before all the other TODOs, which is used as a journal for that project. The log sub-tree is broken down by non-agenda timestamps and brief titles, explaining my thoughts and methods as I work through the project. I also take a second look at the title of the project, which is often just the very first task that started it, and change it to “OP: …” something. I find that calling a large project something like “OP: iMac walk-ins terminator” instead of “Create a consistent guest user-template on office iMac” is more memorable and just plain fun.

While I have an active journal file, I find that more and more I gravitate toward breaking off journal “chunks” into respective projects I’m working on. This is faster (my thoughts about the project are right there, not in a separate journal that needs to be linked correctly) and easier to retrieve later (instead of thinking “what was it that I did…” staring at a large journal thinking what to search for, I have a project with related thoughts).

I don’t have a clear-cut requirement of switching from multi-level tasks to a full project, nor a point where I switch from writing in my generic journal to starting a log in a specific project, but I’d say it’s a mix of how much time I’ve worked on something (is it been a few weeks? Do I keep getting back to it?) and how complex it is.