Showing posts with label GTD. Show all posts
Showing posts with label GTD. Show all posts

Monday, September 21, 2009

Extreme GTD Makeover

Most GTDers I know go through periodic changes of their systems, either by moderate incremental tweaks, or by the occasional, revolutionary, "back to the drawing board" re-think of their tools and methods. Personally I have done this with my Outlook-based GTD system 5 or 6 times in the past 3 years.

But my latest re-invention was by far the biggest since I started GTD. This time, I really think I've nailed it. What's more, for the first time, I have switched to paper. And I'm loving it.

Those who know me would never imagine that I would use an analogue tool for anything that has an even half-functional digital equivalent. (I have a accelerometer-based spirit level app on my iPhone for crying out loud - and I've used it!)

But like many others I have discovered some of the magical and practical properties of pen & paper. For example, on paper, if you suddenly notice an association between two things in a page of notes, you can simply draw a line or arrow to link them without having to think about how.

My new system, which I've been using for about a month now, is a return to GTD basics. I call it "almost-pure" because for the first time I am following almost all of the techniques in the book almost exactly, with just a few important modifications. So here it is:

Motivation

There were 3 main problems that drove the design of this system:

  1. The nature of my job has changed, taking me away from my desk for most of the day. I'm in meetings a lot, and needing to return to my desk to check my lists was driving my working hours way up. I needed a portable system, and iPhone apps weren't cutting it.
  2. Over 3 years, my previous GTD system had become quite cumbersome. I realised the overhead of maintaining it was getting in the way of actual work, again affecting my work hours. I needed an extremely lightweight system, that I could get up-to-date really fast.
  3. I found that many Actions were lingering on my lists, becoming less and less relevant as they aged. I needed a way to keep my system fresh and alive, where an important Action is not lost in the noise of numbed-out actions that had lost their meaning.

Ingredients

You will need:

  • 1 Calendar (for this, I still prefer electronic, for the ability to have pop-up reminders)
  • 1 Notebook
  • 2 Pens (different colours for notes, etc.)
  • 1 Highlighter (optional)

In your notebook you will need:

  • 1 Projects List
  • 1 Actions List
  • 1 Someday/Maybe List

Preparation & Set-up

Get a new notebook - fresh and clean. I like to give mine the Swiss Army treatment, by sticking a simple year calendar for this year and next year inside the front cover, and a list of phone numbers of people I call a lot inside the back cover.

Make sure your pens work. Nothing is more frustrating than having a thought/idea and not being able to write it down because of a crappy pen. I actually prefer a cheap, reliable, replaceable (read: losable) standard-issue office supply pens, but if you really love your Mont Blanc, use that.

At the top of page 1 of your notebook, write "Projects". At the top of page 2 or 3, write "Actions". I like to highlight both of these headings, to make them easier to find - more on that later. On the last page of your notebook, make a "Someday/Maybe" page.

Aside from your notebook, I'm going to assume you already have an electronic calendar with pop-up alerts set as default. I'll also assume you have the other standard GTD equipment ready: a physical inbox tray and "pending" tray, a filing cabinet set up as described in the book, a labeller if you're into that, and a clean workspace with as few distractions as possible.

Notable Omissions

There are a few things deliberately missing from my system, which are recommended by the book: First, I don't recommend using a "tickler" file. In 3 years of practising and reading about GTD, I have never once heard of anyone actually using a tickler file successfully. It is just a high-maintenance procrastination system, as far as I can tell. Second, I don't use separate Context-based actions lists. I just have a single, big list for all my actions. Third, I don't use a separate Waiting For list, either. More on this later.

Projects List

The first page in my notebook is my Projects List. I use it exactly as described in GTD - as a "stake in the ground" to make sure I don't forget the slightly bigger picture that my Actions List doesn't quite cover.

I write my Projects with a square box, then a one-line definition of the project outcome. I leave a 2cm margin on the left for the hard deadline of the project if it has one. When a Project is complete, I tick the box, and I also enjoy drawing a line through the text - both because it helps draw the eye to incomplete Projects, and also because it is immensely satisfying (one of the less-obvious benefits of a paper system).

Importantly, I don't do anything special to link Projects to Actions. I'm actually starting to think it's better not to have a strong link between them. There is not always a perfect vertical relationship there, so it's more flexible to not impose one. It turns out that if you have a solid Weekly Review habit, you don't need a linkage anyway.

I try to be very strict with myself to make each and every Project specific and outcome-oriented. Every Project I write down is an answer to the question, "How will I know when this is done?" And sometimes, "Why am I doing this?"

Also, I try to keep my Projects fairly low-level. There is usually no need to write down big projects here, since they are usually tracked by everyone on the team at some higher level. The "Projects List" could be renamed to "Commitments List", since it is really a list of commitments I have made to others, or to myself, to deliver something specific. In other words, it's the productivity equivalent of "look after the pennies and the pounds will look after themselves".

Actions List

The page after my Projects List is my Actions List. Most GTDers would agree that the pure definition of "Next Action" is probably the most important lesson of GTD, and so I try to be as pure as possible here. Next Actions should literally be the answer to the question, "If I decided to work on this right now, what would be the first physical thing I would do?" The best thing about this system, is that it has a built-in way to make certain that I am answering that question properly, which I will explain in the next section.

Like Projects, I write my Actions with a square box, then a 1-line (occasionally 2-line) description of the physical action. I keep it concise, but I also try to write down as much detail as possible, so there's no friction when I try to do the action. For example, if the action relates to an email, I put a reference to the email like this: (e: Duncan 8/13 14:35). I leave a larger, 3cm margin on the left, which I use not only for the hard deadline of the action (right next to the box), but also for the Context if it has one.

The margin is one of the important deviations from "pure" GTD. Even though I might have more than 200 actions on my Actions List at any one time, I don't split them into separate lists by Context. Instead, I just have one big list of actions, but I leave a margin on the left to write a Context if I need one. I find that it's actually easier to scan the margin for any actions I can do in my current context, than to try to find the right context list. As a bonus, I might also find some actions I can also do in my current context that I haven't marked as such. It's also easy to scan for actions that have deadlines drawing near.

When I complete an Action, as with Projects, I tick the box and draw a line through the entire action, including the context and deadline date.

Notes

I use my notebook for brainstorming ideas and meeting notes (always on their own page, and always dated) as well, so my Projects and Actions lists get interleaved with with notes as I go. This is why I highlight the "Projects" and "Actions" headings to make them easy to find quickly. I thought about other fancy schemes, like having Projects and Actions lists at the back of the notebook, with notes in the front; but in the end I just find it simpler and easier to let them mix up together (but never on the same page).

Any notes I have taken are essentially inbox items to be processed. Every morning I process my notes from the meetings of the previous day, extracting Projects and Actions as I go. When I've finished processing a page, I draw a big diagonal line through it, so I don't waste time looking at it again.

Action Lifecycle

Almost all of my Contexts are actually specific people - i.e. the person I need to speak to about something to move a situation forward. I always have too many commitments that I can handle by myself, but fortunately I have a team of people, as well as other colleagues, to whom I can delegate or request actions.

I noticed that many of my actions move through a predictable lifecycle:

  1. First, they are simply actions on my Actions List.
  2. Then, while reviewing my Actions List, I find actions that can be delegated to other people. I write that person's name in the left margin, and that then becomes the Context of that action (i.e. I need to speak to that person about it to explain exactly what I need them to do, and/or how I need them to do it).
  3. Finally, having explained the action to that person, it becomes a Waiting For. I simply write "w/" in front of the person's name (which is already in the margin). Next time I am with that person, if they have had enough time to complete it, I can ask them for the status.

This is why I don't need to have separate actions lists for Contexts, nor a separate Waiting For list. My big, single Actions List serves all three purposes, with a minimum amount of rewriting and maintenance overhead. It's so simple and easy. I love it.

The All-Important "Line"

This trick is probably the most important part of the system - certainly the most important deviation from standard GTD. I got the idea from Mark Forster (somewhere between DIT and Autofocus). It is known as the "Closed List", and it is a stupefyingly simple, yet phenomenally powerful tool for keeping the Projects and Actions lists fresh and alive, keeping the motivation up, and forcing the Next Action decision. I cannot stress enough how important this is.

After setting up this system for the first time, transferring all your Projects and Actions to the notebook, you simply draw a big line underneath your Projects List and Actions List, with the current date at the end. I like to make mine stand out, so I use a felt-tip marker for the job. From that point on, all new Projects and Actions are written below the Line. The lists above each Line are called the "Current Projects" and "Current Actions", and the ones below them are called the "New Projects" and "New Actions".

The idea is, I try to complete all of the Current Actions first, before the New Actions. When all of the Current Actions are complete, I draw a big, satisfying, diagonal line through the whole list, then draw a new Line below the New Actions and date it. At this point, the New list has become the Current list, and I have started a new New list. Same goes for Projects, although it will take longer than Actions to close off each list.

Note that I don't forbid myself from doing Actions below the Line - I just prefer not to, since I am motivated to complete the Current list so I can close off the New list before it gets too big. Strictly speaking, there are only 2 good reasons to do something from below the Line:

  1. it has a hard deadline very soon or today, or
  2. I am currently in the Context (usually, with the person whose name I've written in the margin)

I don't use the Line for my Someday/Maybe list, since it is essentially a random wish-list of things I would like to do, but I don't feel a strong commitment to getting it done. It's a place to go shopping for interesting projects or ideas when I feel the need.

Strange and Wonderful

The Line has a curious influence on my lists. Obviously, it works as a motivational tool - I want to draw that big diagonal line, and I want to close off the New list.

More subtly however, it forces me to re-evaluate the last remaining Actions on the Current list. When I only have a few left, it probably means there is something broken with those few Actions. Given that my notebook has 40 lines per page, if I only have a few Actions left on a page, I must have looked at them and deliberately skipped over them at least 30 times! There are only a few reasons for skipping over an Action so consistently, with simple solutions:

  1. Waiting For: If it is simply waiting for someone/something, follow up with that person for the status. If the only Actions left are all waiting, I will probably just rewrite them on the New list, but this is an extreme measure. If there are a lot of these and they keep resurfacing when I'm trying to close off my list, there may be another type of problem in the delegation area - a people problem.
  2. Low Priority: If I have been skipping over the Action because it is simply not that important, I need to ask myself if I will ever really do it, and/or if there is any commitment to get it done soon. If not, I can either just cross it off (I usually put an "X" in the box to indicate that it was dropped), or I can move it to Someday/Maybe.
  3. Consistently Avoided: If the Action/Project is important, but for some reason I have just been skipping over it again and again, it's very likely that I didn't do the GTD Processing step thoroughly - in other words, this is not really the true Next Action. In this case, I re-evaluate the Action as a possible project, or try to figure out what the real Next Action is. Usually, I find that there is another Next Action before this one, so I write the real one on the New list, and cross off the old one.

This is how Problem #3 above is solved - i.e. Bad Actions are evicted from my list, keeping it fresh and alive.

Weekly Review

Yes, you really, really, really need to do a Weekly Review. Every week. But the good news is that because this system is so lightweight, it now takes me just a couple of hours, where it used to take an entire day. A solid Weekly Review holds the system together - it provides the invisible links between Projects and Actions; it sorts out the good the bad and the ugly when it comes to the quality of my Actions list; and it gives me the freedom to let things get messy during the week, in the name of producing output, because I know that at the end of the week I'm going to clean up and get things back into perfect clean order again.

In short, a good Weekly Review habit replaces the need for a lot of structure in the system. And that reduces overhead.

Priorities and the Issue of Trust

The primary objective of GTD is to get things out of your head. Anything that is stored only in your head attracts stress to it like a magnet. Some people confuse this idea of getting things out of your head with forgetting. The objective is not to forget things. That would be absurd. The objective is to make sure that your head is not the only place important things are stored, so that if you did forget, it wouldn't matter. Knowing that you could forget something and it wouldn't matter demagnetises it, so stress cannot accumulate around it.

But for this to work, you have to trust your system. Sometimes, it seems like adding an important Action to a big list will let it get lost in the noise and forgotten, and this means I can't completely let go of the responsibility of remembering it. To remedy this, I occasionally use a highlighter to highlight the Action after I write it down. This way I know my eye will be immediately drawn to it as I scan my Actions list. This seems to be enough to allow my brain to relax and just trust the system, which is the point. Obviously, I try to use the highlighter as little as possible, otherwise it would stop being effective.

It's important to separate this from the concept of "priority". In GTD, we are encouraged to downplay priority (it is last on the list of factors to consider when deciding what to do at any given moment - Context gets the top spot). Priority is fickle. Priority is dynamic and shifting. Something may be vitally important one minute and just another thing to do the next.

Priority doesn't necessarily mean the sequence of doing things. It means that if you have 10 things to do, and you will only have time to do 7 of them, which 3 will you throw away? Using the Line, the great thing I have come to understand about priority is that I intend to do everything on my lists anyway - so priority is kind of irrelevant. As I scan my lists during the day, I will pick out something to do, which may not be the absolute #1 top priority of the moment every time, but it will generally be near the top. As my list gets crossed off, only the less important things will remain, and I will be in a big hurry to get rid of them so I can get started on my New list. I may decide to drop them, or relegate them to Someday/Maybe, or just get them done and out of the way as fast as I can.

Very often, I notice that I have highlighted something when I wrote it down because I thought it was super important in the moment, but later I realise that it really isn't. That's OK, because at the time, highlighting it allowed my brain to let go and allow me to move on, and that is the primary objective of GTD.

Wednesday, June 24, 2009

Once-a-Day Email

This is the fourth post in a series on Extreme GTD.

I get around 600 emails a day at work. With a lot of hard work on automatic filters, I can get that down to about 300. I don't subscribe to any Internet mailing lists, so all 300 are real work emails.

The way I have learned to deal with this, without spending my whole day reading and replying to emails, is to process them only once per day. I find that this is easiest to do in the morning. I wake up very early, get to the office before anyone else, and power through the whole lot in one sitting. I also process my in tray and notebook. It takes about 2-3 hours to do it properly.

Then I close my email for the rest of the day.

You would think that this would be a problem, but it's surprising how little difference it makes to my interactions with other people. But it makes a huge difference to me. After my email sprint in the morning,

  • all my inboxes are empty,
  • I am completely up-to-date on everything that's happening,
  • all my next actions lists are updated, and
  • I have scheduled my actions for the day.

It's awesome.

Part of my secret for getting through email quickly is a view I have set up in Outlook* which is very similar to the "conversation view" in Gmail. (Any email application that allows grouping of emails by conversation/thread will work well, especially if it has the ability to show a small preview of the first couple of lines of text.) Since I don't read email during the day, all the conversations that I am CCed on carry on happily collecting into conversation threads.

As I go through my emails in the morning, it's very quick to see which conversation threads will probably not require my attention, and just delete the whole thread in one keystroke. Gone. There are also usually a large number of threads that could be important, but I just expand the thread and scan the preview lines. This is great for picking up when someone suddenly directs the conversation to me - the first line is "Will, Do you..." So this trick helps me whittle down 300 emails to about 100 fairly quickly. But the real beauty of this is that it's amazing how many conversations end by themselves without me needing to get involved.

I think people don't seem to notice that I'm only reading email once a day, because if I reply, it's usually before they arrive in the office in the morning, so no email goes unanswered for more than 24 hours. About 2-3 times per week, someone will ask me, "Did you see my email?" Although I have my Inbox view closed, I still have Outlook open, so I can quickly look if I have to.

My advice: Don't knock it 'til you try it. You might be surprised at how well this works.

* I will post about my Outlook GTD set-up in a later post.

Tuesday, June 23, 2009

Real Contexts

This is the third post in a series on Extreme GTD.

As I've mentioned before, the absolute key to GTD is Processing, which is thought-driven. Everything else, including Contexts, are just tricks. Contexts is a trick specifically designed to avoid thinking, or at least to minimise it.

So it is perfectly possible and acceptable to not use Contexts in your GTD system. In fact, I recommend avoiding Contexts in the beginning. You need to feel their absence in order to understand what they're good for, and how much you can get done without them.

The key to using Contexts effectively again comes back to effective thinking during the Processing step.

The trick I use is to ask myself, "What is stopping me from doing this next action right now?" there are three types of answers to this question:

  1. It's not really the next action. If so, I haven't finished the Processing step. Think of the next action and repeat.
  2. It will take more than 2 minutes, but otherwise I could do it right now. Great. Put it on the actions list with no Context.
  3. I need to be somewhere or with someone to do it, but otherwise I could do it right now. Great. That's the Context. But wait - there's a catch...

When I find an action in the third category, there is still some thinking to do. How will I remember this action when I'm with that person, or in that place? There's no point in adding the action to my Outlook tasks folder if I won't have it with me when I'm next there. There's no point in putting envelopes I have to post in my "Out" tray if I'm not in the habit of checking it before I leave the house. The key is to really think about what is the best way to remind myself of this action when I'm next in that Context.

One example of this that has worked really well for me lately is to use my notebook, which I carry around with me whenever I'm not at my desk. Lately, nearly all my time is in meetings away from my desk, so entering actions in my Outlook was pretty much useless, except for actions that could be done at my desk.

I use my notebook for capturing notes during meetings, and I always start a new page for each meeting, with the title of the meeting at the top, and the date. The difference now is that I start the meeting page before the meeting has happened - as soon as I have a next action that can be done at that meeting. Then, on the day of the meeting, instead of starting a new page, I go to the page I've already created, and there is the list of things I need to bring up.

The same trick works for people instead of meetings. If I need to speak to somebody to get it done, and an email won't do (really think about that choice), I start a new page for that person and write it down there. Then whenever I'm either one-on-one with that person, or happen to be in a meeting with them, I can flick to their page in my notebook and make sure I cover the actions.

The handy thing about the notebook trick is that I can write the results of those actions right there, and I will see those notes when I next do my Processing.

Another important point to note about actions that require a Context is that it's easy to use them as an excuse to not finish thinking during the Processing step. You know you've made this mistake when you see the action on an actions list but when you're there, you find you haven't got a good way to approach the subject. A warning sign is when the person you're talking to doesn't understand what you're asking them. To get around this problem, my trick is to mentally visualise the meeting, and try to think of the first few sentences I will say. That's usually enough to help shake out the real next action.

Friday, June 12, 2009

GTD Problem: Knowing When Things Will Get Done

This is the second post in a series on Extreme GTD.

Part of GTD's power is having a complete and exhaustive list of everything that you need to do. Even though that list is usually huge, it's still very comforting to know that you aren't forgetting something while you get your stuff done.

However, one big problem I've found is that even if you trust that you will eventually get these tasks done, the reality is that most of the time, it is necessary to tell people (or at least to know) when they will be done.

GTD itself doesn't offer a solution for this. There is the Weekly Review, which in theory should give you the opportunity to figure out what will be done within the next 7 days, but most of the time I find that knowing when I will complete a task is most useful at the moment that I make the commitment to do it.

The solution I have been using for this is to schedule all my actions onto my calendar, effectively blocking out the time I will need to do it. This goes directly against David Allen's advice about treating the calendar as "sacred territory", but I have actually found it to be very useful.

The first and obvious benefit is that I know exactly when I will do the task. It also blocks out the time required to do it, so that other people (or myself!) cannot book meetings during that time, which protects the action.

Another, more subtle, but extremely important benefit is that it forces me to be realistic about how much I can do in a week. In my Weekly Review, after I have collected & processed all my stuff, I go through my actions list and one by one schedule all of my actions into my calendar. I usually leave a couple of hours a day open so that people can schedule some meetings with me, but this will depend on how many actions I have to complete during the week.

If I find that I completely fill up a whole week and still have actions left over, I am forced to make some tough decisions about my commitments. The choices are many: I can leave less time open for meetings, delegate some actions to others, re-negotiate or refuse some actions, or just simply decide that some actions can be left for the following week (a kind of mini-Someday/Maybe).

Re-negotiations can be made on-the-fly as the week goes on. If something unavoidable or urgent comes up, I schedule it as normal in the calendar, and then move the displaced action somewhere else. If there is no free space left in my week, I have the same choices as above.

An even more subtle benefit is that it removes the need to check my actions list during the day. Instead of completing one action, then having to scan through my very large list of actions to try to figure out what to do next, my calendar just tells me what to do. Zero thinking - which is ultimately the whole point of the GTD philosophy. At the end of the day, I am exhausted, but I have crammed all the "Doing" that is possible in a single day.

I actually find this is an important trick to help me to trust my system. The "trusted system" phrase in GTD is really key. If you don't trust your system, you will be reluctant to put your actions into it and truly forget them. For me, knowing that the action is on my calendar, and a little reminder will pop up when it's time to do it, gives me the level of trust I need to move on and think about the next piece of stuff.

One word of warning however: This trick doesn't work very well when I haven't done the Processing step properly - ie. I haven't really boiled down the stuff to the very next physical, visible action. If my calendar pops up and tells me to do something like "approval for software purchase", it trips me up. So far, I've been dealing with this by doing the real processing then, but if I have committed that the task will be done by then to someone then I also have to re-negotiate with that person, which uses up more energy.

I highly recommend this technique to anyone who has to tell people when things will be done. Do not ever tell someone that something will be done by a certain date/time until you have verified on your calendar that it can actually happen. Tell them you'll get back to them with an estimate if you need time to brainstorm/process. Otherwise you will just get stress for yourself and disappointment for the other person.

Extreme GTD

I've been using GTD for almost 3 years now, and although I've been on and off the wagon several times, on each iteration it gets better and more effective. And, just as the book predicts, each time I make an improvement in efficiency and organisation, I get more responsibility and work dumped on me.

Recently, due to some other factors at work, this has been taken to an extreme level. I'm working consistently 14-hour days, plus 8-hour days on Saturdays and Sundays. My calendar is blocked wall-to-wall with meetings from 8:00am to 6:00pm every day, up to a week in advance, and now people are just double-booking to see which meeting I turn up to. I get an average of 600 emails per day, and even after filtering for system-generated alert emails and such, it's still around 300 per day. At any one time I have about 100 active projects, about 4 of which are major strategic initiatives. And that's just my work life.

If this isn't GTD under extreme conditions, I don't know what is...

Recently, I've gone through another iteration of GTD detox, by listening to the audiobook version of the GTD book three times in a row, and I had an epiphany about GTD:

The only fundamental concept in GTD is to do all the thinking up-front.

All the rest of the book is just extra tips and tricks for managing the results of that thinking. You could almost leave all the rest of it out and still be effective if this one, all-encompassing rule is always followed. Of course, the other stuff is useful too, but this epiphany has led me to make some incremental, yet significant adjustments to my GTD system, to help me cope with the extreme conditions I am facing every day.

This is the first post in a series of posts I will be doing about the tricks and "ah-hah!" moments that are helping me survive. Here is a list of the posts so far:

Sunday, September 14, 2008

Backlog Gone!

It took more than a month, but that 5,000-email backlog is finally gone. It has been replaced by this huge stack of papers in my In Tray, but after 5,000 emails, this doesn't scare me so much. (Maybe it should...)

The feeling of release I feel is difficult to describe. Now I am at Zero-Point, I have a way to know when I've finished my work for the day.

Friday, August 08, 2008

The 5,000 email backlog

First, there was the big important software release - so important that I just had to stop reading email to get it done. Then, there was a trip to Hawaii for a friend's wedding (not that I'm complaining...) Then, another trip, this time to Australia for another friend's wedding and my brother's 30th birthday. And when I got back, all our big important projects were behind schedule and again needed my undivided attention. Not to mention my understandable addiction to playing with my new iPhone.

The result: over 5,000 unread emails in my inbox, and a 20cm-high stack of unread paper in my in tray. Panic sets in...

I am a devout believer in GTD and its core tenet - what Merlin Mann calls "Inbox Zero" - the importance of clearing the inboxes completely. So while some people routinely have hundreds or even thousands of read emails in their inbox with no intention of ever reading them again, for me, all of these emails need processing. It's a major backlog.

According to GTD, what I am supposed to do is go through each email, one by one, and decide what, if anything, needs to be done about it. Normally I would do this starting with the most recent first, because making decisions on the oldest email first might prove to be a waste of time or even a mistake when I see a later follow-up from someone else. But the key idea is to not try to sort or organise them - just grind through them one at a time until they're all gone.

Now, one of the problems with this is that at full-pace, I can process only about 100 emails per hour. If I go any faster than that, it's usually because I'm not really looking at them, so quality "Next Action" decisions aren't being made. Another big problem is that when I look at a recent email that's based on a long-running discussion, often the bottom of the email doesn't contain the full history of the discussion so far, because several email threads have been going on in parallel. So I find myself not being able to determine the next action, because I don't know what the hell everyone's talking about.

I have also read and enjoyed DIT, which includes a very interesting and simple solution to backlogs: Just move it all aside into a folder labelled "Backlog", and start from scratch. The idea is not to ignore all those emails, but to at least establish a baseline of processing everything completely each day, while chipping away at the backlog until it is gone. It's a great motivational approach, since you get the satisfaction of seeing an empty inbox immediately, and you have an easy way of knowing that at least it's not getting worse!

But the problem with the DIT backlog approach is the same as GTD, in that every time you get a new email about something, you don't have an easy way of getting "caught up" on the discussion so far. I've found this to be particularly difficult because I have about 200 projects (some big, many small) running in parallel.

So I'm trying something new, which is forbidden by both GTD and DIT: categorising my backlog.

Last weekend, I went into the office, sat down in front of Outlook for a marathon 12-hour session, and very quickly moved all 5,000+ emails out of my inbox and into folders created for each of the many projects, and for those that weren't specifically related to a project, I made folders for the team/department that it came from. For a long time, I've had my Outlook set up to display messages grouped by conversation thread, so I was able to just check the subject line and make a decision about which folder to stuff with each thread - sometimes moving 20 or 30 messages in one go. I got the whole lot sorted in just under 12 hours, so that's a bit over 400 emails per hour. (Note that the emails still weren't read/processed at this point, so in GTD & DIT terms, nothing had been achieved.)

So this got me the DIT-style "backlog", with the attendant instant gratification of seeing an empty inbox for the first time in weeks. So what was the point of sorting it all into folders? Well, now when I'm processing my inbox for the day, I can take a new conversation thread, move it into the appropriate folder, then read all of the backlog for that project in one go, from oldest to newest, so I am completely "caught up" on all discussions for the project before making any Next Action decisions. I would expect to make several NA decisions for the project, but then I can delete the entire folder because it's completely processed.

So this solves both the problem of not knowing the background of the discussion so far, and as a bonus gives me a nice feeling when I delete that folder, because I know that a big chunk of my backlog has disappeared. Before long, I expect to have few enough folders left in my backlog, that I get inspired to just crank through all of them and be done with it.

Anyway, that's the theory. Now let's see how it works in practice. Should be interesting... At any rate, if this doesn't work I'll just have to declare Email Bankruptcy.

Thursday, August 07, 2008

AppleScript to generate iCal events from email

I just figured out a way to get my work calendar copied onto my iPhone! Yay!!

A bit of background first:

My company doesn't have Exchange, or any other real "groupware". For email, there's just a simple POP server (uuurgh!) and for calendar, they have a custom-built intranet application (huh?!).

The intranet calendar system has a function to send an automatic email alert whenever somebody books an appointment with me in my calendar. The email goes to my work email account, but I have configured an Outlook rule to automatically forward it to my home email address.

When it arrives at my Mac at home (which is always on), I have a Rule in Mail.app which runs the below AppleScript. The script parses the contents of the email, and creates a new event in iCal.

iCal syncs with MobileMe, which in turn syncs with my iPhone. Hooray!!

I haven't used this in anger yet, so I'll be trying it out for the first time tomorrow.

Known limitations:

  • It's highly customised to the format of the emails I get from the intranet calendar system.
  • It doesn't automatically handle recurring events. The first event will be registered, but I have to set the recurring settings myself.
  • It doesn't handle updates or cancellations of events. If an event is moved, it will simply register it again at the new date/time. The old one will still be there.
I'm yet to discover just how long it takes for a new event to finally show up on my iPhone, but based on experience with MobileMe "push", I'm expecting at least a 15~20 minute delay.

How to install:
  1. Launch the application Script Editor and copy the code below.
  2. Save the script somewhere. I saved it in my Documents folder as "MailToCalendar".
  3. Open Mail and select Mail > Preferences... from the menu bar.
  4. Under Rules, click Add Rule.
  5. Give the rule a name (mine is "MailToCalendar").
  6. Create the conditions to recognise the alert emails (mine is Subject Contains "スケジュール予約状況案内").
  7. Add the actions Delete Message, Mark as Read, and Run AppleScript (pointing to the location of the AppleScript you saved).
  8. Click OK. That's it.
Many thanks to AK who gave me a sample AppleScript to get started with! :-)
(*
Make an iCal event from an email
AK  IT Carlow Ireland May 2005
and Will Hains Tokyo August 2008
*)

 

using terms from application "Mail" on perform mail action with messages MessageList for rule theRule -- say "Starting MailToCalendar" set OldDelim to AppleScript's text item delimiters

tell application "Mail" set ThisOne to item 1 of MessageList set TheDetails to content of ThisOne end tell --Mail

set AppleScript's text item delimiters to {"\n"} set TheDetails to text items of TheDetails set TheTopic to "" set TheStart to current date set TheEnd to current date set ThePlace to "" set TheDescription to ""

repeat with ThisDetail in TheDetails set AppleScript's text item delimiters to {"\n"} try -- find the date if "日付:" is in text item 1 of ThisDetail then set AppleScript's text item delimiters to {":"} set TheDateTimeRange to text item 2 of ThisDetail

set AppleScript's text item delimiters to {"-"} set TheStartDateTime to text item 1 of TheDateTimeRange set TheEndDateTime to text item 2 of TheDateTimeRange

set AppleScript's text item delimiters to {" "} set TheStartDate to text item 1 of TheStartDateTime set TheStartTime to text item 2 of TheStartDateTime set TheEndDate to text item 1 of TheEndDateTime set TheEndTime to text item 2 of TheEndDateTime

set AppleScript's text item delimiters to {"/"} set year of TheStart to text item 1 of TheStartDate set month of TheStart to text item 2 of TheStartDate set day of TheStart to text item 3 of TheStartDate set year of TheEnd to text item 1 of TheEndDate set month of TheEnd to text item 2 of TheEndDate set day of TheEnd to text item 3 of TheEndDate

set AppleScript's text item delimiters to {":"} set time of TheStart to (text item 1 of TheStartTime) * hours + (text item 2 of TheStartTime) * minutes set time of TheEnd to (text item 1 of TheEndTime) * hours + (text item 2 of TheEndTime) * minutes

-- say "the start is " & TheStart -- say "the end is " & TheEnd end if --Date

-- find the place if "利用設備:" is in text item 1 of ThisDetail then set AppleScript's text item delimiters to {":"} set TheMeetingRoom to text item 2 of ThisDetail set AppleScript's text item delimiters to {"会議室"} set ThePlace to text item 1 of TheMeetingRoom -- say "place is " & ThePlace end if --Place

-- find the topic if "予定:" is in text item 1 of ThisDetail then set AppleScript's text item delimiters to {":"} set TheTopic to text item 2 of ThisDetail -- say "the topic is " & TheTopic end if --Title

-- find the description if "内容:" is in text item 1 of ThisDetail then set AppleScript's text item delimiters to {":"} set TheDescription to text item 2 of ThisDetail -- say "the description is " & TheDescription end if --Description

on error errStr number errorNumber say "MailToCalendar error! " & errStr end try end repeat --iterate through fields

--set up the event in iCal tell application "iCal" -- say "Will now attempt to register in iCal" tell calendar 2 --CHANGE THIS to sequence number of target calendar set newItem to make new event at end of events with properties {start date:TheStart, end date:TheEnd} set summary of newItem to TheTopic set location of newItem to ThePlace set description of newItem to TheDescription -- say "registered in iCal" end tell --calendar end tell -- iCal

set AppleScript's text item delimiters to OldDelim -- say "finished MailToCalendar" end perform mail action with messages end using terms from

 

Friday, November 23, 2007

Gmail & Mail.app - the right way

I was getting a bit sick of firing up Parallels just to do email and GTD in Outlook, so today I thought I'd give Apple Mail another look.

I had already set up Gmail IMAP in Mail, but it was more than a little clunky, and I was a bit worried about what happened when I pressed "Delete".

I Googled around a bit and found these tips, which as far as I can tell iron out all the problems. To save you following the link, here's what you do:

  1. Set up Gmail IMAP according to Google's instructions
  2. Open Mail Preferences
  3. In General, set Dock unread count to Inbox Only
  4. In Accounts, select your Gmail account and set IMAP Path Prefix to "[Gmail]"
  5. In Composing, set Create Notes & To Do's in to On My Mac (notes & to do's really don't work with IMAP - don't even try)
  6. Close Mail Preferences
  7. From the menu bar turn on View > Organize by Thread if you haven't already
  8. Select the All Mail mailbox, then from the menu bar select Mailbox > Use This Mailbox For > Trash (this makes the Delete button in the toolbar work like Archive in Gmail)
  9. Repeat for the Spam mailbox - use it for Junk
  10. Repeat for the Drafts mailbox - use it for Drafts
  11. Repeat for the Sent mailbox - use it for Sent

That's it! Now Mail will essentially work just like the Gmail web UI, with one disappointing exception: when new messages arrive for existing conversations, Mail doesn't show the previous messages of the conversation in the Inbox, so you have to scroll through the reverse-order quoted text like a moron. I wonder if there's a way to use the Rules option to do this automatically... dunno.

Saturday, February 03, 2007

What You Don't Measure, You Can't Control

After this discussion on the GTD newsgroup, I picked up a copy of Mark Forster's latest book, Do It Tomorrow. I'm trying to see if there are any good ideas that may help me improve the effectiveness of my GTD system, and also just to find out what other systems are out there.

I'm only up to about Chapter 3 so far, so I won't go into a big compare/contrast analysis of his method, but one thing that I picked up straight away is his suggestion to try to quantify the amount of "randomness" in my day.

His idea goes something like this: each day is filled up with 2 types of activities - those that were planned, and those that were not. He calls the latter "randomness" - ie. things that randomly crop up and take up time, including things you might randomly just decide to do on the spot, like watch TV or chat with a colleague (or post a blog).

He recommends you make a plan for the day, his "Closed List", of what you are going to get done. The closed list has a line at the bottom of it, and you write down everything else you do during the day under that line. By doing this properly (which means honestly), you can numerically quantify what percentage of your day was filled with "randomness".

Putting the benefits or drawbacks of the "Closed List" concept aside for now, I definitely like the idea of a metric to find out unambiguously how much of my day is ruled by me and how much by my environment. GTD has an operational problem in that it's very easy to spend too much time Collecting, Processing, Organising and Reviewing and almost no time Doing any of the Next Actions on your lists. There's no framework or guidelines to maximise the Doing time.

I've always believed that you can't control what you don't measure. That's why the most successful thing I've ever done to lose weight is to religiously weigh myself every morning. Even when I'm not really trying to watch what I eat, just getting on the scales every day keeps the weight down - I assume it's due to some kind of sub-conscious mechanism that has control of my hunger impulse.

So I'm curious whether the same could work for GTD. David Allen recommends strongly against daily to-do lists, so presumably he doesn't agree with Mark Forster's "Closed List". I'm undecided - so long as the "Closed List" was made up of Next Actions from my GTD system, it seems like a reasonable approach. But, again, putting that aside for now, at the very least it should be possible to quantify each day how many Next Actions from my GTD system I do, and how many "random" other things I do. And just like weighing myself every morning, I reckon just seeing that number every day might just help keep my focus on the Next Action lists.

So this week I'm going to try an experiment: I will write down absolutely everything I do that isn't a Next Action from my GTD system, and at the end of each day tally up the Next Actions vs the Randoms. (For completeness, I will also track the hours I spend working on my GTD system as Randoms.)

I'll post the results of my experiment next week.

 

Saturday, January 20, 2007

Are Your Actions "Next" Enough?

If you're not getting things done, it's not GTD.

Early on, I often found myself looking at an action on my actions list, and thinking, "nah - I'm not going to do that now." It didn't take long for the alarm bells to start ringing.

I started asking myself why I wouldn't do that action now. In most cases, I found that the action wasn't "next" enough. That means I hadn't done the "processing" job properly because I hadn't whittled the job down to the very next physical action.

So now if I find an insufficiently processed action on the list that makes me want to avoid it, I just figure out right then and there what the real next action is, and usually I do feel like doing it straight away. I move the original, not-very-next-action to my projects list, and put the actually-next-action on my actions list, do the action immediately, and cross it off my list. Feels great.

Saturday, January 13, 2007

GTD Evangelism

A few months ago I was in bad shape. I had recently taken on a lot more responsibility at work, and found that the main thing I enjoy about work, Java architecture & coding, I didn't have any time left to do. More than that, I couldn't seem to find time to do the other stuff either. And on the rare occasions I found myself with a chunk of spare time to get some work done, I floundered, not knowing which of the hundreds of things I should tackle. This got me really, really stressed out.

Curiously, around the same time I was doing a lot of posting on the Java Posse newsgroup. Evidently I had no time to do any work, but I managed to make time for answering questions on a Java forum! Dick Wall, the guy who runs the Java Posse podcast, is also a fairly senior dude in his company. This made me wonder, how the hell does he find time to put so much work into the podcast, as well as do his job, and have a home life?!

I put this question to him, and his response included a reference to David Allen's GTD (Getting Things Done) system. I had a look at the website and although I was very sceptical I was also desperate, so I bought the book from Amazon, which arrived a couple of days later.

I started reading, and, as expected, it's very American-rah-rah which I suppose is to be expected. But, as I said I was desperate, so I kept going and pretty soon got very excited. It was clear from the first couple of chapters that this was going to be the answer to my problems - or at least, it had the best chance to be.

I read the whole thing in about a day and a half, then headed off to OfficeWorks. The book recommends a lot of specific stuff you should get, like an electronic label maker. I didn't see how that could be important (I do now), but I didn't want there to be any reason the system wouldn't work for me, so I just took everything literally.

My out-of-work life was a mess, to be sure, but it was my work situation that was causing me 95% of the stress, so that's where I went to work implementing the system.

The results were incredible. Within a week, I was feeling a LOT better. After 2 weeks, I had completely organised absolutely everything at work into the system, plus everything I could think of that I wanted to do with my team in the future. It was an awesome feeling - racking my brain, I could not for the life of me think of anything I hadn't covered. What I had in front of me was a beautifully organised filing system, lists of current and future projects, lists of things I needed other people to do, and best of all, a complete list of immediately doable things that would all contribute to the progress of my work. Now I would know exactly what to do when I had a chunk of time at my desk.

The effect on my stress was like magic. Since starting GTD I've been sleeping better, I feel generally positive and more energetic. Even more amazing is the effect it had on my team. The improvement is palpable.

I've been using GTD for 3 months now, and I've made many improvements to my system in that time. No doubt I will make more as I get better at it. I might use this blog to document those improvements as I go, to help people to whom I've been evangelising GTD. (I bought 4 copies of the book to hand out as Xmas presents!) I've also been watching and asking questions on the GTD forums on David Allen's website, mostly for clarification of various concepts presented in the book.

There are various software tools and add-ons out there for implementing GTD, and I looked into them, but the beauty of the system is that it is incredibly simple, and built of things that all of us already do (albeit incorrectly) to organise ourselves. So I've found the built-in features of my email applications (Outlook and Gmail) to be sufficient, although I have invested a lot of energy in getting those settings just right. I also have gone extremely low-tech for the non-digital parts of the system - for example, I now take a simple memo pad and pen to meetings.

I really think this has changed my life, and saved my career. It was clear to me already that I wasn't even coping with my current level of responsibilities, so there was no way I could take on more. And there are lots of non-work things in my life that haven't been progressing, which I feel now I can finally get moving on.

Gushing enough?