function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mattytreksmattytreks 

Question: Deployment Best Practice

Hi Dev Comm- I've been at organizations that have deployed from DEV to UAT using a single iterative Change Set -- and when all items for a particular release had passed UA/QA Testing, the Change Set was then deployed from DEV straight to Prod.

(DEV --> UAT || All Items pass UA/QA in UAT? Yes || DEV --> Prod)

However, having moved on to other companies, there seems to be different schools of thought about this practice.  I've heard from others that a Prod deployment should always originate exclusively from UAT (Staging), whereby the Inbound Change Set into UAT should be re-built as an Outbound Change Set to then go to Prod.

(DEV --> UAT || All Items pass UA/QA in UAT? Yes || UAT --> Prod)

However, it was for the very reason of Inbound Change Sets not being able to be cloned as Outbound Change Sets that my presvious company actually encouraged a Prod deployment using a clone of the "final" Change Set that was deployed from DEV to UAT -- thus, we subsequently deployed from DEV to Prod.  You see, some of our Change Sets included *hundreds* of components, and this takes precious time to have to rebuild manually, each deployment.

As a general rule, is deploying a Change Set from a DEV (pre-staging Sandbox) to Prod be discouraged for any reason -- provided that no net-new development/config has taken place in that Dev Org and that all metadata is perfectly in step with Prod?

I want to ensure that I am always following best practices and absolutely do not want to take short cuts that would be perceived as being detrimental to Change/Release Management processes.

Thanks!
Manj_SFDCManj_SFDC
Hey Matt,

The statement 
(DEV --> UAT || All Items pass UA/QA in UAT? Yes || UAT --> Prod) holds good and practiced very often , and to avoid rebuilding the change sets you can opt for ANT and then deploy.

While deploying you need pay a little more attention to the profiles and the sharing rules.
 
I guess you might have googled and read some of the articles but here are these worth taking a look 
https://www.sundoginteractive.com/blog/five-steps-to-easier-deployments-with-salesforce
http://www.docurated.com/salesforce-deployment-checklist/
https://salesforce.stackexchange.com/questions/51124/salesforce-deployment-best-practices

Good luck !