Currently, in our organization, we do not have proper release mgmt process for SFDC releases. Can you please suggest a proper process for managing SFDC releases starting from development till the actual deployment of release in prod. We are having issues like - it takes too much time for the prod deployment(even it is minor), errors are found at the last step, There is no central team which has control over new changes and releases, no proper tools etc. Please suggest me a process which you have already implemented in your organization. Provide your valuable suggestions. Thank you!
-
1Welcome to salesforce.stackexchange Ghary. We aim to provide good answers, which is usually only possible to subject specific questions. There are many ways to do release management and organise development, so this will be highly subjective and may not lead to any "true" rewarding answers. Any chance you could rephrase your question to be more specific ?– Samuel De RyckeCommented Nov 6, 2013 at 7:22
-
want to know how we can improve the SFDC release process. What r best practices to achieve seamless process where we hav dployments going to prod every 20-30 mins for small changes. Currently the challenge here might not be technical but also from operational level. So want to know if there is any best process people follow in their organization. To be more specific: 1)our deployments to prod are taking too long, sometimes it even runs for whole day. 2)Is there any better way developer can keep track of changes manually fr the components which are not available in API? concerns like this...– GharyCommented Nov 6, 2013 at 9:47
-
Can you update your question (edit?) That'll be more readable and easier to answer.– Samuel De RyckeCommented Nov 6, 2013 at 10:59
3 Answers
I setup a change management/release policy this year and it has been quite useful. Going along with it we created a Governance Board, which you may or may not do,. It follows these general lines below.
Change Management: Our end-users have a lot of ideas and requests for Salesforce functionality. In addition, salesforce.com produces three seasonal releases (Winter, Spring, Summer) per year. Change Management is how we can focus on product enhancements that most effectively drive user adoption and have the biggest impact on our organization—and users’ day-to-day functions.
- Strategy - Immediate, Minor, and Major Releases I= Fix, Minor = 1-2 groups affected Major- Impact on daily business for multiple groups
- Executive Sponsor - Someone that knows the process, problems, and users that will define the process, help w/ strategic objectives, and drive adoption
- Collect Input - we use cases (email to Case) for requests and ideas
- Define Scope and Impact - Done in Cases, presented to board monthly
- Prioritize- based on need and current pipeline in Cases and Ideas (spc. Ideas in Action app from Force.com)
- Configure and Test - Sandbox, first by us, then by power users in sandbox
- Communicate and Train Users - PPTs, Online Documentation for all changes, Classes/Webinar/Emails as needed
- Deploy - Push to prod.
- Follow-up & Support- Go live, 1 week later Bug fix 1 then 2 weeks later present results to Board.
Using:
Cases for Single department projects and tasks (i.e. dashboard, reports) Ideas - vote and request changes Ideas in Action App by Force.com Labs - custoized to track Ideas that become projects for Board overview with details and broken down sections of projects in cases.
MeighanRocksSF's answer is a great summary of how you could structure your overall release management. To implement it, you'll also need to use an appropriate deployment tool.
The two tools offered by Salesforce - Change sets and the Force.com migration tool - aren't really built with this in mind. You'll need a tool which supports:
- Automated tracking and reporting for the change management team
- Performs quick and simple comparisons and deployments between your SF environments
- Is accessible to all team members (not just the devs)
You might also want to look at using continuous integration to automate the deployment process from dev->sandbox->production to reduce manual steps and speed up development & testing.
Gearset have just released a whitepaper on best-practice Salesforce release management which could be a useful resource to help you get your head around all of this.
You can download the whitepaper from here: https://gearset.com/salesforce-release-management
(Full disclosure: I'm a part of the Gearset team, but I genuinely think our whitepaper could help you out here!)
I would recommend you have a look at AutoRABIT , an end-to-end Salesforce release management solution for Salesforce Applications with powerful integrations for GIT, SVN, TFS [ all the way from check-in to branching can be done with AutoRABIT into your own VCS ] , deployments from ALM user story status like Jira or from Sandbox or from version control , Parent-child based multi-object data loader and Selenium curing engine for powerful record-playback solution for Salesforce Test Automation. We are also DF'15 in mega booth in Dev Zone this year. Would be glad to meet you at the cocktail party . Let me know if we can catch up at DF as well. Here is a quick list of salesforce release management features of AutoRABIT.