Seriously, No Dev - Stage - Prod?

Is it possible to have an “Enterprise-Grade” eCommerce site without different Dev, Stage and Prod environments? The answer is “NO’!

A key characteristic of an “Enterprise-Grade” eCommerce site is having a well defined SDLC. SDLC stands for Software Development Life Cycle, which is a systematic approach to software development. It defines the steps and processes involved in creating software, from initial requirements gathering and analysis to design, implementation, testing, deployment, and maintenance. The purpose of the SDLC is to provide structure and organization to the software development process, to ensure that high-quality software is produced in a consistent and efficient manner. If you have an eCommerce site with any scale, you have multiple integrations, workflow rules and customizations. Without a well defined SDLC, you open yourself up to a lot of problems because you can’t effectively validate changes across environments.

The exact steps and processes involved in an SDLC can vary depending on the methodology and framework being used, but common steps include:

  1. Requirements gathering, analysis / triage and troubleshooting
  2. Design and planning
  3. Implementation and coding
  4. Testing
  5. Deployment
  6. Production Maintenance and support

By following a structured SDLC, software development teams can minimize the risk of defects and errors, improve the overall quality of their software, and ensure that projects are completed on time and within budget.

Key to doing #1 -  #5 well, is having a site that mirrors the Production environment. These mirror sites can be called Pre-Prod or Staging (or a variation of these).   A Stage environment is typically used as a testing environment to simulate a production environment. It allows developers to test changes and features before they are deployed to the live production environment, ensuring that any issues or bugs can be discovered and addressed before they affect end-users. The Stage environment should have the same functionality, rules and configurations as Prod, though usually with sanitized data. 

Having a stage environment also helps with promoting code changes and verifying that they work properly in a controlled environment, improving overall software quality and reducing the risk of potential downtime or disruptions in the production environment.

Adobe Commerce / Magento are Enterprise-Grade” platforms and support well defined Software Development Life Cycles. The same cannot be said for Shopify or BigCommerce. It is a major shortfall of these SaaS platforms that it is very difficult to set up effective staging environments. There are a few main reasons:

  1. There are no tools that support cloning a production environment for Shopify or BigCommerce. You can do this quite easily with Magento.
  2. Most extensions for Shopify and BigCommerce  require you to pay a separate fee for each environment (on top of a separate environment fee). This effectively doubles your monthly costs for the SaaS platforms. This is not true for Adobe Commerce / Magento licenses or for MageArray extensions. All of our extensions are free to use on a Staging site with a purchased license.
  3. There are no tools for automatically configuring and updating any of the apps on Shopify or BigCommerce; each one has to be done manually across the environments. That can be very error prone and time-consuming. 

The lack of support for Staging sites and a proper SDLC is a major issue with SaaS platforms like Shopify and BigCommerce. It’s another reason that Adobe Commerce / Magento is a superior option for many eCommerce organizations, especially complex ones.