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
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 choose to work with Apidemia for writing work-for-hire software?
  • Apidemia is one of the few companies that are official commercial vendors for Laminas.
  • Our projects are built for the long term, 10-15-20 years, without fundamental changes.
  • We keep the stack updated with regular updates that take advantage of newer packages.
  • We have a team of highly experienced software engineers, business developers, testers and managers. Most of our developers are ZCE (Zend Certified Engineers) and are familiar with the most efficient design architecture and coding practices