Salesforce CRM is one of the best investments that an organization can undertake to build successful customer relationship, but the way one doesn’t build their house without a blueprint, the same way, implementing Salesforce CRM requires a plan. This plan helps to communicate in an orderly fashion with everyone including identifying the key resources to figuring out when one is done with the implementation.
Once this process has been undertaken the Salesforce practitioners sometimes straight away proceed with the plan of coding, this might not be the best approach to take as in certain scenarios writing code for features that could have been easily implemented without coding is not a resource efficient process.
Initially developing everything through coding might come across as a better option, as for a software development team if everything is coded according to their own processes then they don’t have to learn and adopt to frameworks and tools already built by Salesforce.
But let’s look at this approach impact on cost and timeline of development, this will require that the cost of a Salesforce implementation becomes high like the yesteryears of Siebel CRM deployment and this will also translate to longer deployment timelines.
The aspect of maintainability of code also comes into picture – if a significant amount of custom coding is undertaken then the question of who will maintain the code after CRM rollout is complete also emerges.
Custom code can increase the degree of complexity, if we use a significant amount of custom code this typically introduces more complexity which could be hard to manage.
Why implement Salesforce without coding?
In continuation to the above points it is important to make smart decisions when it comes to deliver functionality of the role one is following. There would be situations when one will encounter scenarios within which a solution could be delivered with or without the use of code. But there are advantages and disadvantages of every scenario. There are few points which may support the circumstances where one can avoid the usage of code.
- The necessity to consider Salesforce limits and parameters is remarkably reduced or, at times, removed completely when establishing solutions using declarative means.
- Alterations are often more uncomplicated, as they may only need a change to a configuration setting, not to a line of code.
- Unit testing is not required although Apex test classes must be written for custom Apex code.
- Burdens of knowledge transfer are lessened as an understanding of the specific feature or function is generally sufficient to swiftly decide what a specific application is planned to do.
- Future maintenance becomes easy to handle. If, for example, an individual who built custom applications for you leaves abruptly, picking up the pieces is much simpler if the work was done declaratively.
Propelling a Salesforce implementation can be transformational for some associations when done effectively. At the point when done inaccurately, in any case, information gets lost, work processes go to a dramatic end, and clients wind up more lost than any other time in recent memory.
We comprehend that the true objective of a Salesforce implementation is dependably a redesign in effectiveness and client strengthening. Salesforce concentrates our customer connections on revealing special business openings and helping every customer get the most out of the stage. Salesforce works intimately with your Business to comprehend your vision for your answer and the business forms you’d get a kick out of the chance to accomplish inside the framework.
There are many such scenarios which do not require development with code. However, often development with code within Salesforce is done by an organisation based on their needs. For example, many organisations require to extent their platform in order to support added functionalities which are simply “out of the box”. Thus, an organisation developing on Salesforce with code needs to have a solid justification for doing so.
Advantages of declarative programming?
Readability: Declarative Programming is usually closer to our natural language than to code, this makes it easier to comprehend and learn by people who are not from a programming baxkground.
Code Reuse: As same functions can be called for different parameters it is easier to create code that can be used for different purposes; something that is slightly difficult to achieve when using significant amount of custom code.
Error handling: it is easy to specify a parameter that will stop as soon as it identifies an error instead of having to add work with application oerformance management tools for every bit of code.
Below we have outlined some use cases for functionalities that can easily be built without coding
Workflows can be easily used to update forms and fields without writing Triggers.. This will automatically populate or update a field with a default value.
Business Rules should ideally be enforced through form validation rules instead of through
Triggers and code. For example if the CRM administrator does not want to allow users to save the information if some details are is missing? Validation Rules is a preferred alternative to writing custom Visualforce pages and controllers or Apex Triggers.
Quite a few business logic and business processes can be defined using declarative programming. One of the main benefit is that Workflow Processes and flows help in visualization of the process, which makes it easier for a range of stakeholders to understand what’s going on
Creating Custom Objects instead of Using Standard functions.
This happens much more frequently than we assume this to happen. So it is important for a developer undertaking Salesforce implementation that they should check if there’s a standard object that is available which can address the functional requirements or that can be customized using standard functions to address the business need. This will save a lot of time, but also help control the number of custom objects in Salesforce
Salesforce offers a solution that has some pretty strong features and before undertaking any customisations, it needs to be ensured that we recognize and stay updated with the latest capabilities of Salesforce. Undertaking custom coding should only be undertaken once we have exhausted every choice.