---
schema_version: "1"
id: 80005f15b0552253ab118826bc3ec9c6e1c7df9efc759ff5530e32ad8d916c49
title: Salesforce Development Models
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforcedx/sfvscode/guides/development-models/development-models.md
canonical_url: https://developer.salesforce.com/docs/platform/sfvscode-extensions/guide/development-models.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: b655e6f73136d90d7775593c76e60a3535f7ad1c0abddee7e393b6bcff90e1f2
products:
  - Salesforce Extensions for Visual Studio Code
  - salesforcedx
---
# Salesforce Development Models

Salesforce Developer Experience (DX) is a way to manage and develop apps on the Lightning Platform across their entire lifecycle. It enables source-driven development, team collaboration with governance, and new levels of agility for custom app development on Salesforce.

Salesforce DX supports Org Development and Package Development models to authorize, create, and deploy code in your project. Both models work with a source control repository to store changes and project files. The models differ in the way that you deploy, test, and release code. Controlling change is a significant deal in software development, and you can choose the development model that best suits your situation if you understand your options.

- **Org Development Model**: Allows you to work with orgs that don’t have source tracking, such as non-source tracked sandboxes, Developer Edition (DE) orgs, Trailhead Playgrounds, or even a production org to retrieve and deploy code directly.
- **Package Development Model**: Allows you to create self-contained applications or libraries that are deployed to your org as a single package. These packages are typically developed against source-tracked orgs, such as scratch orgs. This development model uses source tracking, and continuous integration and deployment.

Choosing which model works for you depends on a number of factors:

- The complexity of the change.
- The size of the team involved in development and their skill level.
- The metadata you work on.

The choice of Development model determines your path from development to deployment. Each development model has its pros, cons, and limitations. In choosing which option to use for a specific deployment, weigh your objectives, your team’s skills, and limitations in Salesforce. You can use different approaches for different projects, or even blend approaches on a single project.


## See Also

- [Org Development Model](https://developer.salesforce.com/docs/platform/sfvscode-extensions/guide/orgdev.md)
- [Package Development Model](https://developer.salesforce.com/docs/platform/sfvscode-extensions/guide/pkgdev.md)
