Can anybody please provide me answer to the question that in reference to Roles, Profiles, User what should we should be created first? Should I create a Profile or Role? Does it really matter the order of creation? I have read the Salesforce Help & Training documents but answer to this question still remains vague.
Roles are one of the ways you can control access to records in any organization. They also impact reports (e.g. "My Teams" filter). Roles come into play if your security model (OWDs) are set to private. A little more on Roles and how they impact security:
Profiles define how users access objects and data, and what they can do within the application. Profiles control other system privileges as well (mass email, export data, etc)
So with definition in simple term you first need Profile which will define access to that user because you can't create a new user unless you have profile for that user. it is a required field.
To help you gain a better understanding, I recommend you read Introducing Role Hierarchies from the Force.com Fundamentals and the sections that follow in the Controlling Access to Records Chapter.
In short, Profiles are about Permissions while Roles are about Records or Sharing Records. Depending on the model you choose to use for record sharing, Roles may not be so important. If one uses Permission Sets, Roles can be completely avoided.
Every Org has default Roles included in it by default beginning from the top down with the CEO and can be customized from there. Some whether you choose to use them is up to you. You have no choice but to use profiles which include your salesforce licenses.
When one designs a custom application, they design a security model to support it. The same goes for setting up your org when you begin. As such, you might say the two go hand-in-hand to suit the security model of your applications. Because of that, I wouldn't say that one comes before the other, but instead that the two are integral parts of the grand scheme of things in the Salesforce security model.
I believe there is no clear answer on your question.
First of all profiles depend on the user license. And there are lots of different
licenses you can purchase. A profile field on the user object is a mandatory field, so you can NOT create any user without assigned profile. Well, yes, a profile is mandatory and you have to create (a custom) one before creating a new user. On the other hand there are some standard profiles available by default in the organization, so actually you should not have any custom profiles before creating a new user... It really depends on your business.
The role is not a mandatory field on the user profile. Yes, it is marked red but you can create users with no role specified. So I think you should not absolutely need to create a new role while creating a user or starting with a new org.
- a profile is needed for the user but you can take a standard one
- role is not really needed, but you should consider to use it with a sharing settings