A team of developers is more effective in creating complex solutions faster than a single developer. The skills of multiple developers are blended in a team to create applications that would be difficult or impossible for a single developer to create.
Successful team development depends on:
Allowing several developers to work with the same projects and databases simultaneously.
- Coordinating the changes that are made to the same programs, layouts, or other application elements, so that one developer's changes don't overwrite those of another developer.
- Allowing developers to enhance existing application elements (for example, programs or class libraries) without affecting the work of other developers who are currently using these elements. 
The articles listed in the References section cover general approaches to and specific practices characteristic of Team Development. Most of them can successfully be applied to Sitecore.
However, team development with Sitecore requires some extra effort. This is connected with the fact that the content is stored in the database, but not in files.
This article describes how to set up the development environment for Team work with Sitecore. Please keep in mind that this is just one of the possible approaches. The solution which suits your site best depends on a particular task and demands.
Below is a scheme of a sample setup for a group of 2-5 developers working on a single Sitecore Project
Below you can see a brief SCS terminology explanation
From this section you will learn how to tune environment for team development in Sitecore
Refer to this section for a list of suggested reading