I have worked on many Salesforce implementations and have seen both the good and the bad. The bad ones all seem to have the same thing in common: a lack of upfront planning.
Salesforce is an out-of-the-box CRM solution which makes it easy to get started immediately. However, if you fail to plan upfront, you will often set yourself up for headaches in the future.
Benefits of Planning
By taking the time to plan, you can more quickly get from zero to fully operational, make the most of the available features, and save money by not turning on features you do not need.
If you’ve had a less than successful implementation and now find yourself with a bug-ridden or confusing solution, do not immediately decide to scrap the whole thing. It is worth reviewing your implementation plan to see what can be done. Oftentimes your initial investment is not lost and you can rapidly turn things around to achieve success.
I recommend the following four steps when planning out your Salesforce implementation:
Step 1: What are our final goals?
Ask yourself these two questions:
- What is the purpose of the business?
- What problem is the solution meant to solve?
I believe purpose should drive all design, whether software, urban, clothing or other. Step back and consider the purpose that drives the business as a whole. Consider especially the particular project you’re engaged in, which provides a yardstick and gives meaning against which all choices gain context.
As an example, a rapid opportunity conversion tool for high-volume phone sales - where calls might take 15 minutes and involve sales of $40-$50 in each interaction - should have minimal data entry and the workflows would need to be minimalistic. In contrast, a sales tool for a venture capital investment firm would require deep personal interactions related to a long-term and high-value sales cycle. Both may be housed in Salesforce but both the designs and the UX would be radically different.
From here, we can analyse the specific purpose of the software under construction/repair and understand the requirements for the build. Never simply ask “What do you do?” as this will give you a vague list where vital business processes are interspersed with “hack-around” fixes that people have gotten used to doing as a means of working through faulty or absent systems.
The better question is to understand what should be achieved and the necessary elements for something to be considered accomplished. You should design around these while stripping out any excess handling.
Step 2: What do you currently have in place?
- Look at the existing CRM
- Look at other software solutions being used
- Figure out exactly what is lacking and what needs to be integrated
As we move further into the digital age, almost all businesses have an existing software landscape that will need to be understood. If you’re already on Salesforce, you need to understand what tools are being used, what are being under-utilised, where you are getting good value from standard tools or existing customisation, and - most importantly - how to squeeze more value from your existing investment.
Likewise, existing software solutions need to be considered. These can now be housed in Salesforce and the information seamlessly moved between each solution. Finance systems may have API capability allowing Salesforce to push information to them without human error or handling, Salesforce may be able to digest information from apps that track field work, and a million other iterations worth considering.
At this point in the process I love looking for Excel files kept by various staff, where data gets pushed over to marketing mailings and the like. These kinds of manual “integrations” contain valuable data that needs to be stored centrally so that everyone can access. There are always several of these spreadsheets and each can be rapidly created in Salesforce as an Object with custom fields which will give you much more visibility on your BI and greatly improved reporting.
Step 3: What is missing?
- What are we going to use?
- What are we going to turn on?
- What are we going to build from scratch?
Try to use vanilla Salesforce implementation before tweaking or customising
Always use out of the box solutions where possible (use standard objects).
Now that we know where we’re going and what we have already, we need to make some decisions about extending existing tools and what to turn on.
Salesforce Standard Objects and tools contain a lot of in-built functionality. This default functionality is constantly growing over time and arises out of business feedback from thousands of companies across the globe. They will often solve known business problems without additional development, saving the customer both time and money. For these reasons it is always best to design against Standard Objects and fields wherever possible, only adding where you cannot leverage an existing function.
When additions or extensions are required, make sure you always examine declarative programming or “low-code” solutions first, before reaching into your Apex, Visualforce or Lightning Development toolkits. Declarative solutions require far less administration and maintenance over time, decreasing time to launch and decreasing overall total cost of ownership (TCO).
I like to choose solutions for each major design element and then review them against both the overarching purpose and against each other, to make sure the solution design choices align well with each other without “painting into a corner”. Think about things like lead conversion, how will information flow between records, look-up vs master-detail relationships and desired reporting, as these will all affect the solution architecture.
Step 4: How are you going to get there?
Now that we’ve made our design decisions and have the solution layout, the last thing to do is sequence our priorities into a series of wins that will deliver more value to the business with each iteration of deployment. This roadmap will allow us to get the key functionality up and running ASAP.
As an example, Salesforce Campaign Management is a tool that is frequently under-utilised, delivering fantastic value OOB and with minimal development. It also delivers extremely valuable business insights that can be used to drive adoption with the Executive and immediately produce ROI.
Contract management can also be a valuable tool but doesn’t always show up as immediately with investment return, so may be considered as more valuable later in the development process after sales processes (driving revenue sooner) are complete.
Example - ‘Case Study’
This client had been on Salesforce for some years, mostly self-implementing. Their solutions had been the result of internal efforts by Admin Super Users responding to business problems as the landscape changed and priorities shifted. This resulted in a system that had no overarching plan and thus disparate development projects were conflicting to create errors which couldn’t easily be traced. At times such errors would completely halt the sales lifecycle, resulting in interested customers unable to progress or receive services.
The first step in resolving this was a comprehensive review of the business goals. They identified their main goals as: 1. aligning existing development against best-practices and sensible architecture so as to eliminate existing system bugs 2. implementing a new sales process for streamlined handling of customer onboarding 3. providing a stable framework for smooth future development
We then did an audit on their current Salesforce implementation and detailed what features they were using. We also spoke to key users of the system to find out what non-Salesforce tools they were using to make up for lacking functionality.
Upon reviewing the existing solution landscape, it became clear that the already-chosen Salesforce tools were correct for the solution. However, development had been ad-hoc in response to changing business situations. This meant that solutions began conflicting with each other as time went by.
By mapping out all extant automations and processes so that errors could be understood, a plan for improvement was developed. This exercise also allowed us to see what quick wins were available with existing tools.
For example, while aligning Opportunity Processes we could extend the existing criteria to update additional fields that users were entering manually. We could also automatically generate otherwise repetitive manually created tasks. This saved time for the staff member who maintains them as well as making the information more visible.
From the planning phase, we decided on two major phases to resolve existing processes and implement new sales processes. While building out the new processes we re-aligned all existing development to operate under best-practices, and resolved earlier-reported bugs as we went.
The upfront planning and mapping efforts reduced development to a matter of a few weeks, also eliminating the ongoing system errors for end users and streamlining sales efforts.
Now that their systems are delivering better than expected value, they are planning further development to speed and standardise sales documentation and contracting, tying the sales aspects of CRM with service delivery tools housed on other platforms.
Dissecting Code With Ruby's caller Method
Handling deletes with Null Object Pattern in Ruby
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.