The first plank of my take on fixing the trade is MMMSS: If you want more value faster, take Many More Much Smaller Steps. Today I want to start laying this out for folks. This isn’t gonna happen in one thread, but let’s get started.
Before we dig in a little, let me remind you that I’m aiming here for geek comfort good, respite. I am far more concerned with changing the world right now than I am with changing code. I hope you are, too.
Please keep working for change outside the monitor. Black Lives Matter.
The first thing to get about MMMSS is that it represents a radical change. It seems like a minor tweak, but it’s not, it is a complete reversal of a whole body of existing trade practice, the model I call “Rework Avoidance Theory”. To drive it home, maybe a picture will help.
Look at it. A short period at the beginning of work to establish a walking skeleton — important when we start from scratch — followed by an almost meandering path from left to right over time.
And MMMSS is telling you, expressly, explicitly, this is the most efficient path.
The reaction I’m wanting: “This is whack.” That line isn’t straight, so it can’t be efficient. Those steps are really small, so they can’t be better than big steps. Where’s planning and coordination? This is disorderly and quasi-random, not efficient.
Whack. Dude’s whack.
It’s the nature of the steps that is making the path look this way, their constraints. Each step meets a minimum of three criteria. 1) It must be small enough. 2) It must be shippable on completion. 3) It must not make things worse.
All vague terms, we’ll get to that.
So the reason that line isn’t aimed straight at the destination is because there was no step at that location that met those three criteria. The choices were too big, or unshippable, or made things worse.
For reference, here’s the approach to change that we see most commonly in the trade. This is what Rework Avoidance Theory (RAT) has us all walking around trying to do to be efficient.
Well. I mean. You gotta admit, that’s a lot straighter, cleaner, more orderly, organized, coordinated, and frankly better-looking on a slide.
So you can see, we got a helluva case we’re gonna have to make to suggest that the first path is more efficient than the second one.
I’m gonna blurt that case out, quick like a bunny, but each of its elements is a whole argument in and of itself, and a whole other thread for later.
There are four elements to the case.
- Actual change isn’t plane geometry. It doesn’t happen in Platonic Flatland, but in an incredibly twisty, complicated, loopy, ever-shifting high-dimensional, murky, and curved manifold, one we call “reality”. All arguments abstract details away from reality, including the one we’re making, but arguments from plane geometry abstract away not just details but many critical and even dominant factors affecting change.
- Directed parallelism — where a central intelligence plans, monitors, and coordinates multiple streams of activity — has a sharply rising non-linear cost curve, at even very small numbers of streams. Parallelism is never free. And directed parallelism’s cost isn’t linear as the size of the problem goes up. It doesn’t just get harder when we add more streams, it gets “harder-er”, quickly swamping any benefit it might deliver.
- Small steps have intrinsic value in human enterprises. That is, regardless of the value of a small step to the outside world, it brings powerful value to the internal operation of a system for no other reason than that it is a small step. Steerability, interruptability, grokkability, rhythm, motivation, focus, reversability, and undirected target parallelism, all of these are of huge benefit in human enterprise, and they’re all part of the intrinsic benefit of small steps.
- Embracing change, in technique and attitude, is increasingly well understood, and the costs of avoiding change are extremely high. When we assume change, welcome it, build for it — when we embrace change — we far out-perform the old rework avoidance theory. The RAT hates change because it purposefully makes ecologies on the assumption that change won’t happen. Fix that technique & attitude, change goes from being the monster under the bed to our most delightful, energizing, and exciting companion, a key to our success in the world.
So. This is a very shallow sketch, but I hope it’s a sketch that gets you hooked, because we got miles to go before we sleep.
We got one ugly picture, one pretty picture, and a very striking disagreement about effectiveness in change. We’ve got vague definitions for step, and vague one-liners of the three criteria for choosing steps. And we’ve got a case to make, built on four elements.
The next stop, sometime this week, will be to get a richer sense of what we mean by step, by size, by shippable, and by non-negative. That oughta fill up a thread.
I hope you’ll come along for the ride.
One last thought before we go.
You prolly think this is a conversation about changing code. Or maybe you’re a maker of the product variety, and it’s about changing product. Or a coach, and it’s about changing process or orgs.
You’d be right, and you’d be wrong.
MMMSS isn’t about changing code, or product, or process.
It’s about changing.
Making changes, responding to changes, embracing change in every domain.
Put that in your pipe and smoke it, and we’ll talk more later. 🙂
Does the GeePaw Podcast add value?
If so, consider a monthly donation to help keep the content flowing. You can also subscribe for free to get weekly posts sent straight to your inbox. And to get more involved in the conversation, jump into the Camerata and start talking to other like-minded Change-Harvesters today.