An OmniFocus task is either complete or it’s not complete. One of the two.
I really wish it supported an In-Progress state so I can identify actions that I’ve started but haven’t been able to finish yet. I like those bullets in my Full Focus Planner…
Some tasks need more than even a trinary state. Any given task may have multiple stages it needs to go through as it’s completed.
Let’s take an example from software engineering: fixing a bug. First, the engineer fixes the bug. Then it goes out for peer review. Once it’s reviewed, it can be pushed to production, where it’s verified.
Then, and only then, is it complete.
One way to represent this is as a project with multiple actions (or an action with subactions):
- T234 — Deposits are deducted from the account balance (should be added to)
- Fix T234
- Code review for T234
- Push T234 to Production
- Verify T234 in Production
This will work, but it’s not elegant. It’s a little awkward.
Instead, let’s take a page from lean processes and add a kanban board to OmniFocus.
Tasks with Multiple Stages of Life
A kanban board is a tool for communicating status of a project. The lifetime of a task is represented by columns. As a task is worked on, it moves from column to column.
The first column represents the tasks that are currently available to be worked on. The final column is Done, allowing the team to see (and celebrate) their completed work instead of just having completed tasks disappear into the ether.
For our software engineering example, this would give us the following columns:
- To Do
- In progress
It’s an elegant way of tracking the progress of tasks that go through multiple stages instead of a binary done/not-done.
To set up a kanban board in OmniFocus, first you need to create the tags. Let’s keep the tags organized by creating them as children of a single Kanban tag.
- Kanban : Stories
- Kanban : To Do
- Kanban : In progress
- Kanban : Testing
- Kanban : Done
Create the perspective
If you view Tags and select the Kanban tag, you’re 90% of the way there. If you could focus on a selected tag, that would probably be enough right there.
I’d recommend creating a custom perspective for your kanban board.
- You want one filter rule: Tagged with any of: Kanban. If a task has a Kanban tag, it will show up on the board. Completed tasks will still show up (under the Done section) until you remove the tag.
- Group and sort Individual Actions. Kanban is about tracking specific tasks, so we don’t care about the project at this point.
- Group by Tag (not Tag (Combined)). You only want the Kanban tag to be considered.
- Sort actions by Tag Order. This lets you arrange the tasks exactly how you want them on the kanban board.
Now if only it could make everything look like little sticky notes in columns… ?
Track your Work
When you want to track a task on the kanban board, give it one of the Kanban tags. It’s as simple as that.
As a task progresses, update its Kanban tag. This will usually be the next tag. If OmniFocus would let you designate child tags as being mutually exclusive, this would be trivial. As it currently stands, you’ll need to remove the old tag after you add the new one. (If you remove the old tag first, the task will disappear from the perspective.)
Don’t mark actions complete until they are done—they’ve made it all the way to the end of the pipeline. If you’re using a distinct Done tag, move the task to Done the same time you complete it.
This is probably overkill to get a not-started/started/completed trinary state. But if you have a structured process, why not let OmniFocus reflect the way you work?
Because OmniFocus lets you add multiple tags to a task, you can use Kanban tags with any other tagging system you’re currently using, like temporal tags, context tags, or resource tags.