I know I promised you guys an article on Control Charts but I have had a bunch of people ask me about my use of Personal Kanban over the last few weeks so I thought I'd take a break from agile metrics and talk about that instead. Fear not though, definitely control charts next time.
One of the questions I get asked a lot as an agile coach is whether agile applies to non-IT projects. I will explain that yes, agile works really well with non-IT and at this point I usually mention that I use Kanban at home for my things to do around the house. At this point people tend to look at me strangely. Then I mention that we have a Kanban board in the kitchen for the kids to do their chores on, and my son has a Kanban board in his bedroom to do his homework on. This usually makes people start to back away slowly. I thought I'd take a few minutes and explain how it works.
Kanban is a general purpose tool for process optimisation. Any process at all, whether it's building cars (where it was invented), developing software, or indeed, doing homework. Whenever I see a list of things to be done, my first instinct is to turn it into a Kanban board. Below is a picture of my main Kanban - the one I use for my (extensive) list of things I need to do around the house.
As you can see, it's a pretty simple process - design, buy materials, build, then my product owner gets to accept or reject what I have produced. I used to have a plain old "to do" list but that had a few issues, the main one being that it wasn't prioritised. I would be working on stuff but it wasn't my product owner's highest priority so when I showed her the marvellous thing I had built, the question of why I was working on that and not the dozen other things I should have been working on would inevitably raise its head.
Getting the backlog into one place and prioritising it was a good start. My next problem was actually getting stuff done. Design is easy, and fun. I get to sit inside, in a comfy chair, drink beer and sketch designs. I love doing that (especially the beer bit) so I had folders full of designs.
Materials is easy too. I could go to Bunnings and buy a carload of stuff. That's great fun. I had a garage full of stuff. We haven't been able to park in the garage for over 10 years. The problem of course was the Doing bit. Because it's hot. Or cold, or raining, or dry or windy or... how about I sit inside and do some more designs. Or maybe another trip to Bunnings.
Then, if I did actually start doing something, I would start something. I wouldn't finish something. So I would do something like (purely a hypothetical example you understand) spending the day ripping down the back wall of the house to install some new doors then then starting something completely different the next day leaving a gaping hole in the house which would sit there for several months. Or installing a window and not painting it for... a considerable time (ok... ok... a few years... well, closer to 10 really).
So I was doing a lot of work, but not actually getting anything done. This was, as you might understand, causing a small amount of domestic friction between me and my product owner. At least with a prioritised backlog, It was the important stuff I was leaving half finished. My next step was to set myself strict WIP limits. No more than 3 things Designed. No more that 3 with materials stacked up (need to have a couple as some materials have long lead times so I had to make sure I always had something ready to go in my queue) and no more than 3 being done.
Lo and Behold, it worked. I actually started getting stuff finished. I couldn't spend days designing. I couldn't fill the garage with materials for a dozen projects and I couldn't start stuff and not finish.
So is my process perfect? No. Absolutely not. I am going to drop my WIP limits for materials and doing from 3 to 2 to improve my cycle time. I would drop it to 1 but having it at 2 lets me have an indoor project and an outdoor one running so I can work regardless of the weather.
My batch sizes are also too big. Something like "Build Shed", which I am working on now represents about 6 weekends of backbreaking labour (hey... it's no ordinary shed... it is a structure of great magnificence). I need to split my tasks into smaller chunks so I can get them moving across the board faster. Build Shed could be broken up into about 20 smaller pieces, each one of which would have value on its own. Likewise something like "Build Bed" could be broken into at least 10.
Running a personal Kanban is letting me optimise my getting things done around the house process and is making domestic life much smoother. Likewise, the Kanban board in the kitchen was optimising the "kids doing their chores" process. Until they turned into teenagers that is. Now they just shut themselves up in their rooms all day, emerging only to devour all the food in the house and grunt at the rest of the family before returning to their lairs. Still, nothing is perfect.