When work gets big enough that it needs some structure, whether it’s a large project or a continuous workstream for a team, I turn to Trello and set up a simple Kanban board.
The structure varies but it usually starts with this pattern:
Inbox is for ideas, candidates for work. Ready for Work is for items we’ve decided to work on. In Progress and Done show the state of progress. Not Now are things we’ve decided not to do, at least for now.
Often I’ll add a Needs Definition or Waiting or Ready for Review list as needed. And if the board is managing the workload for a team, each list will get a WIP limit.
It’s simple enough that you can use almost any tool, but I prefer Trello. It has just the right amount of features and I like how easily you can change the structure if it’s not quite aligning with the nature of the work.
But it has a number of limitations. One of which is that all lists share the same axis and have equal weight. And this doesn’t exactly map to the different states we want to assign or the way work flows across the steps.
Real work is multi-dimensional and nonlinear. You start on something and then get stuck, or something else comes along that’s more important.
A few weeks ago Basecamp announced a new feature called Card Tables, which is their take on the Kanban board. As I watched the video I realized it was solving exactly the things that had frustrated me when using Trello for Kanban.
The first improvement is the visual separation of the intake list, which they call Triage. Since this is a group of candidates for work, it makes sense to break this section out, and to place it above the rest, so that the selected items move down into the main flow. It gives a clear view of what’s being worked on and what’s not.
The separation into its own row also allows Triage to be paired with the No/Not Now list, which removes the cards from the board but still keeps a reference to the list visible. This is something we can’t quite do in Trello, where you can archive cards but then they completely disappear.
The same goes for the Done column. Done and Not Now are both special states that we want to preserve but remove from the visual flow.
So the improved structure looks something like this:
Considering and rejecting work gets its own row, and work that’s been committed to gets its own row, where it moves neatly through the different states of progress.
But wait, we said that work is often nonlinear. How do we account for interruptions and surprises?
If a work item has to be paused, in a traditional Kanban board or Trello there are two options: you can move it to a separate blocked/on-hold column, or keep it in place and add a label to indicate the blocked status.
Moving the card into a Blocked column detaches it from the original context and adds a pseudo-state to the flow. Keeping the card in its original column is better, but the “Blocked” label may not provide enough separation.
With Card Tables you can drag a card to the bottom of the list and it gets broken off into an On Hold section, but still remains part of the list.
It’s a subtle difference from simply using a label on the front of the card and dragging it to the bottom of the list, but these thoughtful touches add up when you’re using a tool everyday.
So the board structure ends up looking like this:
Those of us using Trello for Kanban will have to live without these features for now, but it’s useful to think about the logic behind Basecamp’s design decisions, even if we can’t drag-and-drop with them quite yet.
If you find this interesting, definitely check out the video where Jason Fried demos the new feature and talks about some of the motivation behind it.
In my next post I’m going to talk about different ways to organize work within this structure, including some observations on how Basecamp does it based on the video mentioned above.