Shortening the Feedback Loop

I’ve been driving donkey-drawn carts for five years or more. The donkeys and I are pretty good at it. Ernest was obstacle-driving champion five years in a row at the Castle Rock Mule and Donkey Show. Ernest and Chester have won several Feed Team races (Mini class).

Recently we upgraded to a wagon. This is a miniature buckboard with a fifth wheel. The wheelbase is about 8 feet, and the tongue another 8 feet. As the driver, I perch WAY up on a seat, far from the donkey team. Look how far away I am.

Wagon Team

The first time I took encouraged the donkeys to some speed pulling this wagon, they started to lope, and then I could tell they were not exactly under my control anymore. I flashed back to those runaway stagecoach scenes in old Westerns. Not a good feeling.

Luckily, we have an awesome donkey driving trainer, Tom Mowery. Tom suggested that I sit WAY forward on that seat, leaning over the front of the wagon, taking a short hold on the lines (what would be reins, if we were riding instead of driving). This way, I could react quickly if they got out of control. OH – a short feedback loop!

I practiced getting the donkeys to lope, then bringing them back to a trot – all while in this aggressive position hanging over the front of the cart with short lines. We practiced getting into a lope, and coming right back to a trot. With immediate feedback, the donkeys (they are SO smart) figured out that the wagon wasn’t a scary thing chasing them, that they were actually controlling its speed, and they could slow it down on command.The short feedback loop let them fix the problems right away without any panic.

Short feedback loops work the same way with software teams. If we have a continuous integration process that runs our regression tests on each new version of the code, we know within a few minutes or hours whether new or updated code has broken something. When we know right away, it’s easy to fix. Problems don’t worry us, because we know we can fix them in a timely manner and move on.

Short feedback loops give us confidence. Confidence leads to enjoyment. I love driving my donkeys, and I love working on a software development team that is guided by continual quick feedback! Look how much fun this is!

Neat analogy. Short feedback loops are so important, and so obviously important, that it can be a bit embarrassing having to state the blindingly obvious. It’s all too easy to do it in a way that seems insultingly patronising, or just straight insulting. Yet corporations sometimes willfully ignore the obvious because it doesn’t suit established processes, standards or misplaced notions of (shudder) best practice.

We do need to keep honing our communication skills so that we can tell a persuasive story to possibly blinkered management. It’s no good beating them over the head. They’ve got brains. It’s just a question of making managers use them and telling the story in such a way that they see the truth for themselves.

Maybe you could have flogged the analogy a bit harder and talked about the need to keep the coding donkeys on a tight rein if you’re pushing them through sprints? Or maybe not! 😉

it’s worth noting that my donkeys don’t have blinkers. Donkeys really, really hate them. They need to see everything so they can feel safe. I think there’s an analogy for transparency or something in there.

Also, one can’t keep donkeys on a tight rein. You take up the lines just to turn, slow or stop them. If they’re supposed to just keep going straight, they need a slack line. Otherwise, the lines (reins) will cease being meaningful and just cause frustration. I think the same may be true with development teams!

Well, I’m clueless about donkeys, horses or any sort of riding. I realise I was using the term “tight rein” rather loosely. It’s an interesting point. There’s a very significant difference between a short rein and a tight rein.

Hi Krystian,
If I compared developers (which of course includes myself) to donkeys that would be a great compliment. :->

But in this metaphor, the team and wagon are the project, and the lines (reins) provide the feedback to allow for quick course corrections, in the same way that we get feedback from our continuous integration test suites, frequent demos to customers, and the like.