El desarrollo de proyectos de software medianos o grandes, los cuales tienen que ser desarrollados (análisis, diseño e implementación) por varios programadores en forma distanciada por alguna razón en particular, trae consigo la necesidad de un ambiente de trabajo en la red, en el que los desarrolladores se puedan comunicar constantemente, fácil y en tiempo real, compartir archivos, pizarrones, desarrollar programas en forma distribuida, también acarrea ciertos problemas como la pérdida de tiempo en acordar reuniones, fijar hora para las mismas, o por falta de transportabilidad de la información que no está centralizada, gastos en el traslado de personal y equipo. Dichos problemas afectan tanto en la coordinación del grupo al desarrollar el sistema como en el seguimiento del desarrollo de dicho sistema, por que cada miembro del grupo tendrá que trabajar individualmente en su lugar de trabajo y no habrá la comunicación que debería haber al desarrollar este tipo de trabajo, otro problema que se podría esperar sería un incremento de tiempo a la fecha de entrega final, esto en el caso de que no se hubiera efectuado antes de comenzar el proyecto la planificación correspondiente, en caso contrario podría darse que los integrantes del grupo no acaten la planificación realizada lo cual llevaría al mismo problema anteriormente mencionado.