Software Deployment Stages

The following table describes the software deployment stages within the Salesforce B2C Commerce application development environment:

Instance Description Considerations
Sandbox Each development team gets one sandbox per developer and one sandbox to be used as a Build/Merge instance. Each developer is responsible for their own sandbox, where they build code, metadata, custom objects.
Build/Merge As a project progresses and interval version points are reached, developers merge their code/data on a Build/Merge instance, where internal QA is done. Designate one of your sandbox instances as the Build/Merge instance, specifically for testing major releases. This means that of the three sandbox instances provided for in a subscription, only two can be used by individual developers.
Staging As development continues, builds are moved from the Build/Merge instance to the Staging instance, where they are replicated to the Development instance for internal/external QA. Major releases can't be tested on the Staging, because they can include incompatible data definitions. Therefore, data replication can't be performed to the Production instance during the test phase.
Development Some customers use the Development instance to test the data and code replication process before replicating to Production. Others use the Development instance as a secondary Staging instance, where another version is prepared in parallel. When new code versions include changes to object or preference definitions or introduce new sites or catalogs, they can't be created and tested on a Development instance. This disqualifies the Development instance for the testing of major releases.
Production When testing is complete, the release is pushed to the Production instance. Having the same version on Development as on Production lets Support and Solution Support Engineers use the Development version for testing if problems occur on Production.

This process is repeated as the development cycle continues. The development team must determine (based on the number and severity of bugs outstanding):