Development, any work item in a [email protected] project will be developed in a scratch org. These scratch org's could be provisioned individually or fetched from a pool. Any bug fixes or hot fixes done against an existing release should be demonstrable in a scratch org. This is intended to minimize pushing features as bug fixes to production using hot fix pathway.
Validate integration of a work item from a developer against main line using just in time CI Orgs. To speed up the process, the CI orgs could be pre-provisioned using pools.
This sandbox is used in a CI pipeline, where after merge, the created packages are deployed to this long lived sandbox for checking upgradeability. Can apply pre/post steps to validate deployment process.
This environment is the first environment where all new packages will be tested. This environment will also have test data.
Staging is the integrated environment where work items are tested against other connected environments. Test data will be deployed to this environment to make it meaningful. During the normal course of development, this environment mainly takes the role of SIT (System Integration Testing) environment. As the development nears a release, or the release branch is cut, the environment is attached to the release feed and release packages are installed. The behaviour of the system changes to User Acceptance Testing. If there are not enough integration endpoints to connect to, this environment may be only possible in one consolidated UAT environment.
Environment utilized by the Data Migration developers in a large program to test their data migration scripts for mock deployments. Only packages that are successfully tested in System Testing Environment should be pushed into this environment.
Used by data migration teams to test the data migration scripts on a bigger data set.
Used by data migration teams to test the full data migration scripts to a full sandbox to benchmark performance and data quality issues. Depending on the release model, this could be refreshed multiple times before the major release to ensure migration success.
Developer Pro, Partial, or Full Sandbox
Environment utilized for developing training assets. Depending on requirements for data sets, a partial or full sandbox may be required.
Environment utilized to test hotfix. This environment follows the artifacts deployed to production and not necessarily one in staging during release hardening phase .
PreProd or DR (Dress Rehearsal)
Final staging environment before a release. This environment is deployed all the packages for the release and the data migration scripts are triggered ** to test the accuracy of scripts before deploying to production. Use of a Developer sandbox can be leverage for artifact deployments as they can be refreshed or created more frequently than Full Sandboxes.
Production Org and Dev Hub