Monday, April 11, 2011
Multitasking can be a hindrance to productivity. Especially when you're trying to get something done fast. In software development, Kanban limits how much Work in Process you can have. By imposing WIP limits in each process, lead time through the system is dramatically reduced.
This focused approach makes sense intuitively, but how does it work?
I'm a manufacturing guy and I understand how kanban can reduce inventory by imposing WIP limits on the shop floor. Don't make what the customer hasn't ordered. Push don't pull. Use small batches. Single-piece flow. How do these rules transfer to creating software? I've seen the whiteboards and post-it notes used in software development, but I've never fully understood how it flows.
The simple kanban simulation game cleverly named ChristinasKanbanGame at http://www.kanbangames.net revealed everything to me. After a thorough perusal of the rules and materials, I was enlightened to the mechanics of kanban in the computer world.
In this game, 5 simple steps emulate the basics of software development:
Planning, Analysis, Development, Test and Deployment.
The goal is to complete "stories" which have a predetermined work value for each step.
In each step, the sum of several rolled dice is deducted from the value in the step on a card. If you roll a 7, and the story card has a 12 in Development (as above), then you deduct 7 from 12. And 5 units of work are left before it can progress to the next step. A simple, yet elegant system to simulate work flow.
Initially there are no WIP limits for each step, so the planner is pushing cards into the system. As the game progresses, you add WIP limits and see the effect. During the game, players can adjust the limits in each step to improve throughput.
Each Story has to be completed in 4 rounds. If your WIP limits are too high, more stories will be worked on, but they will travel slower. If a story is completed late, there's penalties! 50% is deducted from the business value for the first late round, 75% if two rounds late, and no business value is awarded if completed more than two rounds late.
I like the use of the story cards with different values to distinguish between more difficult jobs and easier ones. As well, the use of dice adds some uncertainty, just like in real life. Although I haven't played the game, I found the rules easy to follow.
Now I know how kanban works in software development! I'm sure kanban can be used in this way for other processes, including job shop scenarios.
All the files you need to run this game are included in one zip file. Free and available to download at http://www.kanbangames.net. Look for ChristinasKanbanGame in the list of games. There's a few other games listed that I've seen before including the Coin Game and the Bottleneck Game.
This game has been added to my growing list of Lean games.