The Friday Deploy
The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.
Late is just for a little while. Suck is forever.
Gaben; Gabe Newell, founder of Valve, creators of Steam, the world leader in PC gaming online retail said it best: “late is just for a little while, suck is forever”.
He’s right. But knowing he’s right doesn’t tell you what to do on the day your developer says it isn’t ready and your marketing team has already scheduled the campaign.
That’s the question this post answers.
The reason it’s hard is you don’t have a framework
You’ve got a launch date. It’s in the calendar, it’s been communicated, the marketing team has scheduled the campaign. Then your dev team tells you it’s not ready.
Maybe they’re right. Maybe they’re being precious. You don’t have a clean way to tell.
So you either push and ship something incomplete, or you delay and absorb the fallout. Both feel bad. And the reason both feel bad is that you’re making a judgement call without a framework for making it.
Here’s the framework I use
- Is this new, or an iteration?
- Does this have gravity?
Two questions. That’s it.
Is this new, or an iteration?
New means: a new product, a new customer, a new market. Something where the person on the other end has no prior experience of you delivering this thing.
Iteration means: you’ve shipped before, your customers have context, and this is the next step in an ongoing relationship.
If it’s new: wait. A first impression is not recoverable. The cost of being late is real, but it’s opportunity cost. The cost of being bad is reputation, and it compounds. You get one chance to introduce yourself.
Unless you’ve gone out there telling your customers your product is due to arrive on a specific date, nobody will know it is late. Just you. But they will absolutely know if it isn’t fully baked.
If it’s an iteration: ship it. Your customers already have a relationship with you. They expect things to evolve. If something isn’t ready, pull it from this release and put it in the next one. Don’t hold up everything that is done waiting for the one thing that isn’t. Someone will complain no matter what you do.
Gravity means: does this sit directly between a customer and a completed transaction. The checkout, the pricing page, the booking form, the subscription sign-up. The moment where intent becomes action.
Everything else is upstream. Upstream matters, but upstream is recoverable without the same urgency. A broken wishlist feature doesn’t stop anyone buying today. A broken checkout does.
Gravity doesn’t care about your intentions. It just pulls.
Here’s how to use it
Run them in sequence.
- New and high gravity: wait. There’s no argument here.
- New and low gravity: default to wait, but the pressure is lower. A soft launch or a limited release is an option.
- Iteration and low gravity: ship it. This is the easy case. Don’t overthink it.
- Iteration and high gravity: this is where the judgement lives. Shipping is probably right, but only with a verified rollback plan, proper staging, and not during a peak period. “It’s just an iteration” is not a licence to be sloppy with your checkout.
Shipping and launching are not the same thing. Shipping is a technical event. The thing is live. Launching is a commercial event. You’re telling people about it. These don’t have to happen at the same time, and treating them as if they do is a rookie error and where a lot of launch pressure comes from.
Soft launch, beta program, limited access. These are all ways to ship without launching. You get real users, real feedback, real signal on what’s broken. Campaigns amplify whatever you’ve got. If it’s strong, the line goes up. If it sucks, you’ve just spent money telling the world.
Announcing a new product that’s barely out of testing isn’t a launch strategy. It’s spending your one first impression on an unfinished product and then wondering why it didn’t land.
Here’s the mistake that creates the crisis in the first place
If you’re having the ship-or-wait conversation at all, there’s a reasonable chance the date was wrong.
Not wrong because your developer sandbagged. The problem is that the scope and the date were probably never reconciled. Someone picked a date, usually based on a business cycle, a quarterly KPI, the weekend before the boss went on holiday, and then work was scoped to fit it on paper, without anyone honestly answering whether the two were compatible. The launch date crisis is often a scoping problem blamed on delivery.
Gaben knows when to wait
Late is just for a little while. Suck is forever Gabe Newell
Valve launched the first Steam Machine in 2015. It failed. They discontinued it three years later. A decade on, they announced a second generation, built properly this time, learned from what went wrong. Then in 2026 RAM prices went through the roof, driven by the AI infrastructure boom, and they’ve delayed it three times rather than ship into a market where the economics don’t work for customers.
The product is ready, but the market isn’t. So they’re waiting.
New product, or the next iteration? First impression, or ongoing relationship? Does gravity apply? Is the market ready?
Answer those honestly and the decision usually makes itself.
Gaben knows when to wait.
Read more Decision Guides
Ecommerce, Launch Strategy, Product Delivery, Project Management
Previous NextThe Friday Deploy
The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.