This is part 1 of a 3 part series detailing everything you need to evaluate and setup a Salesforce.com system. Part 1 will go over what Salesforce is and how to get set up with a developers evaluation account. Part 2 will cover setting up your computer for coding with the Salesforce platform. Part 3 will cover resources where you can learn more about Salesforce, Visualforce, APEX and Force.com.
As a Information Systems Developer one of the most advantages platforms to learn is Salesforce. With over 80,000 companies and 3,000,000 users they are one of the top software companies in the world. Salesforce is a Customer Relationship Management system, if your not sure what that is or if it is something your company needs I would suggest reading What is CRM? and How to Choose CRM Software, before continuing. Moving to a CRM is a huge undertaking and not something that should be done unless you will see real benefit from the system. If you have already done the research on CRM then read on to learn more about Salesforce.
Unlike a traditional CRM system Salesforce is not hosted locally by the client. The application and all of the data are stored and maintained by Salesforce on their servers, this is what is called cloud computing. This software is never installed on a users computer, they simply need access to a web browser and an internet connection. As a developer this means you do not need to worry about maintaing testing systems or computer requirements, the user can access the platform from a Mac, PC, Linux or mobile device.
The licensing model for this kind of software is different then the traditional client based solution. Instead of paying for it up front and owning the software you pay per user per month, effectively leasing the software for as long as you wish to use it. This is called Software as a Service, or SaaS for short.
For smaller companies (100 employees or less) the SaaS model is a no brainer. The cost of a single database administrator would be more than the annual fees and you do not need to worry about trying to maintain your own hardware. For larger companies, especially ones that already have significant infrastructure the cost justifications are not as clear. With 1,000 users at $15 per user per month Salesforce becomes very expensive very fast. This is the cost before you start adding functionality the geotagging, e-mail marketing campaigns and lead processing. You will have to carefully account for all the costs included in switching over to the new system and the on going monthly fees to see if the platform would be cost effective.
Another other major problem with the cloud is data security. Your information is now stored with a 3rd party and when you delete data it is never really deleted. Often it will live on in backups on the vendors system. This can be a serious problem if you are working with highly sensitive data and something you need to consider carefully before moving to the cloud.
Before you make any business decisions you need to do an evaluation and a great way to test Salesforce is to sign up for an demo account. I would suggest skipping the free 30 day account and instead opt for the free developer account. This way you get the full enterprise edition of Salesforce for 2 users (developer and end user for example) for an unlimited amount of time, allowing you to test, evaluate and learn at your own pace.
Getting signed up is easy, just visit developer.force.com, press the sign up button in the upper righthand corner and fill out the registration form. In a few minutes you will have a Salesforce site as your own personal sandbox. The account will come preloaded with about 20 dummy contacts as well as several leads, opportunities and events. At this point I would suggest trying the site and getting familiar with the default interface. Enter some information, take notes on where you get lost and what is working/not working the way you expect. I find it invaluable to first try and figure everything out without asking for help because that is what most of your end users are going to do. This way I get a feel for where the bottle necks are and what areas are going to need the most attention.
In part 2 I will cover how to set up your local environment for developing salesforce applications and get you started on building out the Salesforce platform. If you have any questions just let me know in the comments and I will answer them the best I can.