Manage Change with a Governance Framework
You’ve learned how to keep your organization lean and clean using the tools that Salesforce provides. However, governance, a method of management, is about more than tools. Governance improves agility by ensuring all members of your team are working together to achieve goals that are aligned with overall business goals.
- Center of Excellence
- A few stakeholders from different functional groups work together to ensure that changes support business goals and follow IT best practices and processes.
- Release Management
- You’ve already learned how to use tools like change sets and a sandbox to manage changes. If you use a backlog list to manage priorities, you can work on the most important changes first. And if you design and document a complete release management process as you learn more about your organization, everyone who works with Salesforce will be able to know how to do so safely.
- Design Standards
- Follow key standards for coding, testing, integration, large data volumes, and other areas that affect the services you share with other Salesforce customers.
A center of excellence (CoE) is a group of people who promote collaboration and best practices to ensure great business results.
- The CoE focuses on key project goals in the context of overall business goals. As a result, you can try new ideas quickly instead of forcing them through an IT channel that typically is focused on keeping existing processes running.
- The CoE reviews user feedback and comments from user communities and responds to enhancement requests.
- When a CoE defines and shares best practices, business units find it easier to comply with governance practices. In many industries, data, security, visibility, and access are critical to meeting regulatory requirements.
- As the CoE develops and communicates the roadmap for change, velocity increases because everyone understands the priority of business requirements.
Start with a small CoE, and grow it over time as the members learn about the challenges and opportunities related to Salesforce.
- Release (Project Management)
- Create and own the overall project roadmap and release plan.
- Convert high-level goals and strategies into a business backlog (Agile) or prioritized list of goals (waterfall).
- Scrum Teams
- Take the business backlog and deliver the functionality defined in it.
- Define the overall system architecture and make sure that projects adhere to the corporate standards, including data architecture.
- Adoption and Training
- Ensure that end users understand how to use the system (training), and report on metrics that reflect adoption.
- Provide support to end users and report system defects.
To get started:
- Select your CoE team members.
- Choose a few key issues to tackle. Focus on a few issues that can demonstrate the value a CoE can provide. Look for high-priority processes that need work. For example, do you have trouble with end-user adoption? Is data quality an issue? Are your end users clamoring for mobile access? Does your organization suffer from applications that are no longer needed, but still available?
- Create a charter, a backlog, and a release management process.
- Ask your Executive Sponsor to announce the CoE and encourage collaboration with it.
Create a Charter
Document your business goals and the strategies to achieve these goals with Salesforce. Your charter serves as a North Star: everybody understands why the project is being carried out. A clear charter helps the team to prioritize requirements, to focus on the area that meets their business goals as quickly as possible.
Project stakeholders develop and own the charter. Be sure to include key measures of success.
Create a Backlog or Priority List
You need a prioritized list of projects and tasks (backlog) that, when finished, indicates that the project is complete. Backlogs help you manage projects when stakeholders ask for increased scope, and they help you know if you have the resources to complete the project. The backlog is also a place where you can record acceptance criteria, risks, and other project information.
Create a Release Management Process
By using sandbox and permission sets, you’ve already created a simple release management process. Add structure by setting up a release schedule and defining criteria for major versus minor releases.
- Bug fixes and simple changes that do not require formal release management, including reports, dashboards, list views, email templates, and user administration.
- Changes with limited impact, such as a new workflow rule or trigger impacting a single business process. These releases typically require testing, but limited training and change management, and are delivered within a few weeks.
- Changes with significant impact, including configuration and code changes with one or more dependencies. Because these releases greatly affect the user experience and data quality, they require thorough testing, training, and careful change management. Major releases typically occur once a quarter (or like Salesforce, three times a year). Releasing on the same day of the week for minor and major releases is a best practice. This allows for company-wide planning and sets expectations with your business users. In addition, don’t schedule releases near holidays or other major events.
Salesforce is configurable, extendable, and supports integration with other applications and services. By following the same design standards, anyone who modifies your organization can ensure that their changes aren’t in conflict with another group’s changes. In addition, with Salesforce’s multi-tenant architecture, employing design standards helps ensure your changes stay within set governor limits.
- Standard naming conventions
- Consistently using the Description field
- Bulkified code
- Standard methods for deprecating classes and fields
- Consistent data architecture across all projects
- Handling large data volumes
The architect or architecture team in your center of excellence defines your company’s design standards. Publish your design standards, and communicate them to all teams that work on Salesforce projects, and the rest of IT.