Start with a Teardown Book a 20-min fit call
Decisions

You deploy straight to prod. Do you need staging yet?

"We just push to production." For a two-person team with ten users and a landing page, that is not recklessness, it is the correct amount of process. Adding a staging environment before you have anyone to protect is the kind of premature infrastructure that slows a startup down while feeling responsible.

But there is a point where deploying straight to production stops being lean and starts being a bet you keep making with real customers' money. Knowing where that line is, for your specific product, is the decision.

The case for waiting

I push back on founders who want to build a full CI/CD pipeline in week one, because the cost of process is real and the payoff only exists once you have something to lose.

Early on, your fastest way to learn is to ship, watch, and change. A staging environment adds a step between "I wrote it" and "users see it," and every step has a tax. When you have no paying customers and a bug means you fix it and redeploy in four minutes, the blast radius of a mistake is tiny. Optimizing that away is optimizing the wrong thing, the same reflex behind most premature scaling: building for a scale of risk you do not have yet.

So if you are pre-launch, or you have a handful of friendly users who forgive a hiccup, pushing to production is probably right. Do not let anyone shame you into a release process you do not need.

The signals that you have crossed the line

The decision flips when the cost of a bad deploy stops being "a bad afternoon" and starts being "a customer who leaves." Watch for these.

A bad deploy now costs real money

The story I have seen play out more than once: a team deploys straight to production every Friday, a minor change slips through, and it causes a multi-hour outage that costs thousands in revenue and burns a reference customer. The math changed and nobody noticed. Once a bad deploy can cost you a real customer or real money, the four minutes you save skipping staging are the most expensive four minutes in the company.

You have customers with expectations, or a contract

The moment you have paying customers, especially any with an uptime expectation or an actual SLA, "we broke prod for an hour" is no longer an internal event. It is a trust event, and possibly a contractual one. That is the threshold where a pre-production environment stops being overhead and becomes table stakes.

More than one person deploys

With a single developer holding the whole system in their head, deploys are relatively safe because one person knows what is fragile. Add a second or third engineer and that shared context disappears. Manual deploys introduce human error, untested code reaches production, and bugs compound faster than anyone catches them. A staging step plus automated tests is how a growing team keeps that from happening. This is the same key-person risk surfacing in a different place: the system is only safe because it lives in one person's head, which is not safe at all.

What "enough" actually looks like

Founders overestimate the cost of this because they imagine a sprawling DevOps setup. The minimum viable version is a day of work on a modern platform, not a quarter.

A sane starting point for a team that has crossed the line:

  • An automated test suite that runs on every push, so obvious breakage is caught before a human is involved.
  • A staging environment that mirrors production closely enough to be meaningful.
  • Automatic deploy to staging when you merge, then a manual promotion to production once someone has eyeballed it.

That last pattern, one pipeline that deploys to staging automatically and pauses before production, gives you a place to catch the six-hour-outage change without adding much friction. You still ship daily. You just stop shipping blind.

The mistake is treating this as all-or-nothing. You do not need blue-green deploys and a full observability stack the day you get your third customer. You need a net under the trapeze. Start with the cheapest version that would have caught your last bad deploy, and add sophistication only when a specific incident justifies it. Like most of the early decisions you cannot cheaply undo, the goal is not perfection; it is not being one bad Friday away from losing a customer you worked a year to win.

FAQ

We are pre-launch. Do we need a staging environment?

Almost certainly not. Before you have customers, shipping and learning fast beats process, and the blast radius of a bug is small. Push to production, fix forward, and revisit this the moment you have paying users or more than one person deploying.

How much does a basic staging setup actually cost to build?

On a modern cloud platform, a minimal setup of automated tests, a staging environment, and deploy-on-merge is roughly a day of engineering work, not a quarter, and it does not require a dedicated DevOps hire. The ongoing hosting cost of a small staging environment is usually modest compared to the cost of a single customer-facing outage.

What is the single clearest trigger to add staging?

When a bad deploy can cost you real money or a real customer. That usually coincides with getting paying customers, signing anything resembling an uptime commitment, or growing past a single deploying engineer. Any one of those three is a strong signal.

Isn't skipping staging just being lean?

Early, yes. Later, no. Lean means cutting process that does not pay for itself, and before you have customers a release process does not. Once an outage costs money or trust, skipping staging is not lean, it is uninsured. If you are unsure which side of that line you are on, a technical teardown can look at your deploy process and tell you whether it matches the risk you are actually carrying.

F
The founder of Fraction
Built engineering teams from 2 to 30. Killed more bad rebuilds than I've greenlit. More about me

Not sure the call you're about to make is the right one?

That's exactly what a 20-minute fit call is for — or a two-week Teardown if you'd rather start with a written verdict.