Planificación de proyectos XP

0
66157

Gestión de proyectos con XPlanner

1. Introducción

En este tutorial vamos a ver una herramienta de planificación. Este tipo de herramientas son vitales a la hora de enfrentarnos a un proyecto, ya que nos van a permitir hacer estimaciones de los recursos necesarios (tiempo, coste, personal, …), viendo si el proyecto en si es viable o no.

Una vez arrancado el proyecto estas herramientas también son fundamentales ya que nos permiten examinar el avance del proyecto, detectando lo antes posible desviaciones respecto de las estimaciones. De esta forma podemos adelantarnos a posibles problemas y reducir los riesgos.

En este tutorial veremos Xplanner, una herramienta de planificación y seguimiento de proyectos especialmente indicada para la metodología XP (eXtreme Programming).

2. Entorno

  • Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
  • Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.9, KDE 3.3
  • Ant 1.6.1
  • MySQL 4.1.8 (instalado con apt-get de Debian 😉
  • j2sdk 1.4.2_06
  • Tomcat 5.0.27
  • XPlanner 0.6.2

3. Instalación

3.1. Requisitos

Para poder instalar XPlanner necesitamos tener previamente instalado:

  • Ant
  • Una base de datos relacional. Preferiblemente MySQL con soporte transaccional (InnoDB).
  • JDK 1.4 o superior
  • Un contenedor de Servlet 2.3 (JSP 1.2), por ejemplo Tomcat.

3.2. Descarga de la aplicación

La aplicación es múltiplataforma así que la podremos instalar tanto en Windows, como Linux, Mac, … (en mi caso la instalación la haremos sobre GNU / Linux -Debian-)

Lo primero que haremos será ir a la página de XPlanner http://www.xplanner.org,
ir a la zona de descargas y bajarnos la última versión (en mi caso la 0.6.2). El archivo lo descargamos en el directorio /download.

Una vez descargado el archivo lo descomprimimos en un directorio para poder trabajar con él. En mi caso el directorio de trabajo será /usr/local/src, de manera que la orden para descomprimir el archivo sería:

$ cd /usr/local/src
$ tar -xzf /download/xplanner_0.6.2.tar.gz

Con esto se habrá creado el directorio /usr/local/src/xplanner_0.6.2 donde encontramos los fuentes de XPlanner.

3.3. Configuración de la base de datos

Como ya hemos dicho, XPlanner necesita una base de datos relacional para trabajar, así que lo primero que vamos a hacer es configurar la base de datos.

Editamos el fichero
/usr/local/src/xplanner_0.6.2/xplanner/resources/xplanner.properties

Al principio del todo tenemos la configuración para conectar a nuestro MySQL. Debemos cambiar los valores para que se ajusten a nuestra base de datos, por ejemplo:

hibernate.connection.url=jdbc:mysql://localhost/xplanner?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
hibernate.connection.username=xplanner
hibernate.connection.password=xplanner

Nótese que estamos indicando que existe un esquema llamado “xplannet” y que existe un usuario “xplannet” con clave “xplannet” que debe tener privilegios suficientes para manipular el esquema “xplannet” (podemos encontrar más información en
http://www.xplanner.org/install_mysql.html).

Ojo también con las opciones useUnicodecharacterEncoding. Si no las ponemos no nos saldrán correctamente las tildes.

Una vez puestos los valores correctos para acceder y manipular la base de datos, vamos a crear las tablas. Para ello vamos a usar el modo automático, especialmente indicado cuando estamos haciendo una instalación de cero (si estamos instalando sobre
una versión anterior de XPlannet, o queremos tener control total, sería recomendable el proceso manual sobre el que podemos encontrar información en
http://www.xplanner.org/install.html).

Para crear de forma automática las tablas basta con hacer:

$ cd /usr/local/src/xplanner_0.6.2/xplanner
$ ant install.db.schema

3.3.1. Problemas al crear las tablas

Personalmente el proceso para crear las tablas me ha dado dos problemas:

  • Las tablas se crean como MyISAM en vez de como InnoDB.
  • Error de sintaxis al crear las restricciones de las claves ajenas.

Vamos a comentar estos problemas y ver como solucionarlos:

3.3.1.1. Las tablas se crean como MyISAM en vez de como InnoDB

Según la documentación de XPlanner es necesario usar una base de datos con soporte transaccional. Por esto es necesario que las tablas de MySQL sean de tipo InnoDB. Si las creamos como MyISAM (que suele ser el valor por defecto) puede parecer que todo funciona correctamente, pero es posible que nos encontremos con problemas en la integridad de los datos en el futuro.

En mi caso las tablas se me crean de tipo MyISAM porque este es el valor por defecto para mi MySQL, y el script de creación que se genera con ant install.db.schema no especifica el tipo que tienen que tener las tablas (esperemos que los chicos de XPlanner mejoren este punto en el futuro).

Vamos a ver como arreglar este problema.

Cuando ejecutamos ant install.db.schema se crea el fichero:

/usr/local/src/xplanner_0.6.2/xplanner/build/hibernate_schema.sql

Este fichero es el script de creación de las tablas y restricciones. Debemos editarlo y añadir la línea (la podemos añadir al principio del todo):

set storage_engine=InnoDB

Con esto estamos indicando que todas las tablas que se creen serán, si no se indica lo contrario, de tipo InnoDB.

Ahora debemos volver a ejecutar este script, para ello podemos hacerlo desde MySQL Query Browser o desde MySQL Control Center, eso sí tendremos que añadir un “;” al final de cada sentencia SQL (ojo, al final de cada sentencia, no al final de cada línea). Presentamos una sección de ejemplo de como debería quedar el fichero:

drop table if exists task;
drop table if exists xfile;
drop table identifier;
set storage_engine=InnoDB;
create table datasample (
   sampleTime DATETIME not null,
   referenceId INTEGER not null,
   aspect VARCHAR(255) not null,
   value DOUBLE PRECISION,
   primary key (sampleTime, referenceId, aspect)
);
create table person_role (
   role_id INTEGER not null,
   person_id INTEGER not null,
   project_id INTEGER not null,
   primary key (role_id, person_id, project_id)
);

Al ejecutar el scrip podemos ver que las tablas se han vuelto a crear, y esta vez del tipo correcto (InnoDB).

Para terminar ejecutaremos:

$ ant bootstrap

Esto es necesario para realizar los últimos pasos de ant install.sb.schema; es decir, creación de roles, …

3.3.1.2. Error de sintaxis al crear las restricciones de las claves ajenas

En la línea 177 del fichero hibernate_schema.sql (el mismo que hemos editado para arreglar el problema anterior):

alter table note add index
(attachment_id), add constraint false foreign key
(attachment_id) references xfile (id)

hay un error de sintaxis, ya que no debería aparecer la palabra “false”.

En este caso no haremos nada, dejaremos pasar el error hasta que los chicos de XPlanner nos den una solución. Esto no es del todo bueno ya que estamos perdiendo una restricción, pero debe ser la gente de XPlannet la que determine el comportamiento correcto.

3.4. Configuración del correo electrónico

Ahora vamos a configurar el correo. Esto es necesario para las notificaciones que envía XPlanner.

Editamos el fichero
/usr/local/src/xplanner_0.6.2/xplanner/resources/xplanner.properties

Buscaremos y modificaremos las siguientes entradas:

xplanner.mail.smtp.host=localhost #
enter your SMTP host
xplanner.mail.from=xplanner@example.org #
enter the email sender for XPlanner messages

3.5. Creación e instalación del war

XPlanner se instala como una aplicación Web en un contenedor de Servlet 2.3 (JSP 1.2), como por ejemplo Tomcat.

Para esto vamos a prepara el .war que contiene la aplicación Web. Basta con hacer:

$ cd /usr/local/src/xplanner_0.6.2/xplanner
$ ant build.war

Esto nos crea el archivo /usr/local/src/xplanner_0.6.2/xplanner/xplanner.war

Ahora para desplegar la aplicación Web basta con copiar este .war al directorio $CATALINA_HOME/webapps

Reiniciamos Tomcat y ya lo tenemos todo listo.

4. Primeros pasos con XPlanner

Para entrar en la aplicación pondremos en el navegador: http://localhost:8080/xplanner

Nos aparecerá la pantalla de login:

Nos logaremos con el usuario “sysadmin” con clave “admin” (este usuario se creo durante la instalación y es muy recomendable cambiarle la clave lo antes posible).

A partir de aquí lo mejor que podemos hacer es jugar con la aplicación para familiarizarnos con sus funcionalidades y exprimirlas al máximo.

Veamos un pequeño ejemplo: una vez logados pasamos a la ventana principal donde vemos que todavía no hay ningún proyecto creado:

Para crear un nuevo proyecto pulsaremos sobre “Add Project”:

Ponemos el nombre, la descripción y pulsamos sobre “Create”.

Ahora vemos el proyecto que acabamos de crear, y podemos pulsar sobre él para ir al detalle:

Ahora deberíamos crear iteraciones en el proyecto. Para ello pulsamos sobre “Create Iteration”:

Al pulsar sobre el botón “Create” volvemos al detalle del proyecto donde ya aparece al iteración que acabamos de crear:

De esta manera podemos ir creando todos los elementos que forman parte del proyecto: Iteraciones, personas, historias, …

5. Conclusiones

En este tutorial sólo hemos empezado a rascar sobre toda la potencia que nos ofrece XPlanner. Ahora os toca a vosotros el explorar todas las posibilidades que nos da la herramienta.

Recordar que para aprovechar al máximo la herramienta es necesario conocer la metodología XP (eXtreme Programing). Así que os animo a que le echéis un ojo a esta estupenda metodología. En http://www.xplanner.org/links.html podéis encontrar varios enlaces muy interesantes al respecto.

Saludos a todos, y hasta el próximo tutorial.

6. Sobre el autor

Alejandro Pérez García

Dir. Implantación y Rendimiento

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L.

http://www.autentia.com

 

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad