skip to Main Content

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 software over time. Let’s discuss some key terms and terminology before proceeding.


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:


“Our organization is very customized.”

“Why is our code utilization at 75%?”

“We want to aim for 80% configuration and 20% customization.”

To provide some answers, let’s delve into these issues in more detail:


    1. Assessing the degree of customization in an organization can be a challenging task. Currently, there is no readily available tool that can accurately determine the level of customization within a specific organization.
    2. The code utilization percentage is a straightforward calculation. Salesforce provides a default code limit of 6,000,000 characters. If you write 4,500,000 characters of code (excluding comments and only applicable to Apex), your code utilization will be 75%. You can contact Salesforce to increase this limit, which will decrease your utilization percentage. However, this number alone doesn’t provide much insight, and it’s more meaningful to compare your percentage to other companies in your industry and size.
    3. The 80-20 rule is a good general guideline. However, as mentioned earlier, determining the exact percentage of configuration vs customization can be difficult without a standardized method of measurement. It’s essential to remember that every organization is unique, and what works for one company may not work for another.


3. Code is Bad, Config is Good?

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 software 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:


    1. Does the proposed solution effectively address the identified need?
    2. Is the investment in the solution justified by the benefits it will bring?
    3. Will the solution be ready for implementation within the desired timeframe?
    4. Does the solution align with the organization’s long-term architectural vision?
    5. Does the organization have the necessary skills and resources to build and maintain the solution?
    6. Are there any risks associated with the proposed solution?


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:


    1. Can be accomplished through configurations or a hybrid approach (with certain exceptions)
    2. Are not reusable
    3. Are nice-to-have business needs that are primarily used by internal employees
    4. Are already planned to be included in the Salesforce product roadmap in the near future and is not an urgent requirement
    5. Can be made simpler by using no-code or low-code solutions.


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 their 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.

Ready to start your own journey?

Ready to talk to our experts and learn more about our success stories? Fill out this form and we’ll be in touch shortly.

Back To Top