Experience DevOps

A hands-on workshop for DevOps culture

Using ball flow exercises to highlight bottlenecks in software delivery

4 Comments

One of the exercises we do during the Experience DevOps workshop is a ball flow scenario inspired by the Ball Point game. We set up different combinations and topologies of Dev teams and Ops teams, and then see how many balls the teams can pass in (say) 60 seconds.

Experience-DevOps-ball-flow-exercise

When we ran the workshop recently in Bangalore, we had a large number of participants, which enabled some interesting experimentation with the topology of the teams. In the exercise, the ‘Dev’ team takes balls from the ‘backlog’, and eventually passes the balls to the ‘Ops’ team, who must ‘make the features live’ under some constraints designed to simulate real-world physical constraints.

Experience-DevOps-in-Bangalore

With the large group of participants in Bangalore, we experimented with multiple value streams (or products). After ‘warm-up’ runs using a single ‘product’ (value stream) and therefore a single Dev team and a single Ops team, we split people into two separate ‘Dev’ teams (one team for each product, and a backlog each) but only a single Ops team servicing both Dev teams:

ExperienceDevOps ball flow 2 Dev 1 Ops

In this topology, the teams were able to roughly match the throughput and error rate from before the Dev people were split into two teams (around 16 balls per minute, with around 4 defects). Then we removed the single ‘Ops’ team, and instead aligned half of the ‘Ops’ people with one product (value stream) and half with the other, creating ‘product teams’ (or ‘service’ teams):

Experience DevOps ball flow 2 Dev 2 Ops

The results were very striking: across all teams the overall throughput more than doubled with end-to-end service teams compared to the situation with a shared Ops team. One service team managed 16 balls with no defects, and the second team managed 20 balls and one defect, for a total of 36 balls and a single defect. Compare this to the 16 balls and 4 defects that were managed by the 2x Dev + 1x Ops team:

Experience DevOps ball flow with service teams

It was clear that – in this scenario – the single Ops team acted as a bottleneck. Part of the reason was due to (simulated) shared infrastructure. When we split people into service teams, we also split the infrastructure too, so that each service team deployed to its own set of ‘servers’.

The simplicity of the exercise, and the speed with which different topologies and constraints can be tried out, makes this ball flow game very useful for exploring different team topologies in a DevOps context.

Book your place on an Experience DevOps workshop now.

 

Advertisements

Author: Matthew Skelton (@matthewpskelton)

Co-founder and Principal Consultant at Skelton Thatcher Consulting Ltd: http://skeltonthatcher.com/

4 thoughts on “Using ball flow exercises to highlight bottlenecks in software delivery

  1. Pingback: Top 10 links for the week of Oct 20 - HighOps

  2. Pingback: Top 10 links for the month of Oct + week of Nov 3 - HighOps

  3. Hi Matthew,

    You mention here a new idea that will be more effective for us.

    Thanks for the informative post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s