Using OmniFocus and Project Management Software to Get Things Done on a Team

Posted: March 05, 2012 Comments(3)

Organization is a big deal at Iron to Iron. One of our founding principles is to be as efficient as possible without degrading quality in the least. We do that using a formulated process in conjunction with a toolset that assists us with our tasks. One of our solutions is activeCollab, a self-hosted Web application that helps us manage our projects. If you’re familiar with Basecamp, activeCollab is a piece of software similar of Basecamp you’re able to host on your own server as a way of not paying a monthly overhead. Without going into too much detail or design zealotry, we’ve used activeCollab for some time now and are pleased with what it helps us achieve concerning day-to-day organization and communication.

We feel that project management software is an essential ingredient for succesful client work. Email is sloppy, phone calls are inconvenient, and people in general (ourselves included) are both forgetful and disorganized. Project management software for us is a shared email client, calendar application, and notification center that leaves responsibility up to the people using it.

We’re very up front in conveying our perception of activeCollab to clients through explaining the role we see it filling throughout the project. Unsurprisingly, clients have sometimes resisted wanting to stray from their familiar (and forgiving) email communication policy, but we’ve heard “the email excuses” far too often to let that slide. If a client insists on not using activeCollab, we’ll go out of our way to copy and paste their emails as new threads in activeCollab and repeat as necessary. It may sound distrustful, but it’s not. We simply want to remain accountable and organized and having a public space to do so is one of the only ways to accomplish that.

Project Management software is only as useful as you make it. There are tons of features in activeCollab that we haven’t fully utilized yet. For example: Checklists & Milestones. Checklists are mostly self-explanatory, but to elaborate: activeCollab allows you to create any number of Checklists with Tasks assigned to people within them. Additionally, you can create Milestones in the system as well. They facilitate the creation of date-based checkpoints within your project to help ensure you’re on schedule to meet any deadlines that have been put in place.

While these features are well and good on their own, activeCollab has some bits of helpful UI scattered throughout that reference these items and give you an overall feel for the progress of the project as you’re perusing the submitted content.

Trouble for me personally arrives when you have other (possibly better or preferred) systems for keeping track of what’s left to do and when you’re going to do it. In that case activeCollab and therefore your team nor your client, have any idea how far along you are with the tasks at hand. I’ve been struggling with how to better utilize activeCollab to not only give Kevin a better overview of where I’m at with tasks (and vice versa) but possibly most important: the client as well.

In my case the particulars surround a daily ingrained pattern of using OmniFocus for (personal) task management, and comparing that to using activeCollab for business (public) purposes. I realize that this entire article can be responded to with a simple suggestion of ditching OmniFocus in favor of using the centralized (likely Web app) system I’m after, but I digress.

OmniFocus is The Collector

I’m a long time user of OmniFocus and at this point it’ll be a frozen day in h-e-double-hockey-sticks before someone prys it from my cold, dead fingers. I really enjoy the workflow that comes with the GTD process and it’s helped me to be targeted with my time. I’m sold on it being a native application especially given the fact that I use it in slightly different ways depending on whether I’ve got my computer, my phone, or my iPad.

I’m at a crossroads though: is it better for only me to know everything about what I’m working on by sticking with my very personal and personally preferred system, or better to foster an essential ‘team’ aspect of a project. Naturally team cohesiveness is more important than selfish preferences. There’s got to be a way to accomplish both, right?

Single method of capture

They key point here for me is to ensure that OmniFocus remains the one stop shop for me to brain dump into an Inbox. It’s the essence of GTD and one of the core reasons I feel that it works for me. activeCollab could accomplish this, but OmniFocus handles both my business and personal tasks so I wanted the activity of recording something to be second nature and require no prerequisite conditions to be met. I don’t want to have to conciously decide “this is a business related task, enter it in activeCollab” or “this is a personal task, OmniFocus it is”.

Further, using something like activeCollab for brain dumps doesn’t make as much sense. I can sit with OmniFocus for a half hour and think about anything and everything I’ve got to get done without worrying that there’s any sort of permanence to my submitting an action. With activeCollab things are designed differently, you add a task and it’s meant to stay there until it’s done. It’s much less for “note taking” if you will.

With an established Inbox routine, it goes without saying that at any given time my Inbox could have a number of items that should be listed in activeCollab. How should that be handled? Managing two separate lists is completely counterproductive and they’d rarely (if ever) mirror one another.

My goal with task management is to remain accurate to the real-world circumstance surrounding the progress of a project. Checking off 23 tasks within a minute or two of one another because I was only keeping track of their status in OmniFocus doesn’t help anybody, it just floods inboxes with notifications from activeCollab. A flood of notifications are much less likely to be read, resulting in frustrated clients asking questions that should have been answered by notification emails and is therefore now frustrating you.

Potential solution

One way to go solve this issue would be to assign a Context of activeCollab when entering the item into OmniFocus. From there, when I clean my Inbox I can simply enter the task into activeCollab, remove it from OmniFocus, and be on my way. It’s a bit more work, but it leaves us with focused task lists. You’d need to include this step into your workflow, but you should be conciously reviewing your Inbox at periodic intervals anyway.

The biggest problem here is not being able to use OmniFocus to manage the completion of projects and therefore get an overall view of everything I’ve got to get done all at once. That would require a hybrid of switching between OmniFocus and activeCollab in an effort to gain a more high level picture of overall progress.

Additionally, instead of a flood of ‘success’ notifications, clients may receive a flood of new Task notifications, but in this case project management systems usually only send emails to those assigned to a task, removing the liklihood that numerous emails would be sent to a client (or co-worker) as you were migrating from OmniFocus into activeCollab.

activeCollab is The Communicator

The one thing OmniFocus doesn’t do well is be a team player; it wasn’t designed to be and honestly it shouldn’t be expected. That doesn’t remove this problem from my day-to-day workflow, though. In order for a system like activeCollab (or even Basecamp) to work effectively, it needs to be the hub of communication and it needs to be used consistently. The minute other tools are used is the minute the project changes course and opens the doors (wide) to miscommunication opportunities, even internally.

It’s important for me to keep in mind that the core issue is not that of communication in general, but communication of tasks. Do all tasks really need to be communicated? Personally I don’t think so. I try to keep a detailed log of what I need to do insofar as breaking down my workflow schedule on a per-screen basis. I don’t think Kevin or my client need to know that the markup for Page X has been completed, at least not during the initial bulk development cycle.

They are interested, however, in the completion of the dev site as a whole for example. At that point there’s a reaction to be made on their part; there’s something to see, something for them to do. To that point it doesn’t sound like the issue is as big as I’ve made it out to be, but it in a way comes back to the progress aspect, the communication of that progress.

Keeping these tasks communicated allows the team to get an instant gauge as to how far along the project is and intermediary notice surrounding whether or not a milestone will be hit. Of course there are nuances in how long one task will take versus another, but that comes down to your style of recording tasks in the first place. If you’re one to have “front end development” be a single task versus breaking things down further, this gauge will be completely useless to anyone but you who is actually doing the work. In essense you’re defeating the concept of a ‘progress meter’ anyway. When it comes to Milestones you should have enough of a grasp on your task list to determine whether or not your to-dos will be complete in time.

It’s tough for me to draw yet another line between tasks that should be completed versus those that don’t need to be. That’s the point at which I tell myself I’ve overcomplicated the issue as a whole, but I can’t stop thinking about it.

But what about Issues/Tickets?

To me, there is a significant difference between a Task and an Issue (or Ticket). A Task is something in the pipeline, yet to be started. An Issue is something that needs to be changed in an existing system. Tasks are created internally while Issues can also be created internally or submitted externally by the client.

Enter in yet another piece to the puzzle: GitHub (or version control in general). A number of our projects are hosted on GitHub, and their Issue tracking is a stellar feature in my opinion. In particular I’m a huge fan of commit messages being linked to specific Issues. The trouble therein lies with access to GitHub to submit the Issue in the first place.

I’m not going to request that a client sign up for GitHub in order to submit Tickets. They’ve already got an activeCollab account, and explaining the purpose GitHub would require an explanation of version control which leads down a rabbit hole of absolute worthlessness for a client. For our purposes, clients will be instructed to enter Tickets into activeCollab. Those Tickets count towards overall progress on a project in activeCollab, and it just makes sense for the Ticket Inbox to be there.

The only hope for an automated solution here is GitHub integration within activeCollab. It doesn’t make sense for me to copy over client submitted activeCollab Tickets into GitHub Issues, else we’re again dealing with the (destined to fail) management of two separate systems. Until GitHub is integrated, Issues will need to be left out of the mix to an extent. It’s not a deal breaker for me, as the Issue integration provided in GitHub is unique to them and not essential to a client service workflow in comparison to an open source project.

Luckily, activeCollab has it’s own Ticket management solution which I think will work well given the circumstance of it already being integrated into the software we use with our client and not needing to explain yet another system for them to learn and use. Tickets are something that can be managed in activeCollab and the act of logging in daily will remind me there are things to do for a particular project.

Chances are a Ticket will generate any number of tasks for me (to use in OmniFocus) that don’t make sense for the client to see anyway. That will allow me to see the Ticket notification, input the necessary tasks in OmniFocus, and when completed mark the Ticket as Resolved in activeCollab for the client to be notified.

At this point, I’m not quite sure where the solution lies

All this to say, I still don’t think this is a truly effective system, there’s room for improvement. I obviously don’t have a strong direction to take from here, so I’m opening it up for discussion in the only way I know how. I could be completely in left field with this circumstance I see as an issue and I truly hope so, I just can’t help but to feel like project management software could be doing so much more for us with not much more effort on our part.

The ‘obvious’ solution is to establish some sort of sync between OmniFocus and activeCollab where things simply happen IMAP-style automagically. I didn’t emphasize that much primarily in my outlining of the problem because I quite simply don’t see it being a reality for me any time soon. Continuing, I feel the issue is more generalized than that for me. Just trying to wrap my head around what would be involved in keeping two very complex and separate applications in sync for a very specific purpose doesn’t seem like an appropriate (even potential) solution at this point.

I can’t help but see this entire article as a brain dump of something that’s pestered me for some time, and as you can see I still have trouble articulating just what gets under my skin, but I’d love to see this problem solved or expunged as a uniquely personal issue of mine.

I think the core concept here is defining what truly needs to be communicated with a client through the life of a project. That can further be broken down in comparing the initial (and vastly longer) work period during initial design and development of a project to the testing, launch, and maintenance phases. Perhaps that’s the line to draw and the mark simply needs to be made, I can’t say for sure at this point. But I’d love to talk more about it.

Get my newsletter

Receive periodic updates right in the mail!
  • This field is for validation purposes and should be left unchanged.


  1. Jonathan, you have captured my biggest challenge with using OmniFocus in a collaborative team environment perfectly.

    I run a small nonprofit with 7 total staff and we’ve really struggled to find a good project management tool that allows for enough flexibility with individual task management systems. So far, all of our attempts have failed (although to be honest, some of that is related to some individual’s unwillingness to actually track tasks at all, but I digress.)

    I’ve found it particularly challenging because it seems my whole life in in OmniFocus. From work projects, to managing my Boards of Directors and staff, to my household chores and my responsibilities as a bridesmaid in my friend’s wedding. I have embraced the GTD system and its completely accurate to say that if it ain’t in OmniFocus, it ain’t getting done.

    I don’t have a streamlined system in place to handle this, but I thought I would share one of my specific challenges with you.

    Since our other online project management tools haven’t met our needs, we’ve scrapped them all and I built our entire annual staff work plan in my OmniFocus. All of the levels of work, from the major goals and strategies to the steps each staff member (as indicated with a context) is responsible for and when. The tough part of this is:

    1. I now have everyone else’s responsibilities in my only task management process. On one hand, this is great because I’m better able to keep up on what my staff is doing, but its also pretty overwhelming, and
    2. OmniFocus is only available on my computer, so communicating the workplan involves distributed a PDF of the print preview to the staff every week. This is pretty easy for me, but for everyone else, it’s a pain. They have to incorporate their pieces in their own workflow and they don’t have updates in real time.

    I’m beginning to think that the only way to be successful at this type of collaborative planning is that EVERYONE on the team, including me, has to transition to the same platform. And with Wunderlist and Wunderkit, there are two great, free, multiplatform options.

    But I just can’t seem to give up a system that works perfectly for me. So, to wrap up a long story, I’m in the same boat as you.

  2. Incredible article insofar that it mirrors the exact problems I have. I do project management in a small company and I introduced ActiveCollab a year ago, two months after I started the job. Since then I added several modules / plugins: Tickets Plus, Time Reports plus and acGarage (the latter is not installed) which mainly were demanded by developers and their and mine need to break things down in a project. It helped structure workflow and made communication about the workflow way more efficient – as long as we used it strictly and did not fall back into email and phonecall mode.

    For my personal things and sideprojects I use TaskPaper in a short term punkrock style. Sometimes it’s good because you’ll get rid of things fast. But mainly I want to organize things in a longterm way. And I bought even Omnifocus months ago but missed to inhabit the routine to use it.

    I’ll coming back here with some thought and least will follow what happens, because it matters to me and I’m very glad someone started this.

  3. The solution is that every person will choose the software which is more suitable for them. As for me I am using Comindware task management which helps me to organize my time and the time of my team, set tasks and reach deadline and some people may think that it is not enough, but for me it is more than enough.

Leave a Reply

Your email address will not be published. Required fields are marked *