Herramientas para la gestión de proyectos de software

Autor: Ridosbey Milián Iglesias, Gema Feo Gamio y Yaraiza Reyes Rodríguez

Tecnología e internet

26-02-2010

El presente trabajo constituye una propuesta de integración de herramientas libres para automatizar la Gestión Documental, Planificación y Seguimiento de Proyectos y la Gestión de la Configuración en empresas de desarrollo de software. Se hace un análisis de la situación actual y se describen las herramientas a utilizar y se formula la propuesta de integración basada en el uso de estas herramientas libres.

INTRODUCCIÓN

La Gestión de Proyectos (GP) constituye uno de los elementos fundamentales en todo proceso de desarrollo del software. El éxito de un proyecto radica en un adecuado control y seguimiento del mismo. Cuando un proyecto se planifica se debe fiscalizar su desarrollo para comprobar que marcha sobre el plan previsto, es decir, debe satisfacer los objetivos de calidad, coste y tiempo. (Milián Iglesias y otros, 2009).

En la actualidad muchas empresas desarrolladoras de software carecen de un ambiente colaborativo de GP que integre herramientas para lograr control sobre la planificación, la documentación y el código fuente asociados al proyecto.

Es muy común en el desarrollo de un proyecto de software que la Gestión Documental (GD) se realice de manera rudimentaria. Si bien existen algunas empresas que utilizan alguna herramienta para el Control de Versiones (CV) de la documentación, no se define el flujo de trabajo del documento; en otros casos no se utilizan herramientas para el CV, frecuentemente la documentación se envía por correo electrónico o se hace uso de elementos compartidos a través de la red, generándose el riesgo de la pérdida de información.

Por otra parte, frecuentemente las herramientas de planificación de proyectos no se usan de manera adecuada. Los problemas más comunes son:

1. La planificación no es pública para todo el equipo de desarrollo de software.

2. Los cambios sobre la planificación no son informados oportunamente a los involucrados.

3. La asignación de tareas se realiza personalmente.

Por lo general el CV sobre el código fuente es llevado a cabo con el uso de herramientas como Subversion (SVN) (CollabNet Corporation, 2008), Visual Source Safe (VSS) (Microsoft Corporation, 2009), entre otras. Aunque realmente se les da el uso adecuado a estas herramientas, pueden ser utilizadas en la extracción de información que brinde la verdadera situación del proceso de desarrollo o del software (Milián Iglesias, y otros, 2009).

MODELO PROPUESTO

Nuestra propuesta consiste en un ambiente colaborativo donde se integran los procesos de Planificación y Seguimiento de Proyectos, GD y CV con el uso de las herramientas libres que citamos a continuación.

Alfresco Community Edition 3.2 (Alfresco Corporation Inc., 2009).

Alfresco es un Sistema de Administración de Contenidos Empresariales (EMC) considerado uno de los EMC más fuertes dentro del mercado del software libre (Yerbabuena Software, 2009). Tiene una arquitectura flexible, puede ser desplegado en cualquier ambiente (Windows, Linux, Mac, etc) puede usar cualquier base de datos relacional (MySQL, PostgreSQL, ORACLE o casi cualquiera que entienda Hibernate), puede correr sobre varios servidores de aplicaciones como (JBOSS, APACHE TOMCAT), puede trabajar sobre cualquier navegador (Mozilla Firefox, Microsoft Internet Explorer, etc.) y puede ser integrados con cualquier portal (JBoss Portal, Liferay Portal, etc) (Shariff, 2006).

Por otra parte Alfresco puede extenderse mediante módulos de Alfresco AMP (Alfresco Module Package) (Alfresco Software Inc.).Un archivo AMP o paquete de módulo de Alfresco es una colección de código, XML, imágenes, CSS, etc. que de forma conjunta extienden la funcionalidad o datos provistos por el repositorio estándar de Alfresco (Alfresco Corporation Inc., 2009).

Desde el punto de vista funcional, Alfresco 3.2 presenta características de indexado, versionado, etiquetado, búsqueda de documentos o flujos de trabajo simples para el trabajo con los documentos. A estas características básicas de servidor de ficheros se pueden añadir otras más propias de gestor documental como la capacidad de definir modelos de contenidos con metadatos personalizados, extractores de metadatos o transformadores de documentos en línea. El motor de flujos de trabajo está basado en Java Business Process Management (JBPM) (Shariff, 2006). Alfresco posee potentes características de usuario como es el concepto de las reglas de contenido que permiten realizar transformaciones a los contenidos y enviar notificaciones de las acciones realizadas por el usuario. En Alfresco es posible definir permisos y roles (Shariff, 2006) (conjunto de permisos), de modo que la seguridad sobre los espacios de contenido se lleva a cabo asignando roles a usuarios y grupos de usuarios. Redmine (Redmine, 2009) Redmine es una herramienta para la GP desarrollada sobre Ruby on Rails, opensource y multiplataforma. Es muy similar Trac (Edgewall Software, 2009), pero con una administración e interface web más amigable, y fácil de usar. Es bastante completo y fácil de instalar. (Redmine, 2009).

Dentro de sus características tenemos:

Soporta múltiples proyectos simultáneamente, seguimiento de tiempos, así como la integración con herramientas de gestión de versiones como SVN, Concurrent Versions System (CVS), Git, Mercurial, Bazaar y Darcs. En cuanto a gestión de usuarios, el control es basado en roles y permite el autoregistro de los mismos. Genera información en base a calendarios y diagramas GANT. Permite la creación de una wiki y foros por proyecto, tiene campos ajustados a cada proyecto, cada usuario así como ventanas de tiempo. Esta herramienta soporta autenticación a LDAP, puede usar cualquier gestor de bases de datos relacional, notificaciones vía correo a los desarrolladores cada vez que se asigna una tarea o ante cualquier evento relacionado con el proyecto.

También da la posibilidad gestionar noticias, ficheros y documentos, al proyecto, así como adjuntos a las tareas y errores. Se puede definir nuevos tipos de tareas y errores con sus campos personalizados. Además la aplicación puede ser configurada para ser vista en varios lenguajes. (Redmine, 2009).

Subversion (CollabNet Corporation, 2008)

Subversion es un Sistema de CV que se ha popularizado bastante, en especial dentro de la comunidad de desarrolladores de software libre. Está preparado para funcionar en red, y se distribuye bajo una licencia libre de tipo Apache (García, 2008).

Las principales características de SVN son:

• mantiene versiones no sólo de archivos, sino también de directorios.

• mantienen versiones de los metadatos asociados a los directorios.

• además de los cambios en el contenido de los documentos, se mantiene la historia de todas las operaciones de cada elemento, incluyendo la copia, cambio de directorio o de nombre.

• atomicidad de las actualizaciones. Una lista de cambios constituye una única transacción o actualización del repositorio. Esta característica minimiza el riesgo de que aparezcan inconsistencias entre distintas partes del repositorio.

• posibilidad de elegir el protocolo de red. Además de un protocolo propio (SVN), puede trabajar sobre http (o https) mediante las extensiones WebDAV. WebDAV (más conocido como DAV) es un protocolo que amplia las posibilidades del HTTP/1.1 añadiendo nuevos métodos y cabeceras. La capacidad de funcionar con un protocolo tan universal como el http simplifica la implantación (cualquier infraestructura de red actual soporta dicho protocolo) y universaliza las posibilidades de acceso (si se quiere, puede utilizarse a través de Internet).

• soporte tanto de ficheros de texto como de binarios.

•mejor uso del ancho de banda, ya que en las transacciones se transmiten sólo las diferencias y no los archivos completos.

•mayor eficiencia en la creación de ramas y etiquetas que en CVS. (García, 2008).

Mecanismo de integración

En la Figura 1se muestra la propuesta de Entorno Integrado para la Planificación y Seguimiento de Proyectos, GD y CV del código fuente.
A pesar de que Redmine brinda la posibilidad de gestionar documentos, no permite definir flujos de trabajo sobre la documentación; por lo que se propone Alfresco.

Entorno Integrado para la Planificación y Seguimiento de Proyectos, GD y CV del código fuente.

Figura 1: Propuesta de Entorno Integrado para la GP, GD y CV del código fuente.

Alfresco se organiza en espacios2 y subespacios, donde cada entidad es dueña de crear la jerarquía de espacios de acuerdo a como esté organizada (ej. Por proyectos). Para cada flujo de trabajo se definen espacios inteligentes con características adicionales como seguridad, reglas de contenido, notificaciones, búsqueda local. Con el uso de los flujos de trabajo se garantiza que un documento haya sido revisado y aprobado por las personas competentes, para su posterior publicación en sitios u otras herramientas de trabajo colaborativo como Redmine.

Los programadores desarrollan con Eclipse3 y utilizan el plugin Subversive (The Eclipse Foundation, 2009) para realizar modificaciones sobre el código fuente almacenado en los repositorios de SVN, que estará integrado a Redmine permitiendo generar reportes de productividad que se muestran en la Figura 2, pero no la modificación del código fuente de SVN a través de él.

Reportes de productividad de Redmine.

Figura 2: Reportes de productividad de Redmine.

Los jefes de proyecto pueden hacer la asignación y chequeo de tareas con el uso de Redmine, así como conocer la productividad de sus subordinados, mientras que los desarrolladores pueden conocer las tareas que le han sido asignadas, así como actualizar su porciento de cumplimiento accediendo directamente a Redmine o con el uso del pluging de Eclipse Mylyn (The Eclipse Foundation, 2009).

Todos los servicios se encuentran integrados con sistema de autenticación única basado en LDAP y usan PostgreSQL como Sistema Gestor de Bases de Datos.

CONCLUSIONES

El trabajo hace una propuesta de Entorno para la integración de herramientas de GD, Planificación y Seguimiento de Proyectos, así como del ambiente de desarrollo y CV haciendo uso de tecnologías libres con el objetivo de automatizar a la medida de lo posible la gestión del proceso de desarrollo de software.

REFERENCIAS

Alfresco Software Inc. 2009. AlfrescoWiki. [En línea] 2009. [Citado el: 7 de Diciembre de 2009.]
http://wiki.alfresco.com/w/images/e/e4/ECM_InstallConfigure_
CommunityEdition32.pdf.
—. 2009. AlfrescoWiki. [En línea] 28 de Octubre de 2009. [Citado el: 6 de Diciembre de 2009.]
http://wiki.alfresco.com/wiki/AMP_Files. 2009. Open Source Enterprise Content Management System (CMS) by Alfresco. [En línea] 2009. [Citado el: 1 de Diciembre de 2009.] http://www.alfresco.com/products/networks/community/.
CollabNet Corporation. 2008. Tigris.org Open Source Software Engineering Tools. [En línea] 2008. [Citado el: 1 de
Diciembre de 2009.] http://subversion.tigris.org/.
Edgewall Software. 2009. The Trac Project. [En línea] 2009. http://trac.edgewall.org/.
García, Luis. 2008. Educación Observatorio
Tecnológico. [En línea] 17 de Enero de 2008. [Citado el: 2 de
Diciembre de 2009.] http://observatorio.cnice.mec.es/modules.php?op=modload&name=News&file=article&sid=548
Milián Iglesias, Ridosbey, y otros. 2009. PROPUESTA DE UN ENTORNO DE GESTIÓN DE INDICADORES SOBRE HERRAMIENTAS LIBRES PARA MEDIR EL PROCESO DE DESARROLLO DEL SOFTWARE.
[Electrónico] Ciudad de La Habana : s.n., 2009.
Redmine. 2009. Redmine. [En línea] 2009. [Citado el: 8 de Diciembre de 2009.] http://www.redmine.org/.
Shariff, Munwar. 2006. Alfresco Enterprise Content Management Implementation. [ed.] Mike W. Walker.
Birmingham : Packt Publushing Ltd., 2006. págs. 7880.
ISBN 1904811116.
—. 2006. Alfresco Enterprise Content Management Implementation. [ed.] Mike W. Walker. Birmingham : Packt
Publishing Ltd., 2006. pág. 12. ISBN 1904811116.
—. 2006. Alfresco Enterprise Content Management Implementation. [ed.] Mike W. Walker. Birmingham : Packt
Publishing Ltd., 2006. ISBN 1904811116.
The Eclipse Foundation. 2009. Eclipse Home. [En línea] 2009. [Citado el: 9 de Diciembre de 2009.]
http://www.eclipse.org/mylyn/.
—. 2009. Eclipse Home. [En línea] 2009. [Citado el: 9 de Diciembre de 2009.] http://www.eclipse.org/subversive/.
Yerbabuena Software. 2009. Yerbabuna Software Blog. [En línea] 11 de Febrero de 2009. [Citado el: 7 de
Diciembre de 2009.] http://blog.yerbabuena.es/2009/02/alfrescovsnuxeogestiondocumental.html.

Ridosbey Milián Iglesias - ridobeymarrobavcl.uci.cu

Gema Feo Gamio - gemitaarrobavcl.uci.cu

Yaraiza Reyes Rodríguez

Centro de Desarrollo de Software UCI en Villa Clara, Instituto Politécnico”General Lázaro Cárdenas del Río”.

Comentarios
comments powered by Disqus

Nuevas publicaciones

⇐ Hazte Fan en Facebook
⇐ Síguenos en Twitter
⇐ Agréganos en Google +
⇐ Suscríbete vía Email
"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana. Pero si tú tienes una idea y yo tengo una idea e intercambiamos ideas, entonces ambos tendremos dos ideas"
George Bernard Shaw
Comparte conocimiento
Contenidos publicados con licencia CC BY-NC-SA 3.0 a excepción de los casos en los que se indican derechos de autor específicos. Sugerimos contactar a los autores al usar material públicamente.