By: David Kyurkchyan

So, you’re planning on implementing a new feature for your organization on Salesforce? The good news is that Salesforce provides a multitude of options when it comes to customizing and extending the platform to meet your organization’s needs.

However, on the flip side, if you don’t carefully evaluate each of these options and the current state of your Salesforce implementation, you may be setting yourself up for huge technical debt down the road. And if you’re like me, too much debt, technical or otherwise, is something you want to avoid at all costs.

To understand this better let’s look at the formal definition of technical debt which is as follows: “…a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.” All those words boiled down mean that Technical Debt is what happens when your short term “quick fix” creates more long-term work and wasn’t actually a scalable solution.

It is common for an organization to find itself trapped between their existing customizations and future needs because they didn’t select the right approach when adding those new features. Instead they opted for the easiest path or the one which they were most familiar with.

With the help of a skilled and certified Salesforce consultant, Appluent can help guide clients in the right direction. Consultants are confident in taking on the extra work and knowing they are creating something their client will use day in and day out as their Org grows. Having that skilled background can even make those large-scale tasks seem less daunting because we’ve done it before and aren’t stuck in an old way of thinking.

So, with that in mind, let’s consider the following example: Your Salesforce users need the ability to create and assign task records to themselves or others when working on a customer’s Account. Sounds simple? Technically it is, but if you have a deep understanding of the platform, you’ll notice there are at least 10 different tools at your disposal to provide this exact capability for your users.

You may opt to go with the out of the box features that allow for creating a task from most records but what if you need the user experience to look a little different? Or you need someone to get notified once the task was created by way of an email message?

I hope you brought an appetite. Let’s take a look at the menu. For the former, you can have apex and visualforce, lightning components or flow screens and for the latter you can order a process builder, apex trigger, lightning flow or a workflow rule. The options are aplenty and each of them are very tasty, but it isn’t always clear which approach is best.

A general rule you can follow is the simpler the tool the better, as long as it does not conflict with the existing design patterns of your Salesforce implementation. (This is something a consultant is great at establishing!) A workflow rule is much simpler than a process builder, which in turn is simpler than a Lightning Flow which again is simpler than apex, visualforce or lightning components. But if your organization heavily utilizes process builder for its automations, you’d rather continue that trend instead of adding workflow rules to the mix even though you may be more familiar with them or they will take less time because you’ll be increasing the technical debt.

Now, it’s not possible over the lifecycle of any enterprise level implementation to consolidate all of your customizations to a single tool, and that’s perfectly fine, but you don’t want to cast too wide a net unless there is good reason for it. Consultants know just how to find the right tool for the right job. When it comes time to troubleshoot a bug or extend the platform further, you don’t want to go digging through 10 different interconnected tools.

With a consultant on your team you can tackle existing technical debt and build something long-term that will help your Org run smoothly, no matter the size of the solution.

No matter which approach you select, make sure you follow a pattern. Always have an answer to why you want to use a particular tool as opposed to another and don’t be afraid to tackle any existing technical debt before it becomes unsurmountable.