Karl Scotland – Using Agile to Deliver Value
Archive for July, 2011
Presenting at Agile2011
Jul 21st
I’ll be at Agile2011 again this year presenting a couple of sessions. Here are the details if you’d like to come along and take part.
Flow Games
- When: Wednesday 10th August, 11:00-12:00
- Stage: Hands-on Learning
- Venue: LA Olympus
- Session Type: Workshop
- Audience: Introductory
- URL: http://program2011.agilealliance.org/event/a29c520db5d7bf4649bb9538adc6d1cf
Designing a Kanban System for the Enterprise
- When: Thursday 11th August , 13.30-15.00
- Stage: Enterprise Agile
- Venue: GA: Imperial Ballroom C
- Session Type: Tutorial
- Audience: Introductory
- URL: http://program2011.agilealliance.org/event/fad223cfed25bd3ad1a69cc0bbfad301
Note that while the program page for “Flow Games” suggests that we will play a selection of games, the final time constraint of 1 hour means that Eric and I will probably only be able to play one game, which will be the Ball Flow Game. Fortunately, there is another similar session (Lean Fundamentals with Michael Sahota) which will run the other games we had in mind, so we encourage you to go along to that if you want more!
Running the Ball Flow Game
Jul 19th
I previously wrote about the Ball Flow Game I ran at the Scrum Gathering in Amsterdam. I’ve updated the game quite a bit since then and its stabilised into something I’m finding very useful when I work with Kanban teams to help them understand some of the concepts behind Kanban Thinking. I hope this write-up enables others to use and run the game.
To recap, the Ball Flow Game is based on the Ball Point Game, with the following rules:
- Participants play as a whole team
- Balls must have air time between people
- No passing to a direct neighbour
- The start person must be the end person
The aim is to complete 20 balls (as opposed to complete as many in 2 minutes). Thanks to Rally colleague Eric Willeke I now add some fun context as well. I tell the team that they are producing magic balls. Magic is added to a ball only when everyone has touched it. If two people touch a ball at the same time, the magic is dispersed. Further, magnetic fields mean that passing a ball to a direct neighbour also stops magic being added. The start/end person is the customer wanting magic to be added to the balls. Its silly, but it adds an extra element of fun, and reinforces that the rules are constraints in the context that can’t be changed.
I use a spreadsheet to help automatically capture data about the performance of the team. (Download the template). It works using four macros, which are assigned to buttons and hot-keys:
- Begin (Ctl-B). Begins a round by starting a timer.
- In (Ctl-I). Captures the time a ball is added into the system.
- Out (Ctl-O). Captures the time a ball come out of the system.
- End (Ctl-E). Ends a round by calculating the metrics.
Once the metrics are calculated, three charts on the worksheet will populate themselves.
- Lead Time. The time each ball took to work its way through the team (assuming balls enter and exit in the same order). The dotted line is the average.
- Throughput. The number of balls the team completes every 10 seconds
- Cumulative Flow Diagram. The number of balls either not started, in progress or done every 10 seconds
Upper and Lower Control Limits can also be calculated and displayed for Lead Time. They are currently commented out in the macro code because I found that they weren’t necessary for the core learning objectives. You may also need to tweak some of the macro functions for different versions of Excel (I use Windows Excel 2010). The template has worksheets for 5 rounds. For additional sheets, simply one of the existing rounds.
One of the things I’ve noticed is how the dynamics of the conversations are different from when I run the traditional Ball Point Game with teams. In particular, the team I was working with today really understood the idea of scientific management and made very small, quick and focussed changes each round as experiments, hypothesising on how the metrics would change. With the Ball Point Game I find teams want to debate in depth all the options in their attempts to get an improvement.
Note that as I said in a post of Balanced Software Development, “scientific management is still relevant for knowledge work, when the workers are the scientists.”
Here are the results. (Apparently we started with only 19 balls due to a facilitator error!)
Round 1
In this round, the customer ‘pushed’ balls into the system when he could. You can see the lead time increase as the WIP increases in the CFD, up to a point when a natural system limit is reached. Towards the end the customer stops adding more balls to let the system flush itself out a bit, which shows as the step in the CFD at about 60 seconds, the drop in lead time, and the spike in throughput. The final two balls went through when the system was virtually empty. Notice the short lead times again!
Round 2
In this round the team decided to limit the WIP to 6 – one per person. However, interestingly (to me at least) they decided to batch them, by getting all 6 through before they started the next 6. Lead time is much more stable this time. The spike is because the customer forgot to receive the last ball of the 1st batch before starting the 2nd batch, so it got stuck! Throughput is wildly variable though because nothing comes out for a while, and then all 6 come at once. You can see the batching in the ‘steps’ in the CFD.
Round 3
In this round the team wanted to experiment with an low extreme WIP limit of 1. Lead time is significantly better, but throughput is low because there is too much slack in the system now. Notice the smooth flow in the CDF. The patches where WIP drops to zero are because the customer’s process between receiving a ball out, and adding a ball in, added a noticeable delay.
Round 4
In this round the team increased the limit to 3, but continued to process those 3 in batches. Lead time remains the same, but with improved throughput. The CFD still shows signs of the batching with the customer delay between batches, but is much steeper due to the improved throughput.
Round 5
Finally, the team decided to remove the batches and solve the customer’s delay issue by re-organising themselves. This time the customer added 3 balls into the system, and then only added another when one came out. Lead time is slightly increased, probably due to the fact that there were always 3 balls in process which added some complexity. Throughput is improved again though, and the CFD is looking very smooth.
As you can see, the team made significant improvements over the five rounds by making small changes informed by the data they had about their flow and capability.
Kanban and Quad Biking
Jul 1st
I’ve recently been using a newer language to describe the model I apply when introducing Kanban to teams, which has been generally working well. I now talk about:
- Studying – understanding the current system structure
- Envisioning – creating a common mental model of the system
- Limiting – bringing the system under control
- Sensing – having an awareness of the system’s performance
- Learning – improving the system’s capability
At the Kanban Leadership Retreat in Reykjavik this week, I talked about sensing and was teased by Daniel Vacanti about how fluffy it sounded. (To be fair, I was giving as good as I got). Later that evening in the bar, I was chatting with Katherine Kirk, and I realised why it sounds fluffy. It’s because sensing is not just about the mechanics of measuring the process the capability of a system. Its also about the human aspects of a system, which are too easily forgotten. So for now I’m going to stick with it.
And that brings me to quad biking.
The day after the Leadership Retreat, a small group of us went quad biking over the Icelandic landscape. Its an amazing way to see the country and highly recommended. While I was driving over the rocky ground, I realised it was a great metaphor for sensing.
To begin with, it takes a bit of time to get used to driving the bike. More control is needed while learning the basics. When driving at speeds up to 70kph, however, you’re never actually in full control. The more firmly you try to gain control, the more likely you are to lose control. I soon realised that by gripping and steering too tightly, I was getting thrown about too much when I hit a large hole or rock. By holding more loosely, relaxing, leaning back and going with the flow, I could sense how the bike was behaving and move accordingly. By doing so, I learned that when going round tight corners, pushing the steering to force the bike round was hard work and ineffective, but leaning back and pulling the steering was a lot easier and more effective.
This is why I like sensing as a word to describe the way I work with kanban systems. While establishing a cadence and measuring are key ways that we can understand capability, sensing describes a more instinctive awareness of how a kanban system is performing, and conveys the way teams are able to adapt, anticipate and experiment as they explore the limits of the system.
Katherine Kirk has also taught me about equanimity, “a state of mental or emotional stability or composure arising from a deep awareness and acceptance of the present moment.” Sensing a kanban system involves having equanimity when dancing with the system.





