---
title: "Software Engineering 104: Updates, Staging and Sandboxing"
description: "Part 4 of 5: shipping updates incrementally, and using a staging environment before production."
og:
  image: images/app/opengraph/og-software-engineering-104.png
---

# Software Engineering 104: Updates, Staging and Sandboxing

Published on: 16-11-2023

## 1. Don’t push too many updates at once

Adding too many new features at once has several downsides.

- It can **overwhelm some users** who are used to the older way of using your site.
- It can **increase code complexity** which impacts testing and deployment.
- It can **delay release** because of less-essential features that can go live after launch.
- It **increases the risk of introducing bugs.**

A better way to handle long lists of features is to prioritize them. **Start from an MVP** (Minimum Viable Product) that can be launched sooner, **then add new features**, one by one. On the one hand, this allows users more time to get used to the updates. Furthermore, it gives you and your clients a better chance to review each feature and its impact on the site as a whole.

![updates-staging-sandboxing](/images/pages/104.jpg)

## 2. Set up a staging environment

The staging environment is vital as **a final step before pushing updates to production.** It’s a controlled environment where you can test software changes, debug issues, apply security patches and test platform performance with no impact to the live site. The staging environment should match your live environment, while being completely independent from it.

The benefits of using a staging environment are:

- Have **better user experience and satisfaction** from having less down-time before new updates are pushed to the live environment.
- **Lower costs.** It’s cheaper to fix issues in a controlled environment, than on the live one where you can potentially lose sales if anything goes wrong.
- **Discover new errors** from having a different individual from the developer test the changes. This implies that you have a separate step in the deployment process for QA.
- **Gain access to more feedback.** The staging environment can be shared with the client for further review. On top of this, you can safely run tests in the staging environment that would impact performance on the live site.

## 3. Set up a sandbox environment

A sandbox environment is an isolated testing environment where you can test new programming code or potentially malicious 3rd-party code with no risk to the live platform.

You have several options to implement sandboxing:

- Cloud-based,
- A dedicated machine,
- Software bundles,
- Web browser extensions.

## Why work with Apidemia on this?

Twenty years of PHP, and we're an official Laminas commercial vendor - one of a short list endorsed by the technology's own stewards.
Most of our engineers are ZCE (Zend Certified Engineers).
We build for the long term - projects that don't need a rewrite again in three years.

[Talk to us](/#contact) about your platform.
