Staging vs. Production Environments Explained
One of the most important safeguards in professional software delivery is the separation of environments. This article explains why we use multiple environments and what each is for.
The Environments
| Environment | Purpose | Who Can Access |
|---|---|---|
| Development (Dev) | Where engineers write and test code daily. Unstable — may break at any time. | Progressive Robot engineers only |
| Staging / QA | A stable copy of production for testing before release. Your UAT happens here. | Progressive Robot team + you (for UAT) |
| Production (Live) | The live environment your real users access. Changes only deployed after staging sign-off. | Your users. Admin access limited. |
Why This Separation Matters
Without separate environments:
- Testing would happen on live data, risking data corruption
- A failed deployment could take your live service down immediately
- You could not test new features without exposing them to real users prematurely
Data in Staging
Staging should never contain real personal data. We use anonymised or synthetic test data in staging environments. If you need to test with realistic data volumes, we will create anonymised data sets that preserve structure without containing real customer information.
Staging URL Access
Your staging URL will be provided by your Project Manager. Access is typically password-protected. Do not share the staging URL publicly — it is for review and testing only, not for sharing with end users.