AgileClockingIT es un rediseño de la herramienta ClockingIT (Actualmente Jobsworth), con incorporación del area de costos y estimaciones bajo entornos ágiles, es decir, con soporte iterativo e incremental. La idea fue desarrollada como Trabajo Especial de Grado, por Gerardo Barcia Palacios y Jonathan Trujillo, y bajo la tutela de Honack Villanueva, para obtener el título de Ingeniería en Informática en la Universidad Católica Andrés Bello (Caracas, Venezuela). La incorporación de las estimaciones en este trabajo propone una idea innovadora para este tipo de herramientas, pues no se trata de introducir un valor y dejar un registro; se trata de la automatización y apoyo en los cálculos de estimaciones mediante una combinación entre tres de las técnicas más utilizadas en esta área: Juicio experto por analogía, Estadísticas de la velocidad del equipo y Juicio experto por analogía mediante el método Delphi, este último con la metáfora del popular juego de «Planning Poker». La linea base de AgileClockingIT se puede consultar en la siguiente dirección: github.com/ari/jobsworth.
-
Soporte Iterativo e Incremental.
-
Manejo de Iteraciones a través de historias de usuario.
-
Soporte para la generación del RoadMap del Proyecto y gestión de hitos.
-
Manejo de costos basados en tiempo planificado contra tiempo de realización de actividades(historias de usuario).
-
Cálculo y Presentación de los indicadores Financieros por Proyecto de: Valor Ganado,Valor Presente Neto, Radio Costo Beneficio, Tasa Interna de Retorno, índice de desempeno en costos e índice de desempeno en Agenda, con sus respectivos gráficos.
-
Cálculo y Presentación del avance del proyecto en puntos con los indicadores de: Valor de Negocio, Velocidad del Equipo, Velocidad del Equipo por hora y valor ganado con sus respectivos gráficos.
-
Presentación de un reporte consolidado de proyecto.
-
Soporte para estimaciones de velocidad del equipo, basado en promedios de iteraciones anteriores.
-
Soporte para realizar estimaciones mediante el juego de «Planning Poker» en tiempo real.
-
Combinación de las técnicas de juicio experto por analogia, velocidad del equipo y Planning Poker para obtener el estimado final, usando la técnica de valor esperado.
-
Transformación de puntos en tiempo de trabajo (semanas, dias, horas, minutos).
Se puden apreciar las capturas de la herramienta en: github.com/gbarcia/agile-clockingIt/wiki/Screenshots
La manera más fácil de obtener el código más reciente es con Git. Necesitarás instalarlo en tu máquina y luego ejecutar:
git clone git://github.com/gbarcia/agile-clockingIt
Se recomienda colocar los fuentes en la carpeta /opt/
-
Manejador de Base de Datos MYSQL
Instalar los siguientes paquetes:
-
ruby 1.9
-
ruby mysql driver
Instalar Phusion Passenger como servidor web. También se puede usar de forma alternativa Mongrel, pero recomendamos Phusion Passenger.
gem install passenger passenger-install-apache2-module
Seguir las instrucciones para la configuración del Apache httpd.
Luego, se debe generar un host virtual en el archivo /etc/apache2/httpd.conf de la siguiente forma:
<VirtualHost *:80> ServerName localhost DocumentRoot /opt/agileClockingIt/public </VirtualHost> <Directory /opt/agilclockingit/public> AllowOverride All Options -MultiViews Order allow,deny Allow from all </Directory>
Naturalmente, debes ajustar las rutas a tu propio directorio de alojamiento de la herramienta.
Se requiere de algunas gemas de Ruby para hacer funcionar AgilClockingIT. Cambia al directorio de instalación y escribe:
rake gems:install
Este comando instala las gemas que se necesitan.
cd /opt/agileclockingit/ ruby setup.rb
Seguir los pasos de la instalación en la cónsola.
git checkout db/schema.rb git pull
Luego, se debe realizar el upgrade la base de datos:
rake db:migrate RAILS_ENV=production
Reiniciar apache para actualizar los cambios en el servidor:
sudo /etc/init.d/apache2 restart
y borrar los siguientes archivos:
rm public/javascripts/main.js rm public/javascripts/popup.js rm public/javascripts/prototype-all.js rm public/stylesheets/all.css rm public/stylesheets/popup.css
Para la configuracion del envio de correos, se debe abrir el archivo environment.rb de la carpeta config y sustituir el puerto y dominio por el de su configuración predeterminada.
Para poder jugar Planning Poker en tiempo real, es necesario tener corriendo el servidor de Juggernaut, para ello se deben realizar los siguientes pasos:
-
Instalar node.js, se puede encontrar información sobre su instalación y los archivos fuentes en nodejs.org/
-
Instalar redis, se pueden encontrar información sobre su instalación y los archivos fuentes en code.google.com/p/redis/
-
Instalación y descarga de la gema de Juggernaut y su aplicativo, mediante:
git clone git://github.com/maccman/juggernaut.git –recursive
gem install juggernaut --pre
Una vez cumplido los tres pasos anteriores, se debe realizar:
-
Abrir el archivo config.yml de la carpeta config y colocar el ip de produccion donde correra la aplicacion.
-
Reiniciar el servidor de apache.
-
Ir a la carpeta de instalacion de redis, e iniciarlo:
./redis-server redis.conf
-
Ir a la carpeta del servidor Juggernaut y ponerlo en marcha:
sudo node server.js
NOTA: Juggernaut funciona con el puerto 8080, estar antentos para evitar bloqueos.
A los desarrolladores interesados en descargar esta versión y continuar con el trabajo para realizar mejoras, se pueden encontrar los diagramas de arquitectura, diseño y dominio de la herramienta en: github.com/gbarcia/agile-clockingIt/wiki/Diagramas-de-Arquitectura-y-Diseño