Image Description

A Developer's Day with GTD (Part 1)

This lesson is a part of an audio course Productivity Systems for Developers by James Bowen

The GTD workflow described in the previous lesson was quite involved, but it’s really simpler than it sounds. I’ll talk you through a typical day at my work, to show where GTD helps me out. The important thing to point out is that I write code first and foremost. GTD is there to support that, not got in the way. It’s like having my own personal project manager to set my priorities. Only it’s me. So I don't feel micromanaged. Far from it in fact.

My personal project manager has done the planning, so as a developer I am free to think hard about how to write good code. As David Allen himself says about the whole GTD process – “Your brain is for having ideas, not holding them”. Let’s take a look at a typical Monday for me.

Step 1: What’s in the Calendar

As I mentioned before, the calendar is sacred. Anything in there is priority number 1, and shapes my day. Monday morning 09:30-10:00 is our department-wide catch up. As soon as that finished, our team did its own standup. This Monday happens to be the start of a new agile sprint too. So we have a planning meeting from 11-12, my morning is a write off as far as any ‘deep work’ goes.

Incidentally, ‘deep work is the term’ (as I understand it), for cognitively demanding, focused work. There is an excellent book of the same name by Cal Newport for those of you that are interested.

I don’t want to start any dev for 30 mins and then start clock-watching because I have a meeting. This seems like the ideal time to check my email, and plan my projects. So between 10-ish and 11, I can plan ahead. Any time I have left between that and 11 am can be used to pick off easy, quick tasks.

Let’s go to the emails first, to see what has piled up there.

Step 2: Classifying Input

So I opened up my email and bang, 10 new emails, lucky me. Lucky since I’m fluent with GTD I can dispatch these with ease, and store them off as needed. I have OmniFocus and Apple mail on my Mac as my GTD and Email client by the way.

  1. My first email I can delete, it’s just stats for a system that doesn't really relate to me. (‘Delete it’ is my favourite flow)
  2. Second email, it’s a notification that someone has updated the Trello board at work. So I kick off my GTD flow.
    1. Is it actionable? Yes, I need to at least review this to see what’s changed, even if it ends up being nothing to do with me. So I quickly dive in and examine the details of the change.
    2. Can I do this in under 2 mins? Looking at the details of the change, yep, just a case of sending someone else an email outside of the project. So I ‘do it’ in under 2 mins. It doesn’t make it as far as OmniFocus.
    3. Onto the next email:
  3. Third email, more stats. Delete It.
  4. Fourth email, an email about appraisal time from my boss.
    1. Is it actionable? No, it’s about changes to the process, and where I can find it on the wiki.
    2. Stored off as reference data – nothing for me to do at this point in time.
  5. Fifth email, meeting request, accepted, nothing to enter in OmniFocus. However my calendar will be updated. It’s related to one of my projects so I won’t decline the meeting request.
  6. Sixth email, from one of the teams needing help on this docker uplift project.
    1. Is it actionable? Yes.
    2. Can I do it under 2 min? No, I need a full discussion with that colleague. So I am to ‘Defer it’.
    3. Does it relate to a project? Yes, this relates to a specific artifact that prints shipping labels.
    4. Since it’s more than 2 mins and belongs to a larger piece of work, this gets in OmniFocus. The task is called ‘discuss port mappings for debugging with Josh’. The task is assigned to a project called ‘label uplift’.
  7. Seventh email, from a different team needing help on this docker uplift project.
    1. Is it actionable? Yes.
    2. Can I do it under 2 mins? No, I also need a full discussion with that colleague. Again ‘Defer It’ comes into play.
    3. Does it relate to a project? Yes, this relates to a specific artifact that handles parcel collections.
    4. Since it’s more than 2 mins and belongs to a larger piece of work, this gets in OmniFocus. The task is called ‘discuss layer 7 changes with Nick’. The task is assigned to a project called ‘pickups uplift’
  8. Eighth email, I got an email from the systems manager about updating some wiki pages with our plan. But they haven’t really been clear about what they want.
    1. Is it actionable? Yes.
    2. Can I do it under 2 mins? No, I can’t do it myself. ‘Delegate It’ comes into play.
    3. Does it relate to a project? Yes, this relates to a specific project called production releases’.
    4. I fire off an email for clarification quickly, but don't hang around for a reply – I want to keep on processing input. I love the asynchronous communication of email sometimes!
    5. Since I can’t do this task myself, and it belongs to a larger piece of work, this gets in OmniFocus. The task is called ‘Simon to clarify format of report’. The task is assigned to a project called ‘Production release’. I also assign a tag called waiting., So when I next scan my projects, I know that this particular task is currently out of my hands.
  9. Ninth email – Engineering lead has sent emails about a virtual conference in November. Might be useful career wise/maybe not.
    1. Is it actionable? Well maybe, November is a long way off. And agile practices teach us not to plan too far ahead.
    2. Tickets aren’t available until October anyway.
    3. I store the email as reference, but also make an action in OmniFocus. I have a someday/maybe list. I assign a ‘defer date’ of October 2nd, so I know not to bother looking into the task before then. I may never get round to this, and that's fine too.
  10. Tenth email, a miscellaneous task from payroll about expenses.
    1. Is it actionable? Yes, I have to clarify the claim I made for a new mouse when working from home.
    2. Can I do it under 2 mins? No, we have a complicated claims system at work sadly. And I don’t have all the receipts to hand. ‘Defer It’.
    3. Does it belong to a multi step project? No, just a one-off task.
    4. This isn’t time critical, so it just ends up on my next actions list.

This sounds really labour intensive, right? I timed myself and it took me 7 minutes and 43 seconds. So under 1 min per email. Including typing out and sending 2 emails. Of course I have been doing GTD now for years, but once you’re on autopilot, you can expect these speeds, especially when you get good with your keyboard shortcuts. OmniFocus for example lets you convert Apple Mail emails into tasks, so you don’t need to enter much by hand.

If you use messaging tools like Slack, you can follow the exact same process. information on those channels just gets distilled into your calendar, reference data and GTD system. With a bit of practice you’ll spend under 15 mins to catch up on your daily commitments.

Let’s look next at the actions within OmniFocus. We’ve funnelled info and now we need to organise.

Share:
Image Description
Written by

James Bowen