
Jim, An, and Jeanine discussing a work ticket at the daily standup.
This is the card wall we’re currently using in the Modus Cooperandi office. It’s not terribly complicated, because there are only five of us, but there are still a couple of interesting things about it.
We’re working on a number of different programs in the office. Some of these programs have distinct workflows. Most of them don’t, or more accurately, don’t yet. So, we’ve split the board into two sections.
The top section is the workflow for software development. The workflow is yet another variation on the two-tier workflow that I’ve discussed here before. The green tickets are Minimum Marketable Features (MMFs) and they occupy the outer, slow-moving workflow with states { backlog, ready, busy, demo, verify, done }. The yellow tickets are User Stories that are decomposed out of the green MMF tickets. The inner User Story workflow is { ready, busy, demo, done }. Stories should be done in a few days. MMFs may take several weeks. The workflow is not particularly detailed because the team is small and the work is exploratory. The emphasis on the demo states is because most of the work is done off-site. We’ve allowed capacity for two MMFs in process at any time, but for now we are only scheduling one.
The rhythm of pull, and the discipline of the MMF make planning a self-regulating activity. Naturally occuring pull events occasionally trigger planning events, which trigger further pull events and so on. Demos and process improvement are built into the workflow, so no planning contrivances are required to make these happen. Keeping the “Minimum” in MMF isn’t always easy, so having a “Minimum Champion” around is pretty important to making this kind of self-regulation work. Time spent thinking about real options strengthens one’s resolve in this matter. Enforcing the MMF is still much easier than wasting a lot of time on estimating and forecasting. And after you gather enough cycle time data, the work begins to forecast itself.
Software development is one thing we’re working on, but we also have a number of other programs which are…not software development. For now, these are mixed work item types that don’t have well defined workflows. Instead of assigning them to a workcell, we assign them to individuals, with a generic common-denominator workflow of { backlog, ready, busy, verify, done }. Backlog tasks are unassigned. Ready tasks are assigned by affinity or consensus. At the time that a task is assigned, it is given a due date. When busy tasks are judged complete by their owner, they are moved to the verify state, where somebody else has to agree that the task is complete. When a task is verified, it moves to a pooled done state. Blocked work, as always, gets a pink ticket for issue resolution and/or process improvement.
Some of these programs are content development and we expect that they will develop more regular workflows over time. When we identify those workflows, we’ll redraw the board and move their tickets out of the personal rows and into new workcells. Eventually, we may collapse all of the personal rows into a single “miscellaneous” row. The miscellaneous row is worth keeping because there’s always random stuff to do that still merits tracking. The card wall is a living system that is subject to evolution as we learn more about how to do our work.
We haven’t set hard WIP limits on the personal rows, because we’re able to manage it through peer feedback…mostly. The emphasis on controlling WIP still allows us to plan new work and manage the backlog on demand. We all know that if the WIP ever gets out of hand, we can restore order by setting kanban limits. The card wall is the focus of the daily standup, where we gather around, point at the tickets, move them around, write new tickets, and make plans for how we’re going to advance the board for the day.
The lesson is that, with or without kanban, the investment in a thoughtfully designed and carefully managed visual control is already enough to obviate time boxing and the planning ceremony that goes along with it. Go with the flow.