I am very new to Salesforce and as you can see from my blog, I am .Net developer and more specifically a SharePoint developer. In salesforce , there is no clear strategy for release management and I am asking the wider Salesforce community to help me to see if the proposed release plan is OK.
The current deployment model we use are multiple Sandbox environments and changeset to deploy change from Dev >> Test>>Preprod>>Prod . Here are the challenges I understand so far in Salesforce deployment.
You cannot rollback after a changeset is successfully deployed
Creating changeset is very manual
To address the first issue (You cannot rollback after a changeset is successfully deployed):
Backup the data by scheduling a weekly data export (my question would be , how we can use the data export to restore the data)
Backup the apex code (trigger, visual force…), we can use eclipse to deploy these changes so that the apex code can be rolled back.
Document all the schema changes(custom object, custom fields, custom labels, tabs …) , if we do need rolled back we can manually delete all those changes..
To address second issue (Creating changeset is very manual)
We are looking at using Salesforce IDE or Salesforce migration tool to deploy the changes from environment to environment.