You hear a lot of people talking about “Scaling” Software Delivery. Like it or not, it is something many large organisations spend a lot of energy struggling with. What I find interesting though, is how it often means that they want to skip the learning part and go straight to the scaled setup (often following some basic recipe that they’ve hired). Unsurprisingly, this never works!
I was reminded of this the other day while I was out surfing with a friend. They’ve been learning to surf for a couple of years now, and in many aspects they’re really starting to make progress. Watching their approach though reminded me of my own learning curve…
It wasn’t a big day. The waves were less than head-high on the sets. This meant that it was possible to pretty much walk out the back in between sets and wait for a wave standing up beside your board – which is what he was doing. When a wave came along, he was then pushing off the bottom to quickly get up to speed, before lying on his board and popping to his feet as he caught the passing wave.
Here is where the head fake comes in: the hardest part of surfing is not actually the standing-up-on-your-board part. Indeed, he was already fairly proficient at popping to his feet and standing up on the board. At some point while learning to surf, the constraint is mostly your ability to actually catch the wave. This is not just a function of position and timing (which is what most people think), but also how quickly you can paddle.
There is, however, an effective cheat for this: Standing up and pushing yourself onto the wave.
Doing this is an attractive option for a learner. You catch lots of waves and you get lots of practice popping up into the standing position. It feels good too, and you feel like you’re surfing! The problem is that eventually this approach actually holds you back. You never really learn how to paddle fast enough to catch a wave and take off in deeper water. In short, standing up doesn’t scale to bigger waves. It only works for fairly small stuff.
To progress from here, you actually have to go backwards for a time. You have to spend hours and hours floating around sitting on the board and attempting to catch waves – all without touching the bottom. Eventually, after hundreds of attempts, you will have developed the strength and technique to paddle fast enough to catch a wave regardless of whether you can touch the bottom or not. This approach does scale to bigger waves. It’s also a key skill to help you get onto the wave early enough that you can ride along it rather than just having the whitewash push you to the shoreline. Like Product Development, surfing has a very high Cost of Delay.
The False Friend
And so, standing up is actually a false friend. It may help you for a while, (and may even be a necessary evil in order to keep you trying by rewarding you with some dopamine). But it ultimately stunts your learning, which of course lowers your enjoyment levels. Riding waist-high whitewater to the shoreline may be fun, but it is a rather poor cousin to catching, dropping in and riding a moving wall of water that is towering over your head. Your chances of getting barrelled while relying on these false friends to help you catch waves is precisely zero.
Product Development is full of false friends and local maxima that are enabled through little cheats. These cheats don’t scale and ultimately hold you back. A superficial level of understanding the problem space can get you into all sorts of trouble. I have unfortunately witnessed many senior execs who somehow thought that having Daily Standups and Kanban boards were the secret sauce to scaling software delivery. Only a deeper understanding of the problem space, with many years spent growing new muscles and taking risks can help you tilt the playing field.
“Instead of learning to surf, conventional organizations try to control the waves. This almost never works.”
Always be learning!