Best Practices Medium

Set up a staging environment

A staging environment is a production-like place to verify a change before it reaches real users. Without one, every deploy is tested for the first time in production, which turns routine changes into higher-risk events and makes it much harder to catch integration bugs before customers do.

Why it matters

Without a staging environment, every change is tested for the first time in production, turning routine deploys into high-risk events that can take the live site down.

How to fix

  1. 1 Stand up a staging environment that mirrors production configuration.
  2. 2 Route all deploys through staging before promoting to production.
  3. 3 Add a lightweight checklist or smoke test to run on staging.

Common mistakes

  • Standing up a staging environment that drifts out of sync with production configuration (different environment variables, data, or infra), so it stops catching the bugs that actually matter.
  • Building staging but not actually routing deploys through it consistently, so it becomes an occasionally-used sandbox rather than a real gate.
  • Treating staging as a substitute for automated tests rather than a complement to them: manual staging checks alone do not scale as the team or codebase grows.

How to verify

  1. 1 Confirm a staging (or equivalent pre-production) environment exists and is reachable, mirroring production configuration.
  2. 2 Confirm the team's deploy process actually routes changes through staging before promoting to production, rather than staging being optional.
  3. 3 Run through a lightweight smoke-test checklist on staging after a deploy and confirm it catches issues before they reach production.

Related checks

Ready to see where you stand?

Scan your site and get your Engineering Score with a prioritized roadmap in under a minute, no signup required.

Scan your site