hola moron
en el analisis y diseño de un sistema en cada etapa de desarrollo se definen que tareas hacer(Actividades) y quien las hace(Roles)....si los 2 estan haciendo cambios frecuentemente en los mismo archivos...porque no trabajan con un
control de versiones como Subversion o CVS...a parte de los paquetes de control de versiones basados en arquitectura cliente-servidor como los que te mencione....existen sistemas distribuidos como el
Aegis orientado a desarrollos basados en metodologías
Extreme Programming(XP)
Salu2