Generally these systems involve having read only access to source files, only have write access to files they are currently editing. The advantages of this type of system are numerous, not only does it provide a good backup for your source, it also allows you to see changes that were made throughout its history. With sourcesafe this just doesnt happen. I dont want this to seem like an advert, there are quite a few similar tools out there, I am just advocating a similar system for ANY multi-programmer project. The final part of team working I would like to cover is communication.
Communication is essential to keep the project moving.
Nobody wants to feel like they are carrying a project, so its vital that ALL team members meet regularly, and update the others on progress made. It is also a good idea that each team member actually produces something for the others. This helps foster the idea that each team member is contributing. I would advocate a regular meeting, at a regular time. People should commit to this meeting, generally, if they are unable to commit, they will not be able to commit to any part of the project fully.