To improve productivity in your team i suggest you to use… no i begging you to use revision control software. Software tools for revision control are something every developer team need to use.
Why do you need to use this kind of tools ?
- To track code changes for every team member
- To track code changes trough every revision
- Look differences in code since last revision
- To avoid code overlapping when two coders work on same file
- When they work on same file, just merge changes
- To roll back all code in any revision if needed
- To share code changes with your team members
- When upload on server this tools send only changed files
- this tools creates project developing history
In client – server model, server holds latest software version, and it’s history. Client connect to server and read latest changes. Whole team work on this copy, and later send changes to server. Well known are : Concurrent Versions System (CVS) and Subversion (also known as svn), both are in open source.
Distributed systems works different, every developer have his own local repository, and he works on it. Developers send changes to server, which holds latest software version and history. Also every developers repository save history and code changes. Distributed systems can have many central repositories. Even if developers work on same file on they local repositories this sistems in most cases can be smart to merge changes together. Known distributed systems are: Git — Designed by Linus Torvalds and Mercurial. This software systems are also open source.
Some client server systems adding distributed features like Subversion which will add local commit in future. It is going to be hard to separate distributed and centralized (client – server) systems.
Read more about Revision Control software at the Wikipedia.