Scrum Gathering London – A Blast From the Past

At the Scrum Gathering in London this October, I had a bit of a flash-back to the last time the Gathering was in London. At that event, during the Open Space, I announced a Kanban session with words along the lines of “My team recently stopped using Scrum and our productivity has improved”. As I recall it, there was an audible intake of breath, although I’m sure my memory has exaggerated the effect!

I was reminiscing about this with Rachel Davies, who facilitated the Open Space at both Gatherings, and she shared the photographs she had taken of the output, which she still had. Here they are for posterity. I expected to find much of my thinking had changed since then, but apart from having less focus on waste and inventory now (preferring to know emphasise value and flow) it still seems relevant.

Here are the photos – thanks to Benjamin Mitchell for being the scribe. I’m hoping to add some of the audience which I know are out there somewhere.

The Ball Flow Game

I was invited to the Scrum Gathering in Amsterdam this week to give a Deep Dive on Kanban. My Kanban Exploration slides can be downloaded from slideshare. Inspired by an email discussion with Jean Tabaka and Eric Willeke, to introduce the session, and to try and reinforce the concepts of Flow, Value and Capability, I tried a variation of the Ball Point Game that is commonly used in Scrum training.

Here’s a couple of links (Kane Mar) (Declan Whelan) if you’re not familiar with the game. In a nutshell it involves a group working as a team to pass balls between themselves, constrained by some rules. The idea is to pass as many balls in a 2 minute time box. The team has to self organise and inspect and adapt in order to improve its velocity (throughput of balls).

For my variation I wanted to remove the time-box to emphasise flow more, and demonstrate a different way of understanding the capability of a system. In the game, the team are designing a system to meet the purpose of flowing balls quickly between themselves.

The changes I made were to ask the team to pass 20 balls as quickly as possible. I put a unique number (1 – 20) on each ball in case it was useful and also asked the team to time how long it took for each ball to pass through the system.  I took the data that was captured and entered it into a spreadsheet to create a control chart. We ran two rounds of the game twice, with the respective charts below.

Round 1

image

In Round 1, the team didn’t capture all the data, and some problems were had towards the end, but that the average time for each ball was 13 seconds. The system could also be said to be ‘in control’ as all the data points were with the control limits  which were calculated as AVERAGE +/- (3 * STDEV). The last measured ball was completed at 3 minutes and 35 seconds.

Round 2

image

In round 2, the team improved their data capture process and overall flow. The average time per ball dropped to 12 seconds and the variability also reduced. The Upper Control Limit dropped from 01:10 to 00:18. The last measured ball was completed at 2 minutes and 22 seconds.

What this demonstrates is that even with variability (which we don’t want to eliminate completely in software product development), by understanding the capability of the system over time, we are able to reliably communicate what might and might not be possible. For example, using the round 2 data, there is a 50% chance we’ll complete a ball in 12 seconds and a 99% chance we’ll complete a ball in 18 seconds.

We could also calculate and chart the throughput of balls completed over a cadence of 30 seconds to similarly understand the capability from that perspective also. For Round 2 those throughputs would have been 3, 4, 4, 5, 4.

There are a few areas I’d change next time I try this.

  1. The measurement took a long time and was clearly the significant bottleneck. I made measurement part of the system to add some additional complexity, but in hindsight it was probably too much. Most of the improvements were in measuring the system rather than the performance of the system.
  2. I allowed more time than I probably should have for improvement discussions. With the time-boxed version its easier to start the clock for a round and that usually that kicks the team into action. Similarly, when the measurement fell apart we stopped and restarted a couple of times. I wouldn’t do that next time, although by removing measurement from the system, it might be less of a problem.
  3. It took time to enter the data into the spreadsheet. I need to find a better way! The spreadsheet can be found here. It’s very simplistic. Please let me know if you use it and improve it!

Facilitating A Kanban Konversation

As I mentioned in my Scrum Gathering Musings, I came up with a twist on the Goldfish Bowl format which I used during the Kanban Exploration Deep Dive.  Here are some more details.

The Goldfish Bowl format works really well for facilitating a focussed discussion with a large number of people. It keeps the active voices to a manageable number, while being open for anyone to join in if they have something to add. Apart from providing a solution to my challenge – keeping a spirited debate under control – it also seemed appropriate that the limited number of chairs provided a means of limiting “Voices In Conversation”.

However, there was one thing about the Goldfish Bowl which didn’t seem appropriate. With a Goldfish Bowl, when someone wants to join the discussion, they fill an empty chair as part of the conversation, and force someone to leave to free up a seat again. That seemed to be like “pushing” in to the discussion. What it no-one wants to leave? So instead, I moved the empty chair out of the discussion, and made it a Queue. If someone had something to contribute, they could fill the “Waiting to Talk” seat, which would be a signal to the “In Conversation” people that one of them should leave when ready. I was pleased to find that this change worked really well. Rather than the discussions being interrupted when people moved around as they figured out who would leave, the conversations flowed smoothly as people moved in and out naturally. Initially the “Waiting” person had to wait some time, but once we got used to the system, this seemed to be less of a problem.

These are the instructions I used:
  • 4 “In Conversation” seats and 1 “Waiting to Talk” seat
  • Only “In Conversation” people may speak
  • If you want to join the conversation, fill the “Waiting to Talk” seat (if it’s empty)
  • When someone “In Conversation” leaves, that is a signal to move from “Waiting to Talk” to be “In Conversation”

I wondered whether we would evolve the system, by increasing or decreasing the number of seats in each state, but that didn’t happen. Its something I’ll look out for in the future. I’d also love to hear if anyone uses this format, or has already done something similar.

Scrum Gathering Musings

I came away from the Scrum Gathering last week feeling surprisingly positive about the future of the Scrum Alliance. All in all it was a very enjoyable conference, and my overall impression was of a community which is more open and inclusive than I have perceived it to be for a long time. Talking to Tobias Mayer at the end he put it quite nicely – the Scrum Alliance is about transforming the world of work, and not about defining Scrum.

My Kanban Deep Dive seemed to be well received. I had a great group who were very engaged and willing to enter into the spirit of lively debate, including Jean Tabaka, Lasse Koskela and Jurgen Appelo. My goal was not to “teach” Kanban, but to explore some of the key elements, and how they compare to Scrum. After some inspection and adaptation, the discussions centred around “how will these ideas change the way I work?” It was interesting to hear some diverse opinions and discover how people would take away what we covered. I also came up with a new format inspired by Kanban – the Kanban Konversation – a pull-based variation of the Goldfish Bowl. I’ve blog about this separately.

Other sessions I went to included a couple on Lean Thinking and Scrum, including a great summary of Statistical Control Charts by Mark Strange – something I never thought I would see discussed openly within the Scrum Community! Mike Cottmeyer also hosted a useful OpenSpace session on Scaling Agile in which we explored his ideas about using a Kanban approach to co-ordinate Agile Enterprises.

The OpenSpace itself was hosted by Harrison Owen, creator of the format, and it was insightful to hear him talk about its origins, and how he typically uses it. I liked the more fluid way of creating the market place. Proposers were limited to stating the problem they wanted to discuss, and their name – no rambling descriptions or explanations. The market place itself was had no explicit schedule – proposers just added a post-it with a time and location to their problem. The schedule seemed to self-organise into more of a structure later on. One thought I had was that OpenSpace as used by the Agile community may itself be overkill for how we use it. I’ve never been to an Agile OpenSpace in which we needed to solve a specific problem by yesterday. Rather they are forum for open conversations on a variety of topics relevant to the conference and community. Much like the conversations I generally find mysefl involved in over a beer (or Mohito this time) in the evening. I wonder what would happen if we simple hired a bar for a couple of evening and people came along for a drink and a chat? Oh wait, that’s XTC!

To sum up my thoughts after the Scrum Gathering, it seems to me that the Scrum Community is now seeing itself as part of the picture, and not he whole picture, which can only be a good thing.

LeanSSC Atlanta 2010 and other Conferences

I’ve just updated my Calendar page with where I’m speaking this year so far (or hoping to), and thought it would be worth adding some more details in a post.

Atlanta 2010 SpeakerThe conference I’m most looking forward to is the inaugural LeanSSC Conference in Atlanta in April (21-23) which is the place to find out about “the next wave of process innovation”: Lean, Pull Systems and Kanban.

If you are interested in applying Lean concepts to software and systems development then this is the conference to attend. It will have the best people in Lean and Kanban, and the best and largest quantity of Lean content. A significant number of the speakers are not part of the regular Agile community so this is your chance to see them. Here’s some other reasons why you might want to go:

  • Learn lean development approaches with a focus on scientific, model based solutions.
  • See how to tailor lean methods to your unique work situation.
  • Find proven approaches that let development and management work together on a system design level.
  • Get pragmatic, actionable advice, delivered by people with field experience presenting metrics and data.

I’ll be giving a new talk on “A Kanban Multiverse”. Here’s the abstract:

Wikipedia defines a Multiverse as the hypothetical set of multiple possible universes that together comprise everything that physically exists: the entirety of space and time, all forms of matter, energy and momentum, and the physical laws and constants that govern them. A Kanban Multiverse can be defined as the hypothetical set of multiple possible Kanban Boards that together comprise everything that physically could be visualised: the entirety of scope and time, all forms of work type, status and flow, and the organisational laws and constants that govern them. This talk will explore how a single Kanban Board might visualise these multiple aspects in a limited and constrained space.

The other exciting conference for me is going to be the Scrum Gathering in Orlando next month (match 8-10). I’m really honoured to have invited to run a deep dive workshop on Kanban. Its going to be structured round what I refer to as the Five Primary Practices (see here and here), with exercises and discussion to explore how Kanban Systems are compatible with Scrum.

The other two confirmed conferences are ACCU 2010 and SPA 2010 where I’ll be talking about Five Steps to Kanban and running a Kanban Game respectively.

Finally, its the Agile2010 submission process at the moment. I have two submissions in, and am a panel member on a third. If you have a user account (why wouldn’t you? :)) please give them feedback to help them get accepted!