Cómo trabajar en ambientes de desarrollo y colaboración?

Tags: , , , , , ,

amcolaboracion

En muchas ocasiones, sea en una empresa, como freelance o entre amigos el desarrollo de sistemas vamos a encontrarnos con ambientes de colaboración en el desarrollo de un sistema, un programador, por lo general, tiene un papel específico en un proyecto, sea cual sea la forma en la que trabaje, se necesita un control y un orden en todo el proceso de desarrollo.

Cuando el proyecto sea mediano o  grande, o si estas pensando en un proyecto open source vas a necesitar una manera de controlar a tus empleados o compañeros de trabajo, y existen algunas herramientas open source para este tipo de ambientes, para que el proceso de desarrollo no se vuelva un caos y se acabe el problema de andar con la memoria flash compartiendo los cambios que hiciste el dia de hoy, pues en muchas empresas, aún no conocen herramientas tan básicas como es las herramientas de control de revisiones, manejadores de bugs o sigue usando el extinto Microsoft SourceSafe.

Control de Versiones

No voy a entrar a definir que son cada una de estas herramientas, y solo mencionar cuales son las más usadas y el porque de usarlas. Hace unos pocos años el CVS era el rey, todos los proyectos Open Source más importantes lo usaron como Control de Versiones, actualmente sustituido por completo por el famoso y sencillo de usar SVN (Subversion),  la mayoria de los proyectos en internet lo usan, asi que es una seria alternativa, donde existen sinumero de IDE’s compatibles con este control de versiones centralizado. Existen otros llamados Git y Mercurial pero no tienen tanto público. Todos estos sistemas de control de versiones nos permiten la gestión de los diversos cambios que ocurren en nuestro codigo fuente.

Seguimiento de Errores

Pero todo proyecto necesita mantenimiento, en la fase de pruebas del proyecto no aparecerán todos los errores, seguramente la mayoria aparecerán ya habiendo liberado el primer prototipo o incluso el primer sistema estable, asi que necesitamos una herramienta para el control y seguimiento de errores, tenemos 2 buenas alternativas famosas y bastante potentes pero algo diferentes. La primera es TRAC, un sistema de seguimiento de errores programado en Python y tiene unas interesante caracteristicas, tiene un Wiki integrado y es multi proyectos. El segundo es BugZilla, este programado en Perl, todos corren bajo el Servidor Web Apache2, pero tambien son compatibles con ISS y otros servidores. TRAC y Bugzilla son compatibles con muchos sistemas de control de versiones asi que no habrá problema para integrarlos con estas herramientas.

Integración Continua

Para esta fase necesitamos un software, este se puede intregar facilmente con TRAC, se llama Hudson, es un proyecto en Java, arropado por el Proyecto Sun. Este herramienta de Integración Continua (CI) tiene la idea de rebajar los costes provocados por la gestión de proceso de compilación, interación y empaquetado del software.

IDE’s de Desarrollo

Pero falta la herramienta más importante, el entorno de desarrollo es el software que utilizan los programadores para el desarrollo del sistema, y tambien necesita integración con las herramientas anteriores, existen dos gratuitas y otras de pago, pero las dos primeras son las más usadas y con mejor soporte en internet, Eclipse es la primera, tiene integración desde su instalación básica con CVS, y con SVN con el plugin Subeclipse. Existen plugins para integrar Eclipse con diversos lenguajes de programación que por defecto es para desarrollo en Java, pero también PHP, Python, Perl y Ruby, y seguramente muchas mas. Eclipse es patrocinado por IBM y es un proyecto completamente open source. El segundo es NetBeans, con soporte para SVN y CVS, los lenguajes anteriormente mencionados y un gran soporte por parte de Sun.


Al final, todas estas herramientas ayudan al mejor control del rumbo de un proyecto, ahorra costos, se evitan errores en muchas de las fases del sistema, permiten un entorno de colaboración donde cada tarea es controlada, que partes del código han sido modificadas y por quien. Son integrables entre sí y con muchos otros software open source y lo mejor de todo, completamente gratis.


© 2009 Jotadeveloper Blog. Nuestros contenidos están bajo licencia Creative Commons mientras no se indique lo contrario,
y pueden reproducirse libremente sin más que mencionar la fuente ("JotaDeveloper") y la URL concreta del artículo original. .

This blog is powered by Wordpress and JotaDeveloperTheme.