What is most valuable?
The flexibility of the platform is what really separates it from the crowd. With Salesforce, I can:
Use clicks vs. code for automation purposes. Examples of this are workflow rules and visual flows.
- Utilize Salesforce's proprietary Java based language to implement more complicated business logic. Additionally, I am able to extend this functionality with their JSP based visual-force language.
How has it helped my organization?
The platform is being used to unify multiple business divisions onto a single platform. Currently, each of the eight or so businesses are utilizing their own platform based on multiple technologies (one is a DOS based system with a Fox DB). By utilizing Salesforce as our centralized platform it is enabling our business units to share leads across divisions and give a singular view to our customers.
What needs improvement?
I would like to see them focus on improving existing functionality instead of trying to market new functionality that is not enterprise ready. While I appreciate their push towards staying on the bleeding edge, it is a shared platform. Thus it is essential that new functionality is able to function with large amounts of data, which Lightning currently is not.
For how long have I used the solution?
I've used Salesforce for over six years
What was my experience with deployment of the solution?
There have been no issues with the deployment.
What do I think about the stability of the solution?
There are some governor limits which can make life difficult at times; however, I believe it is important to have these limits in place in order to maintain stability.
What do I think about the scalability of the solution?
I believe that Salesforce gives you the ability to grow your CRM instance in a very scalable way and is usually fairly willing to extend the governor limits with good cause.
How are customer service and technical support?
This is the one area that I really dislike about Salesforce. Dealing with their Level One support is a nightmare. I used to be in tech support, so I recognize the need for level one, however, for enterprise level customers whom pay for their "premier support", should get premier support not outsourced technical support with whom it takes over an hour of re-iterated explanations of a problem. Granted, most of the issues I call about are complicated; however, that in and of itself should allow for easier escalations.
Which solution did I use previously and why did I switch?
For this particular project, I did not; however, I have evaluated others against Salesforce in the past. What has usually been the tipping point is:
- The flexibility of the platform
- The tri-annual releases, which ensures that the platform is up-to-date
- Normally painless upgrades
How was the initial setup?
This question will vary vastly from organization to organization. It it easy to get setup with Salesforce; however, with its malleability, setups can be incredibly complex.
What about the implementation team?
I've done it with both. My recommendation would be to steer clear of vendors. Find good people to work with in house. Vendors usually will only add extra time to the project. They usually deliver less than optimal solutions that will need to be re-done later. I have worked with major providers, including like Apprio, ICON and Slalom. All of these vendors have had "consultants" with much less exposure to the platform than myself and generally delivered really crappy code that took way longer to develop than it should have.
What other advice do I have?
Hire experts. Look for an advanced certification if you can find one, if not make sure that they are experienced. Throw fundamental problems at them during the interview to see if they are able to respond appropriately. Salesforce is an IT platform, thus the experts should have a fundamental understanding of database and code structures. Remember that a part of a good implementation will involve process transformation. Do not look at the platform to as a new way to do old things. Take this as an opportunity to evaluate what you are doing well and not well, then use technology to improve those area's that are appropriate. Also, remember that technology should not be used as a nanny system. It is a tool and should be used as such. Utilize users that are power users of your existing systems. Let managers or executives drive overall objectives, and let the power users provide guidance on how the system will be utilized. In the plethora of implementations I have been involved in, this is a common occurrence and ends up creating a lot more work once development has been completed.