Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze, przechowuje pliki projektu. Programista, który chce wykonać poprawki lub zmiany w kodzie źródłowym, pobiera aktualny kod projektu z serwera. Po dokonaniu zmian w plikach, kod projektu jest przesyłany przez programistę ponownie na serwer. Oprogramowanie kontroli wersji scala pliki przesłane przez programistę z kodem przechowywanym na serwerze.
Proces scalania jest niemal całkowicie automatyczny. Nawet, jeśli wielu programistów wykonało zmiany w projekcie i przesłało nowe wersje kodu na serwer w tym samym czasie, oprogramowanie kontroli wersji poprawnie scali wszystkie dokonane zmiany (być może w wielu plikach naraz, być może w niektórych plikach w wielu miejscach). Jedynie wykluczające się wzajemnie zmiany dotyczące dokładnie tego samego miejsca w jednym pliku nie mogą być rozstrzygnięte automatycznie. Wówczas potrzebna jest ingerencja jednego z programistów, który musi ręcznie wybrać jedną wersję wprowadzonych modyfikacji. Co ciekawe, takie kolizje w rzeczywistości są dość rzadkie (pod warunkiem, że poszczególni developerzy mają ściśle określone zadania).
Opisany model pracy jest określany jako kopiuj-modyfikuj-scal (ang. copy-modify-merge). W modelu tym, poza specjalnymi przypadkami, nie występują blokady. Żaden z plików projektu nie jest zablokowany. Programista może pobrać kod całego projektu, i pracować nad dowolnym plikiem w dowolnej chwili. Nie musi czekać, aż któryś z kolegów zakończy pracę, czy wykona uaktualnienia. Programiści są wzajemnie niezależni.