Thursday, September 23, 2010

10 Signs Your Salesforce.com Instance Is In Trouble

  1. Duplicate Contacts  - The occasional duplication of data is very common in Salesforce.com. However the majority of duplicates should be coming from user error. I have yet to see a business process that "requires" duplication of contacts.  A properly configured instance of Salesforce.com should rely upon Contact Roles or custom objects to relate one contact with multiple accounts, contacts or cases.
  2. Duplicate Accounts - If part of your business process is to duplicate accounts you are most likely making things harder than they have to be. An account by definition should be a physical location (address) and its name. If you have multiple accounts with the same address and name then you should take a step back and ask yourself  why this is occurring and if you are properly using account relationships like the "Parent" field or the "Partner" related list.
  3. Losing Data on Lead Conversion - Sounds like a worst case scenario, but you should check to make sure that when you convert a lead into a contact or account that you are not losing any fields in the conversion. If you system is not mapped properly, data can be lost in this step. A properly mapped system will have a corresponding field on the Account or Contact to those seen on the lead.
  4. Addiction to Custom Code / Triggers - The occasional trigger or snippet of APEX code can on occasion be unavoidable. However, I cannot emphasize enough that Triggers and Custom Code should be used as a LAST RESORT.  Custom code becomes a maintenance nightmare. The more custom code you have, the harder it is to remember or document what each piece does. So making tweaks to the system becomes a project rather than an afternoon exercise and you have effectively nullified one of the true benefits of Salesforce.com, its ease of modification. The more you can make Standard Salesforce.com work for you, the more you will be thanking yourself in the long run.  
  5. Too Many Check Boxes - A common complaint and something that is easily fixed. Look to see if your checkbox could be grouped into different topics and look at using a multi-select picklist to contain all of the values.
  6. Everything Is A Required Field - If you make everything required, you are building a system that encourages the user to go back to using pen and paper and spreadsheets to track their data. My rule of thumb has been no more than 5 required fields on a page. Fewer on transactional data such as Activities. Its a matter of priorities and this is a good time to ask what data is really important and what is a "nice to have".
  7. No Data On Records - This is the flip side to number 6. For those fields that are essential for running your business or you are planning on using in a report, you should consider making them a required field. Its a balancing act that you know you have gotten just right when both the end users and those running reports are equally miffed.
  8. Misuse of Standard Objects - This is a harder one to explain, but I know it when I hear it. Typically it begins with the statement from a client of  "We use <OBJECT NAME> differently then most people.." 8 times out of 10 this one statement is the root cause for why I am being brought in to Consult.  Its important to have a fundamental understanding of what each Salesforce.com object does before you begin to build your system. The more you stray from any objects intended purpose, you more you are inviting a visit from the ghost of unintended consequences.
  9. No One Is Using The System- Salesforce.com has no magical powers. It is a tool just like your email or accounting systems. If the system you have built does not provide a compelling reason to login such as, time savings, access to accurate client information, or reporting capabilities, then you should really ask yourself why you invested in a CRM to begin with. 
  10. I Can't Run The Reports I Want - Like the old saying, "garbage in, garbage out". To fully utilize Salesforce.com ability to generate reports requires both good data as well as properly structured data. If you can't run the reports that you would like it is the best indication of any that there something is wrong with your instance.

What should I look for in a Salesforce.com Consultant?

Sometimes when working with a tool that is as configurable as Salesforce.com you may a reach a point where outside help is the only answer. The search for experienced, reliable help can be a daunting / expensive one. Here are some things to be on the lookout for when selecting a Salesforce.com consultant.

  • Salesforce.com Certification - depending upon the type of work that you need done, there are a number of different certifications that the consultant could posses.  Here are the two basic distinctions.
    • Certified Administrator - This is someone who is certified to build / configure Salesforce.com to meet your business needs through the use of Standard Salesforce functionality. 
    • Certified Developer - This is someone who is certified to build custom applications in Salesforce.com through the use of custom code.
Typically most Salesforce.com consultants are either the Administrator / Configuration  specialists or Developers. There are some that posses both skills, but unless you have someone that is really rock solid with standard Salesforce.com its best to start with a Certified Administrator and leave it to them to tell you when something requires custom development. 

  • Experience - Certification is nice, but there is no substitute for system experience.  Salesforce.com has only been around for 10yrs or so. It is rare that I meet anyone with more than 5 years of Salesforce.com administrative experience.  Here are some things to look for in a good Salesforce.com consultant.
    • More than 2 years as a system administrator, not a user of Salesforce.com. 
    • Managed a system of similar size and complexity to yours
    • Managed a system that supported similar business processes (Sales, Service, Marketing etc.)
    • Preferably has applicable business experience outside of Salesforce.com administration. This is useful when modeling business processes in Salesforce.com.
  • Inquisitive - Salesforce.com is only as good as its configuration. I personally know of systems with over 5,000 users that are running smooth as silk and I have seen 15 user systems that are a complete mess. Often the biggest difference between a successful implementation and a epic failure is properly building out data relationships from the start. To get that right often requires someone who is willing to ask a lot of questions and make tough decisions. If your consultant appears to be the quiet "does as he or she is told" sort, then you may want to keep looking.
  • Assertive - Much like asking the right questions, the best consultants know how to stand up and say "no". You may not want to hear it. But a sure fire way to kill a CRM implementation is to bite off more than you can chew in Phase 1. A good resource should be able to stand up and assert themselves when the time is right.
  • System Knowledge - Last but not least is system knowledge. You would think that "certification" would cover this. But it doesn't. There are a lot of "certified" admins out there that really don't know much about how the system is used.  Here are some basic questions that you can ask someone to gauge their basic understanding of Salesforce.com
    • What is the difference between a Lead and Account?
      •  Leads contain both account and contact information and can, if converted, become a Account, Contact and if you choose a new Opportunity.
    • What is the difference between a Event and a Task?
      • Events are activities that have both a assigned date and time. They automatically close once the date and time have passed.
      • Tasks have a date but no time. They will not close after the date has passed and will instead stay open until they are manually closed. 
    • If I log an activity on a Contact will it show up on the account as well?
      • yes it will
    • If I am working with the same contact on two different accounts should I enter them in twice?
      • NO, you can use Contact Roles to relate one contact with multiple accounts
    • What can I use in Salesforce.com to show the relationship between accounts?
      • the Parent Account field on the account.
      • Partners section to show all non ownership account relationships.
    • How can I assign more than one Sales Rep to an account?
      • You can use the Account Team  feature
    • How often do Dashboards refresh?
      • You can set them to auto-refresh periodically, or you have to manually refresh them. By default dashboards do not refresh themselves. 
  • Training Experience - Everyone says they can train Salesforce.com. But there is nothing like putting someone on the spot. Most good consultants have access to a "Developer Account" of Salesforce.com. Ask the consultant if they would mind logging into either their system or yours and walking through the following Salesforce.com objects (not all may apply to your situation).
    • Homepage
    • Lead
    • Account
    • Contact
    • Opportunity 
    • Case
    • Activity
Have them create a few records records and just take note of their comfort in navigating the system. It should become quickly apparent if this is the first time they given this sort of demo or the 100th.