Subtraction · part 1 of 3

Keeping Everything Is a Decision

3 min read

Gus at a meeting table between two identical, cobwebbed treasure chests, saying "Let's keep both for now."

Here's a situation you've probably been in. Your product has two features that do almost the same thing. Everyone knows it. It comes up whenever pricing changes, or when someone new asks which of the two they're supposed to use. There's a meeting, people agree it's a little embarrassing, and it ends with "let's keep both for now."

Then next quarter it comes up again, and the meeting goes the same way.

Nobody sets out to ship the same thing twice. Different people built the two features years apart, for problems that looked different at the time. Then the problems drifted toward each other. The first "keep both for now" was reasonable. By the fourth one it's not a temporary state anymore. It's just what the product is.

Gus with a hand on each of two identical golems cranking the same wheel in a cluttered workshop, saying "They're completely different."

This is what sprawl is made of

orliesaurus wrote about Cloudflare's AI psychosis: four ways to run compute, six ways to store bytes, tracing still in beta. Nobody there chose that shape. That's what a few hundred "keep both for now"s look like from outside.

Building got cheap. Shipping a second thing that does the first one's job takes about a week now. Deciding between the two costs exactly what it always did, which is one uncomfortable conversation with somebody. So the cheap thing keeps happening and the expensive thing keeps getting pushed to next quarter.

Sprawl isn't a weather pattern. It's a pile of duplicates that nobody ever made a decision about.

Did anyone actually tell you no?

Whoever keeps bringing this up usually tells it as something that happened to them: they raised it, it didn't go anywhere, that's that. So the question I'd ask them is simple. Did a specific person say you couldn't merge these two things?

If yes, great. A real blocker is something you can argue with. But most of the time nobody said no. It's just a conversation nobody wants to have, and bringing it up every quarter feels close enough to doing something about it that everyone gets to feel okay.

Put a date on "for now"

Sometimes keeping both really is the right call. The merge costs more than the duplicate does. The change is the kind you can't undo. The people you'd have to tell "no, use the other one" are your biggest customers. All real reasons, just true a lot less often than they get said out loud. And they only count if someone writes them down, because from inside the meeting, a reason nobody recorded and plain avoidance look exactly the same.

So if the call isn't yours to make, don't bring an update to the next meeting. Bring a proposal with a date on it. "We merge these by the end of Q1 unless someone objects." If it slips after that, it slipped because a specific person said no, and that's in writing.

If the call is yours, put the date on the calendar. And if you find you won't, be honest with yourself about what that means. It was never "for now."

Keeping both is completely fine if you actually decide to keep both. So either make the call, or admit the call isn't yours and go find the person whose it is.