Maximizing the Potential of Salesforce: A Guide to Navigating the Configuration vs Customization Debate
The question of whether to configure or customize Salesforce solutions often arises in conversations during implementation. The decision of which approach to take may have a significant impact on the cost and maintenance of the solution over time. Before making a recommendation, it's important to understand some key terms to start.
1. Basic Definitions
To help clarify the differences between these terms, it's useful to establish some basic definitions.
Configuration, also known as "no code," refers to any functionality that can be created using a point-and-click interface. This can include things like AppExchange packages, which require some installation and initial setup, but do not require custom code. However, it's important to note that these packages often come with additional costs and contracts.
Customization, also known as "only code," refers to any functionality that is created using custom code. This approach allows for greater flexibility and control, but it also comes with the risk of being costly to maintain over time. Additionally, custom code has no guarantee of compatibility with future releases of the software.
A Hybrid approach, known as "low code," combines both configuration and customization in order to minimize the amount of technical debt. This approach is a balance between the ease of use of configuration and the flexibility of customization.
Out-of-the-box (OOB) functionality refers to any functionality that is available to users without the need for any configuration or customization. This approach offers the most convenience, but it may not always meet the specific needs of the user.
2. Things We Often Hear
Client executives frequently raise questions about the balance between configuring and customizing software. In this article, we will address some of these common inquiries. For context, the following are a few examples of the types of questions that are commonly asked:
"Why our Org is very customized?"
"Why is our code utilization at 75%?"
"Can we aim for 80% configuration and 20% customization?"
To provide some answers, let's delve into these issues in more detail:
3. Code is Bad, Config is Good?
You are biased if you think so!
领英推荐
There is a common misconception that code is inherently bad, while configuration is inherently good. This false dichotomy implies that there are only two options to choose from and that one is inherently better than the other. However, this is a simplistic and flawed view of Salesforce development and maintenance.
The reality is that both code and configuration have their own advantages and disadvantages. Code offers more flexibility and control, but it “may” also entail higher maintenance costs in the long run. Configuration, on the other hand, is simpler to set up and use, but it might not always align with the particular needs of the user and can potentially generate other problems which we will examine further in future.
Instead of focusing on the superficial debate of code vs configuration, it's more productive to ask the following questions:
4. General Guidelines
It's important to keep in mind that every situation is unique and there is no one-size-fits-all approach. However, it's important to note that customization is not a negative term, as some may believe, and not all customizations are created equal. It's important to weigh the pros and cons of each approach and choose the one that best suits the specific needs of the organization.
?As a general principle, it is generally advisable to avoid customizations that:
5. Truffle's Approach
At Truffle, we adopt a systematic approach to assist our clients with this process. The flowchart for selecting the appropriate approach is shown below. Establishing a Center of Excellence (CoE) is a subject that we will delve into in more detail in the future, but it will require a team of IT, business, and product management representatives to evaluate the implementation team's proposed solutions and weigh the trade-offs for crucial decisions.
6. Conclusion
To summarize, it's important to keep in mind that customization is not always a negative term and can be the best solution for certain needs. Additionally, Salesforce is both a platform-as-a-service (PaaS) and a software-as-a-service (SaaS), so it's important to take advantage of the flexibility and customization options it provides.
Ultimately, what matters is that the chosen solution aligns with the organization's principles and expectations. To ensure that informed decisions are made, it's important to follow a process that involves all stakeholders and takes into account different perspectives and needs.
In addition, it's important to note that every organization is unique and each implementation has its own set of requirements, so there is no one-size-fits-all approach. It's important to evaluate the specific needs of the organization and determine the most appropriate approach, whether it be code, configuration, or a combination of both. Therefore, it is important to have a clear vision and strategy for both short- and long-term goals, and to engage the right team of experts.