How To Manage Your Salesforce Change Management Program
Use change management principles to manage change to your Salesforce environment to ensure growth without chaos
Change management is an essential process that helps a company grow without creating unnecessary disruption. In a Salesforce environment, change may result from a range of factors, including organizational changes, business process changes, the addition or removal of processes, data model modifications, new Salesforce releases, the introduction of custom applications, or integrations. Whatever the source, change must be managed through a disciplined change management process. Salesforce administrators need to identify, prioritize, assign, execute, and communicate change to employees in order to support orderly success.
Managing change in an on-demand environment is similar to managing change in a traditional client-server IT environment. However, there are important differences that Salesforce administrators should understand. To effectively and efficiently manage your organization’s Salesforce application, it is important to understand the key concepts and best practices associated with change management in the platform.
Defining a Program
A well-defined change management program is centered on continuous improvement. It begins with a clear vision and strategy that define the overall goals you are trying to achieve. After establishing that vision and strategy, you must continuously initiate and plan projects that support the program. Salesforce provides some of this through its feature releases; however, it remains important to work closely with end users and executives to identify opportunities for new applications or custom functionality that improve the user experience and help drive adoption. Next, you must operationalize the key functional components and continually validate results, making adjustments as needed.
The main points for a successful change management program are:
Vision & Strategy: Establish a change management program that defines a strategy to achieve objectives and ensure progress.
Initiate & Plan: Identify the key Salesforce capabilities required to support the change management objectives and develop a roadmap for implementing changes.
Operationalize: Build, configure, and deploy applications using the on-demand release management approach, and drive adoption of new features and customizations.
Validate: Continually monitor performance metrics, audit data, and use the results to drive behavior or process change within the organization where appropriate.
Implementing Change Management
Once you have established a change management program, you can use the following implementation steps to improve your success when managing change requests in your Salesforce environment.
Collecting Change Request Ideas
Analyzing & Prioritizing Change Requests
Configuring, Implementing, & Testing Change Requests
Developing an End-User Communication Strategy
Let’s explore each of these points in more detail.
Collecting Change Request Ideas
The first implementation step is to collect ideas and requests from users regarding the functionality they would like to see in the Salesforce application. Creating a clear outlet for users to submit requests is a critical part of adoption. Without one, many users may look for other ways to solve their problems and ultimately move away from the Salesforce implementation. Salesforce offers three best-practice tools that I recommend for collecting change request ideas.
Salesforce Chatter: Creating a Chatter Group, such as “Salesforce Change Requests,” is a useful way to gather feedback from your user base. Chatter is similar to Facebook for the enterprise. Because it is a real-time collaboration tool in the cloud, it can provide secure, immediate communication in a familiar social-style interface. It is built on the robust and secure Force.com infrastructure. Users can join your Salesforce Change Requests Chatter group, post change request ideas, and comment on other posts. All messages are available as a feed that users can subscribe to.
Salesforce Cases: Cases are another effective way to collect feedback from internal users. A user can submit a case with the details needed for the request. If you use this method, I recommend creating a Case Record Type for internal enhancement requests so that external support requests are not mixed with other case types, such as external customer cases. Creating a Case Record Type also helps with list views and reporting. With this approach, the administrator or change management committee can evaluate requests using Salesforce reports and dashboards to monitor the number, type, frequency, release schedule, and other characteristics of the requests.
Salesforce Ideas: Depending on your Salesforce edition, the administrator can configure Salesforce Ideas as a simple and efficient way for internal users to submit enhancement requests. When a user submits an idea, other users can review it and vote on the ideas they value most, allowing the top-voted items to rise to the top of the request list. In this way, users can help drive prioritization. The administrator or change management committee can also interact with users by posting comments on the idea request. This two-way interaction creates a collaborative environment and gives users a channel to voice their needs. Salesforce uses this same approach on its IdeaExchange site to gather product ideas and receive feedback.
These are just a few examples of tools that can help manage change in your Salesforce environment. Using the same methods to engage the internal user base that you use with customers demonstrates your company’s commitment to Salesforce. Users are more likely to adopt Salesforce when their voice is heard through channels such as Chatter, Cases, and Salesforce Ideas.
Analyzing & Prioritizing Change Requests
Analyzing and prioritizing change requests should be done by a Salesforce change management committee that meets regularly to review and schedule large, complex enhancement requests. The committee should be cross-functional, with members representing both administration and the business units that use Salesforce. A well-defined committee ensures that changes likely to affect the broader Salesforce environment, such as changes to global settings or organizational business processes, are discussed and assessed appropriately. Everyone involved should understand the impact on their respective business units or processes.
In addition to reviewing, prioritizing, scheduling, and approving requests, the Salesforce change management committee should also be responsible for monitoring overall application usage, evaluating key metrics, and developing tactics to drive and maintain user adoption.
Configuring, Implementing & Testing Change Requests
Managing a client-server environment differs from managing an on-demand environment. In the old client-server model, companies and organizations invested significant time and resources in building development, test, and staging environments to develop and test changes. Fortunately, Salesforce provides an on-demand sandbox environment. Depending on your licensing agreement, you can configure one or more separate sandbox environments with the click of a button. Refreshing a sandbox is equally simple. Salesforce allows sandbox refreshes every 30 days to keep test environments synchronized with production.
I recommend that all companies, large or small, use configuration or developer sandboxes for development and test environments, and use full sandboxes for staging or training. Configuration and developer sandboxes provide a copy of all production application and configuration information, but records and data are not copied into those environments. Using configuration and developer sandboxes adds an important security layer and helps prevent unwanted access to sensitive information during development or testing. In contrast, full sandboxes are ideal for staging or training environments because end users can validate changes using their own user accounts and profiles. Using full sandboxes helps ensure that new functionality is configured correctly and that users can complete any necessary training before deployment to production.
You should follow the sandbox methodology when making changes to the following items:
Workflow and approval processes
Role hierarchy
Sharing rules
Territory management
Integrations through Web Services or Data Loader
Apex Code or Visualforce enhancements
Building custom applications
After testing is complete, use the migration tools provided by Salesforce to move the changes forward, or migrate them manually if the changes are not part of the Metadata API or are simple enough that a specific tool is not required.
The Force.com Eclipse Integrated Development Environment (IDE) provides a fully integrated development environment that developers can use to work with Salesforce application customizations and custom applications programmatically through the Metadata API. The IDE can be used to manage the migration of changes, customizations, integrations, and custom applications between your development, testing, and training environments. I also recommend leveraging Salesforce Change Sets to help automate the migration process across your environments.
Developing an End User Communication Strategy
The Salesforce change management committee must have a training strategy that includes new Salesforce users as well as ongoing training to support new features and configurations as the company grows. Consider supporting multiple groups, different roles, and different learning styles, since the needs of a sales representative and a technical consultant will differ. Lastly, consider using a range of media and communication vehicles to deliver training or information to end users, such as instructor-led training, webinars, newsletters, tips and tricks notifications, or homepage messages and alerts.

