Coding vs Declarative in Software Development

Apr 15, 2017

Coders like to code – they roll up their sleeves and get into the nitty gritty of whatever programming language they use. But is it always the best way to develop software?

Our firm has chosen Salesforce as our development platform for software. We leverage the existing Salesforce clouds (Sales, Service, Marketing Automation, Community, etc.), which provide a lot of functionality on their own, to develop business-specific software for our clients. While our staff members are developers at heart, we choose to deploy software for our clients on the Salesforce platform, without any coding.

Speaking the Salesforce Language

Salesforce’s object-oriented language is APEX – very similar to Java – and Visualforce is its tag-based markup language, similar to HTML. There are many (read: thousands) of very talented Salesforce developers all over the world who are certified and available to code. However, we prefer the “Declarative” approach to development. Here’s why.

ADP Speaks Salesforce

Over the last year or so, Salesforce has improved its declarative tools – known as the Flow and Process Builder. It works like this:

Process Builder is like a trigger that watches for changes in data to kick off a logical process, while Flow provides for more complex data manipulation and processing. The ADP Team has been able to leverage these tools to provide for complex workflows for our clients.

Let’s take a closer look:

  1. We have a client who needed to automate invoicing for customers who pay on a monthly, quarterly and annual basis. In Salesforce, we used the opportunity and opportunity products to drive the process.
  2. Once a month, a flow-based screen is invoked through a link in Salesforce asking for the renewal month and year and the invoice date for the statement to be generated.
  3. The flow finds all opportunities, updates them and prepares them for integration with the accounting system and creates new opportunities with opportunity products for the next set of renewals to come up.
  4. The finance department then runs a report to verify the opportunities that will generate invoices, and runs the integration to accounting
  5. This integration creates the invoice within the accounting system; sends the Invoice back to Salesforce, attaching it to the correct Opportunity, thus creating an accounts receivable tracking.

More steps than you thought, right? And like I said — no code was used to do this.

Benefits of the ADP Approach

There are two major benefits to our clients when we use the declarative approach:

  • One is that it takes much less time, meaning that it is not as expensive.
  • And second, because it is declarative (and native to Salesforce), it won’t be broken when Salesforce does its major upgrades three times each year. Code, on the other hand, must be tested and proven before the upgrades come out. If the developer does not keep up with the Salesforce updates, then the code can break.

No one likes broken code – neither developers nor clients. In all cases, we have created robust solutions for our clients using this approach.