Personal Agile Task Management with OmniFocus

The Zenoss dev team uses Rally for project management. It's fine for planning the activities of the entire team, but as a personal task manager I find it pretty useless. Its interface is unwieldy, and it doesn't allow for more or less fine-grained tasks. Great to get a high-level view of an iteration; bad for any low-level organization.

Since I like OmniFocus for my own task management, I've developed a system that mirrors Rally at the highest level, but allows for much more versatility at a lower level (not, of course, restricted to Rally; should function perfectly well for any Agile project). OmniFocus and Rally sync up surprisingly well, as far as that goes, but OmniFocus lets me take those extra steps to get myself an actual task list for the day and switch priorities on an hourly basis.

First, the basic translations:

Agile ConceptOmniFocus Analogue
IterationProject Folder
User StoryProject
TaskAction
EstimateEstimate

Now, the details. I've organized my project folders at the top level according to my various roles; under "Zenoss Developer" I have two folders, Current Iteration and Backlog. Since I don't use OmniFocus for project planning, just for task management in the foreseeable future (which usually doesn't include next iteration), there's no need to have folders for every iteration in the release.

When I break a project down, I put the resulting projects and tasks under the Backlog folder, in subfolders according to feature ("User Interface," etc.). I also have a single-action list called Tickets into which go actions representing tickets I need to fix. I try to include time estimates where appropriate.

After we finish our iteration planning, I modify the projects in the Backlog folder with any changes, then I drag those projects and tickets planned for the iteration into the Current Iteration folder. I then break down tasks into sub-tasks for the nitty-gritty stuff that's too small for Rally but for which I still want a reminder.


When I create a project based on a user story, I use a template prepopulated with the tasks associated with every user story—code review, running unit tests, communication with QA, etc. To this I add the tasks unique to the particular project. This cuts down on the drudgery of data entry while ensuring I don't forget anything. Contexts are all preset as well.


Now my iteration is easy to see (and manage) at a glance. I have a "Current Iteration" context focused on the project folder, so I'm not distracted or overwhelmed by the entire project at once. When priorities shift, I can change the order of the projects within the Current Iteration folder, or move things in and out of the Backlog folder.


When the iteration nears its end, I've already begun to do some of the planning needed for the next iteration simply by virtue of using OmniFocus in a way compatible with Rally. Anything left in Current Iteration gets split to the next iteration, and whatever's at the top of Backlog gets dragged into Current Iteration to fill in.

I don't worry too much about time estimates in OmniFocus, although I do make some attempt to populate the field just for the sake of keeping the information at hand. But generally I leave the reconciliation of my velocity with tasks to iteration planning in Rally.

Anyway, this little system works pretty well for me. While at a high level it mirrors Rally, I also get the benefits of sub-tasks and user story templates, as well as integration with non-Zenoss-related actions.

How do you reconcile your Agile project with personal task management? I'd love to hear your methods in the comments, OmniFocus or no.

4 comments

  • Chuck McGinnis  
    December 11, 2010 at 9:34 AM

    This seems very practical, but are you using tasks and IDE integration with Rally? I have thought of doing this approach, but as I would have replicate all of the tasks and actuals in both systems, I had sort of abandoned the idea as too much work.

  • Unknown  
    January 5, 2012 at 1:01 PM

    Ian,

    Any chance you could tell me how you sync from Rally to OmniFocus?

    I am unable to find any documentation on how to actually sync one to another.....

  • Ian McCracken  
    January 5, 2012 at 1:17 PM

    Manually. There are APIs for Rally, certainly, but I haven't investigated in depth whether they'd be sufficient, and then manipulating OmniFocus via AppleScript would be exceedingly tedious. So yeah, it's a manual process that I just treat as a pre-review of the iteration to come.

  • Scott Denver  
    October 28, 2014 at 8:21 AM

    Omnifocus is one of the best tool ever I have come across and have practically worked with. One more tool which is almost similar in terms of the functionality with Omnifocus is the cloud based task management software from Replicon that makes a hassle free experience with the task management and also the tool is featured with the user friendly and calendar based interface which makes it an intuitive tool to work with.

Post a Comment