Sure of the direction, blind to the distance

A couple of weeks ago I got on a call with the team and asked a simple question. How far along are we?

Nobody had an answer.

We're rewriting the entire product. This is not just a minor update. It’s our entire product built again from scratch and we are a few months in now.

Someone said seventy, maybe eighty percent. It sounded like an answer but it wasn't. Seventy percent of what?

You can count features. That part is easy. This screen exists again, that one doesn't yet, you count them. But the rewrite isn't just features.

Migration is years of data, for example. You don't find out how long it really takes until you're moving it. Testing doesn't fill a bar from zero to a hundred either. It surfaces the thing you didn't know to look for and suddenly you're not at ninety-two percent, you're at wherever that thing put you. You fix it and wait for the next one you can't see yet.

Our developers couldn't answer because I was asking them to measure something that simply doesn't measure. It’s done when it’s done.

And I wasn't asking out of impatience. I needed the number to make real decisions. When to tell customers. Which features can't wait, so we build them in the old product too, then again in the new one. Every feature like that is almost wasted effort in the old product. You can only make those calls if you know how long the wait is. I don't, so I can't.

The strange part is that I'm sure we're going the right way.

This is the best thing we can do for the company. I don't doubt the direction for a second. But I can't tell how close we are.
It feels like a marathon where someone removed the mile markers. You know the road is right. You know you're moving. You just can't see how far you have to go. Some days that's fine. Some days you'd trade a lot for one of those markers.

And even worse: what's waiting at the end is nothing anyone will notice.

Best case, we finish and our customers open appointmed to see what they saw the day before. Same product. One new password to set; done. That's the win condition. Months of this and success means nobody feels it happened.

I wrote a few issues back that the old mission was done and I hadn't named the new one yet. This is what we landed on and this is what it looks like from the inside. Pushing hard, every day, toward something nobody sees at first. No launch moment. Just the same thing, running on a vastly better foundation nobody using it will ever see.

But invisible at first isn't invisible for good. The foundation is the whole point. It's what lets us build faster from here on out and make AI a native part of the product instead of something bolted on the side. The features we want to work on over the next years need a foundation built for them. And the old product would fight us the whole way. That payoff is tremendous. It just doesn't land on the day we finish and it doesn't help me put a number on how far away that day is.

What I've got is this: I'm certain of the direction and blind to the distance. The call ended the way it started, no number, and tomorrow I get up and push the same boulder anyway. I'll know we're close when we're close. Not before.