These are some of Best Practices for Change Sets:-
Deploy each dependent components
Make sure every outbound change set contains all mutually beneficial parts that don't exist within the target org.if you are trying to deploy a changeset which components are not related to each other then changesets fail to deploy .what you deploy, A fine-grained management provides you with Change sets. let's say, you'll be able to migrate custom fields separately.
View details of Components
On the time of transfer of the outbound change set or before you deploy an inbound change set, You can read the XML illustration of the element.
Don't forget to check out: Access sObject's (Salesforce Object Type) Fields and Its Record | Apex Developer Guide
Use different names for Outlook publisher layouts and world publisher layouts
When you add page layouts to AN outbound change set, the kind for world publisher layouts and Outlook publisher layouts isn’t displayed. ensure that you just offer distinctive names for your world publisher layouts and Outlook publisher layouts in order that you'll be able to differentiate them in an outbound change set.
In the Outbound sets, add access settings and permissions
With the addition of profiles or the permission sets to outbound change sets permits an admin to migrate permissions for users to access new functionalities There are vital variations between permission sets and profile settings in change sets.
Always, plan your deployments around the maintenance schedule for both production and sandbox
Some options need info from your production org once accessed from a sandbox. Additionally, the originating org is secured whereas supportive an outbound change set, and therefore the target org is barred whereas deploying AN arriving change set. (When changesets lock AN org, you'll be able to still scan and write knowledge to the org, however you can’t create any setup changes that will modify the data.)
Clone change set to feature for dependent components to associate uploaded change set and add the component in it
After you upload a change set, you can't modification its contents. Always try to clone the dependent part and then add the related component and after that upload the change sets.
Before the deployment process, validate the inbound change sets
This is often a decent plan if you're coming up with deployment on a schedule (for example throughout low-use hours) and need to see if the deployment can succeed sooner than time. (You will still scan and write data to the org, however you can’t create any setup changes that will modify the data.)for an inbound changesets, first, click on its name and then validate it.
Limit change sets within ten thousand files
Change sets are restricted to ten thousand files. When the limit of change sets are increased then produce the separate change sets for reports, dashboards, and email templates. These components are typically the foremost varied and have fewer dependencies.
Plan for tests to run in the target Organization
When a change set is deployed to a production org, all native Apex tests in this org are gone by default if you’re deploying any Apex classes or triggers. If the target org may be a sandbox, however, tests aren’t mechanically run.
Check out another amazing blog by Ratnesh here: Inbound and Outbound Web Services in Salesforce
Consider potential delays in the deployment time once the field sort changes include in change sets
If a change set includes changes to custom field varieties, the deployment time may be delayed by AN extended amount of your time as a result of custom field sort changes would possibly need changes during a sizable amount of records. To avoid long delays in deployment, an alternate is to use the sphere sort modification manually when the change set is deployed.
Rename or delete components exploitation the web interface
You can't use change sets to delete or rename elements. To rename an element, initial delete the element on the target org and so transfer the new component during a change set.
References: Linkedin, salesforce.stackexchange