In a previous blog post I mentioned that I have been using OmniFocus not only as a task planning too but also a task logging tool. I realized the mind-changing fact that in one of my sprint, I spent 20+ hours helping with or working on other teammates’ projects. This isn’t necessarily a bad thing, but it definitely reduces my time to spend on my own projects. Therefore I started using OmniFocus to log what I have done “sprintly.”

This post is just to log what my settings are in OmniFocus, and what I do whenever I need to log an entry.

OmniFocus setting

First, we need a project to put all those tasks. Let’s just call it “Unfunded Work in Current Sprint”. Then, create a perspective that looks like the following.

A couple notes on this perspective setting:

  • Project Hierarchy setting doesn’t make a difference, as I am using only one project to contain all my logged tasks.
  • The Presentation setting doesn’t matter too much either. I hope I could sort by task completion date, but it seems OmniFocus doesn’t provide such an option in a perspective. The closest setting seems to be sort by Changed, but that is prone to accident changes to history tasks.
  • The Layout setting is useful, because when I review tasks in this one-project perspective, some fields, such as the Project or maybe Context as well, are not quite useful, while the Estimated Duration is crucially important.
  • In Filtering, the availability is set to All, as I’ll always want to see completed tasks in this perspective.
  • Lastly, Focus setting is on the single “Unfunded Work in Current Sprint” project.

Task logging workflow

Whenever I finish some work related items that are not directly related to my sprint tasks, e.g., some meeting/chats with colleagues, some big code review, drafting long emails, etc., I’d invoke the keyboard shortcut for OmniFocus quick entry and add an item. When I do this, I would put an estimated time, and, right before I hit Command-K (Clean Up) to dismiss the window, I’d instead hit Enter, and then Space (so as to mark it as completed directly), and then do Command-K. The task item will end up in the project nicely, with its completed time as well as its estimated time logged. When estimating tasks, I use 15 minutes as a rounding interval, and do not log tasks that are smaller than 15 minutes.

Getting report on total hours worked

When I need to know the total estimated time I spent on some tasks, I’ll simply select those tasks and click a button based on a script (among others) by Dan Byler. Something like this will show as a notification.

Things to improve

Two small issues for now are (1) I am keeping all tasks in one project, and I want to keep them for reasonably long, so the perspective screen will become huge over time; (2) I have to create a dummy task with full of Emoji characters so that tasks from current sprint are better separated from those of previous ones (I don’t have to, but they are visually much clearer). These are definitely improvements I can make for this whole process, but I am quite happy (and well-informed) now about my how much of my time is not directly spent on my own projects.