Muchas veces un proyecto se complica o facilita independiente de que el equipo tenga un nivel tecnico alto. Para facilitar cosas Anexas al desarrollo existen varias herramientas de automatizacion y de apoyo, la mayoria son openSource,Free o como quieran llamarles. Aqui detallo algunas que por lo menos para mi son fundamentales, a lo mejor voy a estar muy orienta a .net. Sistema de control de versiones: Hay muchos cvs, ,Svn, soursafe, etc. pero el que mas sobresale es Svn. la gracia de usar Svn serian Codigo respaldado. Posibilidad de trabajar en equipo. Posibilidad de tener acceso a todo el historial de cambios, por archivo o proyecto completo. poder volver atras en cambios que pudiesen estar malos. Para mi ya seria muy complicado trabajar sin svn, o algun sistemas de estos, mas cuando trabajas en equipo.[aun recuerdo mi primer trabajo donde no existia nada de eso, y se me perdian a menudo los fuentes :)]. Esto no importa en el lenguaje que trabajes solo almacena historial ...