# Deployment strategy: change sets, pipelines and rollback

*Platform Development Lifecycle and Deployment Architect Study Guide · System Design · Last updated October 26, 2026 · https://www.certifyforce.com/study-guide/platform-development-lifecycle-and-deployment-architect/system-design/deployment-strategy-change-sets-pipelines-and-rollback*

How change sets work and where they stop scaling, when to move to CLI deployments from Git or package versions, the components of a gated pipeline, monitoring with Deployment Status, and how tested rollback and feature flags in custom metadata separate deploying from releasing.

- Certification: Salesforce Platform Development Lifecycle and Deployment Architect
- Exam section: System Design
- Study guide: https://www.certifyforce.com/study-guide/platform-development-lifecycle-and-deployment-architect

**Official exam objective:**

> Given a scenario, compare, contrast and recommend the components and tools of a successful deployment strategy.

## What the exam expects

- Explain how change sets work: deployment connections, outbound and inbound sets, whole-set deploys, org locks, the 10,000-file limit and what they can't carry.
- Recommend change sets, CLI deployments from Git, Lifecycle Center or package versions for a team's size, tooling and risk.
- Name the core components of a gated pipeline: source control as source of truth, automated validation and tested rollback.
- Monitor Metadata API deployments in Setup and stop parallel streams from overwriting each other.
- Roll metadata back by redeploying a known version, and use feature flags to separate deploying from releasing.

Key terms: **deployment connection** (authorization for change sets between related orgs); **inbound change set** (a change set received from another org, deployed as a whole); **package version** (an immutable artifact installed in each environment); **rollback procedure** (a documented, tested way to restore the previous version); **feature flag** (configuration that keeps deployed functionality switched off until release).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Change set contents | Setup customizations only, never records | [Change Sets](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets.htm&type=5) |
| Which orgs | Only orgs affiliated with the same production org, over a deployment connection | [Change Sets](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets.htm&type=5) |
| Inbound deploy | As a whole, not component by component | [Change Sets](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets.htm&type=5) |
| Org lock | Data still read and written; metadata changes blocked | [Change Sets Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets_best_practices.htm&type=5) |
| File limit | 10,000 files per change set | [Change Sets Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets_best_practices.htm&type=5) |
| Tests on deploy | Production with Apex: all local tests by default; sandbox: none automatically | [Change Sets Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets_best_practices.htm&type=5) |
| Deployment Status | Setup page showing Metadata API deployments that are in progress, waiting or completed | [Deploy Your Changes](https://help.salesforce.com/s/articleView?language=en_US&id=platform.deploy_overview.htm&type=5) |
| Package version | Immutable; usable as a CI and CD artifact | [What's an Unlocked Package?](https://developer.salesforce.com/docs/platform/sfdx-dev/guide/sfdx-dev-unlocked-pkg-whats-a-package.html) |
| Validate without saving | `sf project deploy start --dry-run` | [project deploy start](https://developer.salesforce.com/docs/platform/salesforce-cli-reference/guide/cli_reference_project_deploy_start.html) |
| Rollback target | Executable in under 30 minutes, tested in non-production | [DevOps Patterns](https://architect.salesforce.com/docs/architect/well-architected/guide/operational-excellence-devops-patterns.html) |

## Check yourself

- Why can't a change set replace a test-data load into a new sandbox?
- When should a release manager apply a custom field type change by hand instead of in the change set?
- Why does a package-based pipeline remove the "what passed UAT isn't what shipped" problem?
- Where in Setup can a non-CLI user see whether a pipeline's deployment is still waiting?

## Sources

- [Change Sets](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets.htm&type=5)
- [Change Sets Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=sf.changesets_best_practices.htm&type=5)
- [Deploy Your Changes](https://help.salesforce.com/s/articleView?language=en_US&id=platform.deploy_overview.htm&type=5)
- [Operational Excellence - DevOps Patterns](https://architect.salesforce.com/docs/architect/well-architected/guide/operational-excellence-devops-patterns.html)
- [Testing, Building, and Releasing with Salesforce DX (Trailhead)](https://trailhead.salesforce.com/content/learn/modules/sfdx_dev_model/sfdx_dev_model_release)
- [What's an Unlocked Package?](https://developer.salesforce.com/docs/platform/sfdx-dev/guide/sfdx-dev-unlocked-pkg-whats-a-package.html)
- [project deploy start | Salesforce CLI Command Reference](https://developer.salesforce.com/docs/platform/salesforce-cli-reference/guide/cli_reference_project_deploy_start.html)
- [Govern, Manage, and Release Changes with Lifecycle Center](https://help.salesforce.com/s/articleView?language=en_US&id=platform.devops_center_overview.htm&type=5)
- [Custom Permissions](https://help.salesforce.com/s/articleView?id=platform.custom_perms_overview.htm&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 12 linked practice questions, and unlimited timed mock exams are included with the Platform Development Lifecycle and Deployment Architect pack (USD $19): https://www.certifyforce.com/practice-exams
