Team Foundation Server Users
Usually, you will want to assign individual users to groups and then assign permissions based on these groups. You can manage permissions for groups more easily than for individual users because groups consolidate permissions into an optimal set of well-defined roles in Visual Studio Team Foundation Server at the collection level, the project level, and the server level. You can also manage the permissions that are associated with SQL Server Reporting Services and SharePoint Products more easily if you assign permissions only to groups instead of to individual users.
In certain situations, however, you might want to assign permissions to a user for a team project collection or a team project instead. This approach can be useful when you must assign a user to a temporary function, such as if you temporarily grant the Publish Test Results permission to another user while the testing lead is on vacation. In that example, you could add the user directly to the project with that permission. For security purposes, you should remove such temporary additions when you no longer need them.