To keep your organization’s setup clean and easy to maintain, you want to make sure to only setup a custom user profile when absolutely necessary. User profiles can easily get out of control; you have a standard set of profiles set up and individual users come to you one by one requesting a simple permission to edit one field or wanting a special page layout just for them. I feel your pain.
With that said, there’s no reason why you should have to set up and maintain an unreasonable number of custom profiles.
The simple answer to when you should set up a custom profile is when a standard profile or previously existing custom profile doesn’t meet the needs of a number of your users. I say “number of your users” because you do not want to set up a custom profile for an individual user. But this answer is no longer that simple; with the advent of “Permission Sets” in the Winter 2012 release, there is now a much easier way of opening up some of the functionality to individual and groups of users without having to create yet another custom profile.
A permission set is away of extending a users functional access without having to change their user profile. There are only a few things that permission sets cannot do, that a custom profile can. I’ve found this chart to be extremely helpful when determining what I should use to add functionality to an individual user or group of users:
So that gives you a good idea of when to use a permission set vs. a custom profile. Another important thing to consider is that the standard profiles that SFDC uses do not give users access to newly created custom objects. I’ve found in many cases that the only thing a standard profile is good for is a template for a custom profile for this very reason. As a result, your organization may exist entirely of custom profiles.
I hope this article has made you feel confident about using custom profiles and permission sets. If you need further assistance or need a helping hand setting up custom profiles and permission sets in your org, feel free to contact me.