An OmniFocus Post

A few weeks ago, Gabe Weatherhead invited me onto his Generational podcast to discuss task management and OmniFocus. The conversation covered a lot of interesting task management topics and covered some of the things that work (and don't work) with GTD.

I love kicking ideas around like this and it was interesting because it was clear that Gabe and I have dissimilar use cases even though we do a lot of similar things for a living. How you fit OmniFocus and GTD into your work and life can vary greatly and the key is finding out what works well for you and what you can leave out. The key is being experienced enough to not throw an essential baby out with the proverbial bathwater and that's where things get tricky.

The podcast was wide-ranging and covered a lot of the nuances of how we use GTD to actually get things done. Oh and stay tuned because there's a lot more great stuff coming up on Generational.

Thanks to Michael Schechter for listening as well as his comments both on his blog and Twitter. I thought he summed things up really well with this quote [1]:

In a recent episode of Gabe Weatherhead’s Generational podcast, he was talking to Jeff Hunsberger about the app. Jeff was sharing how flexible the app is, while Gabe commented that he occasionally finds himself frustrated by its rigidity. I think that the truth lives right between those two statements, that OmniFocus is flexible as to which rigidity you settle on. You have to choose a way to use the app, even if that means accepting a few trade-offs along the way, but when you take the time to find a way that works works for you, I doubt there’s another application that comes close.

  1. This is a classic post, by the way. ↩

OmniFocus and GTD for Technology Team Managers

In contemplating how to frame an article around how I use OmniFocus for work it started becoming obvious to me that the type of work I do makes a huge difference in how I use the tool to begin with.

As a technology team manager, I oversee several teams of software developers who write and QA software that runs the gamut from iOS application development to database application programming. At any given time there could be two to three major projects running across several large teams or a more fragmented approach which might encompass a dozen simultaneous projects in various stages of completion involving just a single resource.

Despite this abstraction, my daily work still involves working through discrete action steps. Work projects rarely involve the type of hands-on things that I might track in OmniFocus for home projects, however. The things I generally need OmniFocus to help me with for work involve reminders for sending critical emails, scheduling meetings, following up on requests, preparing for meetings etc.

One of the general things that is thrown around a lot in blog posts about productivity is something like "if it was truly high priority you wouldn't need a reminder", but I think that's bullshit. When you have several projects going on at once, all needing at least some portion of your attention, it is very easy to lose critical threads as you context-switch between all of the things that go on in a typical day's chaos.

How Do Technology Managers use Task Manager Applications?

In the past few years, I haven't had a day when I didn't meet on at least two ongoing projects. Usually it is many more than that. All of the projects are in varied states of completion. Some of those states might be:

  • "idea" stage
  • business concept
  • business requirements
  • technical requirements
  • QA planning
  • troubleshooting
  • risk assessment and management
  • budgeting
  • resource planning

That's just to name a few. In each one of those little meetings -- it might be a simple hallway conversation or a full-blown project kick-off meeting lasting hours -- the goal is to come out of them with actionable, trackable responsibilities. While the project manager for each project will be tracking individual tasks, I am responsible for seeing my tasks to completion and my method of keeping track of those things needs to be bulletproof.

As I've written about extensively, OmniFocus is the key to all of these things for me but I've found that I use OmniFocus a bit differently than other people and I believe that owes simply to my role as a manager. Rather than write something about how everyone should use OmniFocus the same way, irrespective of their role, I thought it best to go in depth with how I use it given what I do.

So, for some of you, this won't make any sense and using OmniFocus or GTD this way will likely lead to some confusion. I doubt the way I have outlined below will work for you if you're a teacher or a project manager, for instance. It might lead to some interesting ways to think about how you use the tool, however, so at least you'll get some new perspectives if you happen to wade through what will likely be a very long post.

The Importance of Contexts

One thing that was a bit of a revelation to me, after the initial three week period of hammering out a viable GTD workflow to help me with work, was how major a role Contexts played compared to Projects. To review the basic concepts on these and how most people use them, refer back to my earlier Beginning OmniFocus posts on them.

As a technology-based manager, however, my need for Contexts runs a bit counter to the ideal. I use Contexts throughout the day to focus myself depending on where I am, what I'm doing or who I am talking to. I touched on this point briefly in my Context post but today I'll go into a lot more depth.

I have the following Context types:

  • Team/Person Context - These are arranged hierarchically with team names defined as a folder and then team members rolling up to each team type. I have "Dev", "QA", "IT", "Management" and "Peers" with people defined as Contexts below each. If I have an item to cover in a QA team meeting, I'll put it in the general QA team context, but if I need to speak to a specific team member, I'll assign it to their individual Context. These are helpful when I'm in a hallway conversation with someone about a specific project and I have a few other things that they need to know about. Each item that I need to address with them is under their individual Context. Obviously this wouldn't work with huge teams but I work at a small company and this works out really well for me.
  • Stakeholder Context - These are also based on specific people but I keep them in a Stakeholder folder given the disparate teams they may belong to across the organization. These are tasks that I need to complete when speaking with or interacting with them directly (fact finding, spec resolutions, etc.)
  • Location-based Contexts - Work, Home, and Phone are the three that pertain here although things like Home and Phone can pertain to Home-based projects too. Here's where we start seeing the strength of the GTD Contexts. If I am at home and have some spare minutes to get my phone calls out of the way, it is useful to see them all listed in one Phone context.
  • Standing Meeting Contexts - I have created Contexts for weekly/monthly standing meetings. I add items to these when I know there are topics I need to cover in those meetings and don't want to lose track of them. These items become my agenda prior to the meeting.
  • Email/Computer - Any items that I need to research, emails that need replying to, websites that I need to read get filed here. So when I'm replying to email, irrespective of project, it happens when I'm taking care of my "Email/Computer" Context.
  • Management - This is another person-based Context which is a catch-all for anyone I need to deal with politically, cross-departmentally or otherwise. My boss is in this group as well as other SVPs across the organization. It also contains peers and people I might require to resolve organizational needs like HR and Finance.
  • IT Context - A person-based Context containing IT personnel who are pivotal to completion of projects or resolving issues that members of my teams might be having. These types of items can take time and a lot of back-and-forth to resolve so having them in a specific Context keeps me following up on them often enough to get taken care of.
  • Thinking - As I wrote a while back, this is a very untraditional Context in the GTD methodology but I use it to file away things that I need to lock the office door to think, whiteboard or brainstorm about. It doesn't get used that often but having this catch-all keeps it from getting lost in a sea of other tasks in more targetted Contexts.

As you learn after doing GTD for a while, Contexts are the single-most important construct in the GTD methodology. After you spend months looking at things in Project view, as long as you haven't ignored Contexts completely, something will click and you'll understand how incredibly useful they are and why, once you've used them, using a bog-standard list of "Things To Do" in the Reminders app just doesn't cut it anymore.

Well... Then What About Projects?

Projects obviously have their place but because GTD isn't a project management methodology and because I'm not a project manager in the strictest sense they take a backseat to Contexts when it comes to actually working on things. Projects still are necessary for me, however, so don't think that I threw the baby out with the bathwater. It is just that I think about them differently than in the typical GTD sense.

When a new project is announced, I create a Project for it in OmniFocus. It is basically a dropzone for new tasks before they get Contexts assigned to them. It also helps to set something up like this early on in the project lifecycle because you can do a full GTD "capture" about the project, cataloguing all of the things that you need to do to get the project off of the ground (things like assigning resources, checking project timelines for conflicting due dates, vacations etc.)

It is fine to add a project, give it a descriptive name (or a codename) and leave it empty until you can think of things to add to it. The typical project in GTD is one where you can define the goal and break it down into a series of actions but, at this point in a project lifecycle, that may be a waste of time. Given how little you know about what the completion state is, it's not really feasible yet. What will generally happen as the lifecycle moves forward is that sub-projects will present themselves -- ones that require discrete actions steps to complete -- and they will take up residence under each Project. I suppose you could say these capital-P "Projects" serve as overarching buckets into which many sub-projects will live, each with a singular, defined conclusion and all playing a part in marching the project towards completion.

The Project is also key when doing Reviews. They are a good place to take a focused look at all of the things you're on the hook for (the "what") related to a given project, regardless of Context (the "how" or "where").

Reviews Are Your Friend

Reviews are essential to the care-and-feeding of a typical GTD workflow. As I laid out in my previous article focusing specifically on Reviews, doing a full review can have the feel of a reset when things are getting a bit ragged around the edges. As you scan through your tasks, deleting and adding new items as needed, you get a more well-rounded view of your project and also give yourself space to think outside-the-box on items that may have been escaping your purview when wallowing in the trenches, day to day.

I generally cycle through a variety of review types. They all have their place and some are more important than others at different times in a project's lifecycle.

  • Project - Project-level reviews often happen in the other review cycles as well but, more specifically, they happen during project status meetings. These meetings present the ideal time to cross tasks off of the list and interact with individuals you have created Contexts for (developers, QA folks, stakeholders and project managers). You can even use the tasks outlined in your project as an agenda if called upon to do so, checking in with each contact and crossing things off of your list when you verify they're complete. It is a good time to go about adding tasks you will be responsible for as the project reveals itself over the intervening weeks or months. The worst thing that can happen is that you don't capture a critical item and the project ends up getting delayed because you didn't meet a responsibility. This can present an opportunity for a real life case of "GTD to the rescue". Between your trusted capture system and an approach to the review process that keeps things front-and-center, you can virtually eliminate this type of thing from taking you by surprise.
  • Daily - Every morning I check my "High Priority" perspective to see what is critical for a given day, but I also spin through the project view and get a sense of things that might be upcoming. If I get some time amidst the higher priority items, it's sometimes useful to cross some of these off the list as well before they become an issue.
  • Weekly - Punctuating the week, usually on Friday morning, I do a full weekly review of everything. All home and work Projects get examined and tweaked as necessary. It sounds like a lot but, if you've been doing your daily reviews, it usually only takes a few minutes.

As I mentioned in my Review article, deleting tasks is just as powerful as adding them. It becomes even more pivotal as you function in a managerial role. It also grows in importance simply because you're aiming at a moving target with development projects -- often the state is not completely known at the project's inception and, adding to the complication, it is also changing on a daily basis.

Like the saying goes, project management is like trying to shoot a bullet with a bullet. The best defense against being out of sync is to delete things that don't matter anymore and add things the second they reveal themselves. The Review is the single best time to do that.

In the Trenches

As you can see, all of these OmniFocus articles I write build on each other. They are all describing a comprehensive methodology that took a few years to arrive at and was adapted to serve my unique needs. As this website evolved, the feedback I was getting from readers led me to believe that perhaps my needs weren't all that unique.

Many of the GTD books and articles out there point you towards this ideal set up where we have example projects like "Mend the roof" and such. These types of projects have fairly well-defined action steps and the end result is clear -- a mended roof.

Software development is a messy business. Development projects don't appear, pre-formed, with a clear view from the first step to completion. Often, when new opportunities arise, the completion state isn't even known. In that case, having a flexible and adaptable system that allows us to manage the disparate pieces of the project for which we are responsible can mean the difference between "shipping" and an over-budget, delayed nightmare. It also keeps our finger on the pulse of the teams and stakeholders involved which is a key job of the manager.

That said, where software is concerned, there are only so many parts of the process which we can hope to control. Stakeholders often interact with clients who rarely feel the pressures of time and expense and for whom it is easy to make demands that exceed the bounds of both. Specifications can take longer than anticipated to complete which will, in turn, hinder your team's ability to generate technical requirements and test plans. Each step is a link in the chain and, as a technical manager, your job is often to simply put your team in the best possible position to succeed despite all of these issues.

Putting a workflow and methodology in place like the one described above is not the only way to do it, but it is the one I've arrived at that works the best for me. Hopefully you can find something in that heap of words that can help you too.

Hazel Rules for a Paperless Office

After reading the post yesterday about my paperless office, Twitter user @bhdicaire asked me if I could post some of the rules I use in both TextExpander and Hazel to keep my paperless office setup humming.

Here are a few:

This Hazel rule is a name-based rule to move files about my car service to a Car > Service directory.

This Hazel rule is a name-based rule to move files about my car service to a Car > Service directory.

This Hazel rule is a content-based rule to move files about my car service to a Car > Service directory.  Note that when I process files using content, I add other rules to rename the files as well.

This Hazel rule is a content-based rule to move files about my car service to a Car > Service directory.  Note that when I process files using content, I add other rules to rename the files as well.

Here are the file-renaming patterns for the step above.

Here are the file-renaming patterns for the step above.

Here is another content-based rule.  This one takes a scanned electric bill, evaluates it based on the string "PECO", renames it and moves it.

Here is another content-based rule.  This one takes a scanned electric bill, evaluates it based on the string "PECO", renames it and moves it.

This is a rule that uses part of the name ("taxes") but then makes sure they're mine before moving them to their final resting place. I'm sure this was for an edge case when I was scanning the hundreds of documents that eventually made up my paperless archive.

This is a rule that uses part of the name ("taxes") but then makes sure they're mine before moving them to their final resting place.  I'm sure this was for an edge case when I was scanning the hundreds of documents that eventually made up my paperless archive.


The rules are pretty simple. I don't have a lot of directories that things get filed into but it is key that you can find things easily once they're filed. Don't create folders that are too deeply nested or you'll run into trouble.

I have about 30-35 Hazel rules set up to handle almost all of the variations that come in via scanner. The rest are handled through two simple TextExpander rules that set up a file name based on month or day. I just modify them with keywords to help Hazel figure out where they go afterwards.

I hope this little excursion into my brain wasn't too terrifying.

Frictionless

I'm feeling a lot of friction lately, and sadly it involves some of the tools that I love the most. What do I mean by "friction"? The road has been traveled by people a lot smarter than me in various ways, but I have my own views on it obviously. So let me explain in my usual fashion -- with words. Lots and lots of words...

What I Need

I have several needs that I look to technology to fill throughout the day.

  • Task management
  • Calendaring
  • Note taking and note management
  • Phone calls
  • Social Networking

Each one of these needs can be taken care of in a myriad of ways these days. I can tackle them on my Macbook Air, my iPhone or my iPad. Rarely do I use paper and pencil or notecards because (a) I'd lose them, (b) they're not searchable and (c) I can barely read my own handwriting.

The tools we have access to today through our technology are staggeringly useful. You can tell by how much I write about OmniFocus that I think it is a fantastic tool for organizing my thoughts and tasks. Lately, however, some apps have entered the picture that are better suited for doing certain, very specific things. Trying to integrate them into my daily routine is causing friction because the decision of which tool to use gets just a little bit harder.

What I Have

Part of managing my tasks is capturing them in a trusted tool. Another big part of taking care of them is having an effective way to remind myself to do them. OmniFocus for iPhone and iPad have integrated location-awareness. I can add a location to a Context (which represents where something gets done) and, when I get near that location, my OmniFocus task will pop up. That sounds pretty frictionless.

Recently, however, a few other tools have come to my attention -- each excellent at what they do. In fact, they are perfect fits for each of their respective solutions but something happens when you go from one do-it-all tool to several tools, no matter how well they fit the task. You end up with those moments where you need to figure out what tool to use for a given situation.

It's probably best to illustrate with a few examples.

Location-Awareness

Returning to my earlier comment about location-aware applications, Checkmark is an app that has ended up on my Home screen recently. It's a reminder app that features an excellent location-based system with geofence sizes and other great features.

But, as I mentioned, OmniFocus has location-aware features too, so here's where the friction comes in.

Location-awareness-based tasks can fall into Contexts that are also clearly place-based. Say I'm building a fence and I need to buy something at Home Depot. If I have my local Home Depot set up as a location Context in OmniFocus, it's natural to put the task there. Where does Checkmark come in then? Well, if I was thinking straight, it probably wouldn't.

Looking through my locations in Checkmark, none of them are very different from the Contexts I have set up in OmniFocus. It seems like a no-brainer just to ditch Checkmark and double-down on OmniFocus but things are never really that easy (or are they? Keep reading...).

I tend to use location-aware task reminders as one-offs. For instance, I had to remember to give a case of empty beer bottles used in homebrewing to a co-worker the other day. They key was remembering I had to do it as I drove into the parking lot at work, giving me a chance to park next to his car for an easy transfer. I didn't really need to catalogue this one-off task in OmniFocus and I definitely didn't want to set up work as a location-based Context in OmniFocus because I'd get task reminders by the truckload when I drove into the parking lot. In this case, using Checkmark seemed like a good choice.

Once I started using Checkmark like this, I thought it was great. I decided to pull all of my locations out of OmniFocus and just rely on Checkmark as my locale-aware reminder tool. The fine control over range, the proven accuracy and the sweet interface all helped ease the decision. One side-effect of this is that there are times when I need to have tasks mirrored on both apps, but it happens rarely.

Still... that's quintessential friction.

Recurring Events

Recurring events in OmniFocus work pretty well. Due, however, is custom-built for recurring tasks. It has tons of options to manage them and, maybe more importantly, if I have a singular task that isn't tied specifically to another project, maybe its better to keep that out of my Single Action Lists and set it up outside of my OmniFocus database.

So, when I come up with an idea for a recurring event, I'm faced with a choice. If it's part of a project, should I put it in Due? That doesn't really sit right with me. Should I set it up as a recurring task in OmniFocus? Then I need to wrestle with OmniFocus's recurring task handling and, wouldn't it be better just to have all recurring tasks in one place (Due, in this case)? Friction...

Friction and Capture

With the appearance of the excellent Launch Center Pro, I seem to have picked up a bit of friction with how I capture my tasks.

OmniFocus is ubiquitous on my Home screen but Launch Center Pro has provided a ton of flexibility for capturing tasks with its automation features and decent speed. I'm all for saving a few clicks -- it just speeds things up and makes me more efficient. It gets things out of my head and into my Inbox where I can deal with them later.

Having Launch Center Pro, however, sometimes adds a few clock cycles while I reach for the OmniFocus icon thanks to muscle memory and then slides down to the Home row of icons to select Launch Center Pro, then select OmniFocus and then enter a task. Then, after the task is entered, it bounces me to OmniFocus anyway, which can take a few seconds and then I can finish entry. Sometimes I want that fine control, and sometimes I just want to force something in quickly.

While I love Launch Center Pro, it has definitely wreaked havoc on my muscle memory and added a ton of friction to things I never had to think about before.

There are too many good note-taking apps

There are some seriously good note-taking apps out there. Drafts is amazing and I use it all the time, but when is a good time to just stick a note in OmniFocus? When is a note actually something you need to capture into the Inbox? Maybe I should add it to an existing text document in Dropbox. Do I use Scratch, Notesy or Nebulous Notes? Why not Writing Kit or Byword, for that matter?

The rough part is that all of the apps I just mentioned are excellent and all of them can be put to the task of pretty much any Dropbox-related text file job. So how do you choose which one to use and where? Oh man, this is the king of friction, if you ask me...

This is a pretty personal topic so I won't dwell too much on it. I'm sure what works for me won't work for the next person. For my main note-taking needs, I go straight to Drafts. There's an "Add to Omnifocus" feature there, if I want to capture it to my Inbox. There's a nice little archive of notes that I've taken recently in case I want to go on a little retrospective and it integrates decently (but not perfectly) with Dropbox. It's also very fast from the time you tap the icon to the time you can start typing, which is a pretty key feature as well.

Phone Dialers

Even my phone dialing has friction. I have Dialvetica on my Dock which seems to have gotten less efficient lately. Being able to call someone with just 2-3 taps when at a red light is great, but honestly, Siri does just as nice a job and its hands-free. If I can't use my voice, for whatever reason, the extra taps to use the Spotlight search to find a contact isn't too onerous.

In the end, I think it comes down to this: it is more important to reduce friction than have coverage for an edge case.

It should probably be notable that Apple's Phone app doesn't enter into my "easy wasy to call someone" list of apps. Maybe Apple should look into that...

Calendars

Calendars are another area where I look to my iPhone to solve problems. I've often written about how great Week Calendar is on this site. Where it excelled was its ability to parse and handle calendar events with dialing involved. Unfortunately for me, meeting invites use all sorts of formats and often they won't get parsed correctly so I end up having to do things the "old fashioned way" with paper and pen. This is obviously a non-starter when driving.

After doing the research and finding easy ways to set up contacts for automatic script dialing I seem to have solved my conference call meeting issues so then my search for the best calendar app resumed. Not because Week Calendar was bad but because I love finding the best app for the job.

Coming back to Calvetica has served me well for the last few weeks. It has made some vast interface and display improvements since I last used it so I'll be sticking with it for a bit.

Of course, adding to the friction, the iPhone Calendar app has to stay fairly handy because it is my inbox for copious MS Exchange-based meeting invites and is the most risk-free way of dealing with them.

Social Networks

As I wrote the other day, App.net has gained a lot of steam in the last few weeks. Combine this with the terrible decisions Twitter has been making lately and the choice gets clearer and clearer that we need a new way to go.

While I do love the text firehose of the funny people on Twitter and the news that flows easily (and generally more accurately) through it, the service is making some serious missteps with regards to their community. At times it seems like those who make decisions there are thumbing their nose at the very crowd that helped propel them to their success.

That said, "everybody" is still on Twitter and there's "only" 17,500 people on App.net at the time of this writing. For now, I need to have both available and check both regularly. That's the definition of friction right there. Add in my recent interest in Glassboard due to a GTD board and beer board and I have three social applications that I like to keep up with regularly. Sometimes it feels like work.

What's a slightly disorganized person to do?

The upshot of friction is that it clutters the mind to varying degrees. It prompts me to come up with ways to manage these choices, come up with rules to decide when and where I'll use one tool over another. Then I need to commit these rules to memory. OK, maybe it's not as dramatic as that, but on the surface it's not as easy as just jamming it into OmniFocus and finding a way to make it work.

Talking about how distracting friction is won't get my problems solved. As much as it pains me to not have the perfect tool for the job, I have come down on the side that the most efficient tool for most cases is the tool I want to use and edge cases be damned. The extra brain cycles used over the course of the days and weeks trying to manage different task repositories, calendar apps, etc. is not overwhelming by any means. It's just annoying and I have enough things that annoy me right now.

So here's what I'm going to do.

I'm removing the following apps from all of my devices:

  • Checkmark
  • Dialvetica
  • Week Calendar
  • Due
  • Scratch
  • Byword (for iPhone -- the Mac app gets used everyday)
  • Writing Kit (for iPhone -- the iPad app gets used everyday)

All task management, location aware or not, will be handled via OmniFocus. All recurring events will just have to be "good enough" the way OmniFocus does it and I'll live with whatever quirks come up.

For setting timers, I'm going to integrate the Timer app with Launch Center Pro since App Cubby makes it easy and use Siri when it's more convenient to do so.

Calendars are going to be handled by Calvetica for the forseeable future. Week Calendar served me well, and I can't discount it making a comeback, but for now, having three apps doing the same thing is just stupid.

Social networking-wise, I'm going to reduce my footprint on Twitter as much as I can. At that point, I will focus my new posts on App.net and hope that Mac and iOS clients appear quickly that provides a coherent, integrated and cohesive solution (much like Tweetbot was doing on the Twitter front). Glassboard will get perused once a day and maybe more if I have a bunch of time on my hands.

Conclusion

This should be an interesting experiment. Reducing the number of apps and deleting ones that I had viewed as "essential" to my workflows may be jarring at first but I suspect that the reduction in friction will make up for it quickly.

I love trying new apps and seeing how they solve old problems in new ways but if they don't replace an app, I doubt they will stay around for long from now on. The price I pay for those $.99 apps is just too high.