In CRM, an entity could be designed to be User Owned or Organization owned. The User Owned ownership setting has now been changed in CRM 2011 to be User or Team Owned. This means that you can now assign a record to either a Team or an individual owner.
Let us now explore the behavior of records owned by a Team.
Using the Assign option you can now assign to a user or a Team.
In CRM 2011, you can define Teams and also assign Roles to the team. With each team, a Queue specific to the team is also created alongside.
The security role permission level has also been modified to accommodate the concept of Team. The user level permission now also extends to the team. This means that a user with user level permission can now work on records owned by themselves as well those that is owned by the team to which they belong.
The one that gives higher/maximum permission is applied to the user. Say a user does not have permission to invoice module. But the team to which they belong have the permission to Create/Read/Write user level invoice records, an Invoice assigned to the Team would be visible to the user.
All users of a team would have access to the record assigned to the Team.
With the concept of Team they have tried to reduce the need to Share the records. Earlier if you needed to provide another user access to a record owned by you, you had to share the record with them. Now if they are part of your team they have access to your records.
To explain technically, a new attribute Owning Team has now been added to each User/Team Owned entity. The OwningTeam will store the name of the Team if it has been assigned to a Team.
You can now programmatically assign Team to a record using the Assign Request. You can check here for the code. http://msdn.microsoft.com/en-us/library/gg327897.aspx