Salesforce is an extremely flexible and powerful platform that works for many different implementations. Its power comes from the degree of configuration that it provides, out-of-the-box.
Taking off from our previous post, configuration allows a user to personalize aspects of the system without having to depend on an experienced programmer. With customization, you need bespoke programming done by an experienced programmer.
With Salesforce, there’s a huge range of things that can be done with just configuration. Starting from adding a few simple custom fields to let’s say an Account or Contact object in Salesforce to configuring complex workflows to automate tasks to managing security and data access through profiles and roles – all of these are possible with just configuration. All with a point-and-click interface, without needing to know any programming. The key is for the user (generally the Salesforce Administrator) to understand the business processes of the organization and to have a clear understanding of objects and how they relate to each other. Configuration is a fast, intuitive and relatively simple way to tailor Salesforce to work exactly the way that your organization needs it to work.
The individual making the changes needs to be business-focused, not code-focused. With no dependence on understanding coding or dependence on syntax of a programming language, a person who understands the business is empowered to completely configure the powerful Salesforce platform to the organization’s exact requirements. And with the vast Salesforce ecosystem, you have an almost unlimited amount of tutorials, knowledge bases, forums, videos and documentation to help you in your configuration quest. Configuration is several orders of magnitude less problematic to deal with than customization. But you really need to understand what you are trying to configure and to understand the complexities of the platform, before you attempt making changes to the system. Fortunately, Salesforce gives you the additional comfort of a “sandbox” system where you can make all your configuration changes and test it out before deploying the changes to your production environment.
As an example, let’s consider Salesforce’s Process Builder.
One of Salesforce’s most powerful tools is the Process Builder. The Process Builder is a relatively easy-to-use, visual business process automation tool that can trigger a wide variety of automatic tasks or actions. Process Builder takes the work out of repetitive tasks by automating them and streamlining them. Process Builder has a simple user interface, but is powerful enough to send out emails or update fields or for activities to automatically occur based upon preset triggers. The vast majority of automatic tasks can be automated using this simple point-and-click mechanism.
So the crucial question to ask yourself as you start to setup Salesforce for your organization is how deeply you need to modify Salesforce to serve your specific requirements. Break your business process down into various options. See how much of that can be met with configuration. Only after you exhaust all avenues for configuration, should you even consider the possibility of customization.
Some Process Builder examples.
You could use process builder to send out automatic email to a manager when the value of an opportunity value is greater than a preset amount. You could set up an email alert to be sent to a service manager if a Case is not responded to in a specified time-frame. In using the Time Tracker, we have customers who set up an automated rule to pre-populate Account related information such as Address to custom fields on the dftly Projects object, when an Opportunity Stage changes to Closed Won.
The bottom line is that with all the configuration tools at your disposal with Salesforce, you really should be able to fit between 70 – 80% of your requirements with configuration. Consider customization only for the remainder of your requirements.
Next week, we’ll talk about how we build on top of the Salesforce configuration to add configurability to the Time Tracker.