trac: gestión de proyectos de desarrollo de software

Post on 11-Jun-2015

503 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Trac: Gestiónde proyectos de desarrollode Software

TRANSCRIPT

Gestion de Proyectos de desarrollo de Softwaremediante herramientas libres

Esteban Saavedra Lopez. Ph.D

CEO Opentelematics Internacional Boliviajesaavedra@opentelematics.org

http://jesaavedra.opentelematics.orghttp://esteban.profesionales.org

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 1 / 56

Introduccion

Actualidad

La gestion de proyectos de desarrollo de Software, hoy por hoy se haconvertido en un elemento indispensable en el proceso dedesarrollo de un producto software

Se ha convertido en un aliado importante de la ingenierıa de softwareen la tarea de conseguir como resultado un producto de software decalidad.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 2 / 56

Gestion de Proyectos

La gestion de proyectos de desarrollo de Software actualmente precisa decontar con algunas herramientas:

Sistema de planicacion

Sistema de gestion documental

Sistema de control de versiones

Sistema de gestion de incidencias

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 3 / 56

Sistema de planicacion

Objetivo

Que permita organizar el proyecto en funcion de hitos, tareas, subtareas,asignacion y control de tiempos, recursos materiales y humanos.

Idealmente

Permitir hacer el seguimiento y reajustar la planicacion en funcion de laevolucion del proyecto.

Recomendacion

Disponer de herramientas para llevar el control de tiemposestimados y empleados para cada tarea; para poder controlar laevolucion del proyecto.

Es importante que as personas inmersas en el proyecto debenreportar el tiempo que dedican a cada tarea y actualicen el estadode las mismas con relativa frecuencia (recomendable diariamente)

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 4 / 56

Sistema de gestion documental

Objetivo

Servira para almacenar y mantener los documentos obtenidos ogenerados durante el desarrollo del proyecto y acceder a elloscomodamente.

Cada hito, tarea o subtarea implica la obtencion o generacion dedocumentacion (actas de reuniones, documentos de diseno, etc.).

Idealmente

Debe permitir que almacenemos esa documentacion en el propio sistema.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 5 / 56

Sistema de control de versiones

Objetivo

Permitira el desarrollo concurrente y para mantener la historia delcodigo fuente y parte de la documentacion producida en elproyecto.

Al tratarse de proyectos informaticos lo normal es que se trabaje concodigo fuente y con documentos que van evolucionando a lo largo deldesarrollo y que deben ser modicados por multiples personas.

Idealmente

Disponer de un sistema de control de versiones que permita mantener lahistoria de los cheros generados y que mas de una persona trabajeconcurrentemente sobre el mismo codigo.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 6 / 56

Sistema de gestion de incidencias

Objetivo

Permitira hacer el seguimiento de los errores detectados y suscorrecciones, tanto aquellos reportados por los responsables de laprueba del software como por los desarrolladores o los usuarios nales.

Tambien se puede utilizar como sistema de seguimiento de tareasde corta duracion asociadas a fases del proyecto, a erroresdetectados o a cambios relacionados con solicitudes de mejorasolicitadas por el cliente.

Idealmente

Debera controlar todas y cada una de las posibles incidencias quepuedan ocurrir en el desarrollo de un producto software.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 7 / 56

Herramientas para gestion de proyectos

Existen multitud de paquetes de software especializados queproporcionan las funcionalidades necesarias para la gestion deproyectos, ya sea por separado o integrando multiples funcionalidadesen un unico producto (generalmente de pago)

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 8 / 56

Alternativas Libres

Trac es un sistema que integra varios componentes con capacidadessucientes para la gestion de proyectos de desarrollo de software.

Trac es un programa pensado para desarrolladores que necesitanmantener un proyecto. Programado en python y ejecutado a travesde mod_python o como cgi o fastcgi usando un servidor web,permite llevar una serie de utilidades propias para un proyecto.

Que es Trac?

Trac es un sistema web multiplataforma ligero y extensible.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 9 / 56

Componentes del sistema

Trac ha sido concebido de forma modular donde se pueden anadirplugins que proporcionan distintas funcionalidades. (casi todos loscomponentes estandar son modulos que pueden ser activados,desactivados o reemplazados o modicados por otros).

Actualmente existen plugins para anadir funcionalidades a Trac como:

Autenticacion con formularios y usuarios en LDAP, BBDD o fichero.Uso de otros VCS como Bazaar, GIT, Mercurial o Monotone.Servicios adicionales como blogs, foros, etc.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 10 / 56

Requisitos de instalacion

Los requisitos de las versiones actuales (0.10.x) son:

Python: por estar desarrollado en python, ademas precisa los enlaces(bindings) con algunos de los subsistemas que emplea, como porejemplo: ClearSilver, SQLite o Subversion.

Sistema de proceso de plantillas ClearSilver o Genshi.

Soporte de la BBDD que vayamos a utilizar (SQLite, PostgreSQL oMySQL).

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 11 / 56

Funcionamiento

Trac puede funcionar de dos formas:

Mediante su propio servidor (tracd)Mediante un servidor estandar (lighttpd, apache2) que tenga soportepara ejecutar codigo python usando scripts de CGI, FastCGI omod_python.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 12 / 56

Que pasa con el Acceso?

El acceso a los distintos componentes se controla utilizando unsistema de permisos sencillo:

Cada componente dene un conjunto de acciones posibles.Para que un usuario pueda realizar la accion su identicador debe estarasociado con esa accion.

La asociacion puede ser:

Ligando un identicador con un nombre de accion.Ligando un identicador con otro, lo que equivale a ligar al primero conla lista de acciones validas del segundoHay acciones que engloban a otras (un usuario asociado a la accionTRAC_ADMIN tiene permiso realizar cualquier accion).

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 13 / 56

Sistema de administracion

Se puede hacer desde la lınea de comandos (trac-admin) o usando elWebAdminPlugin.

Estas herramientas permiten:

Control de permisos de los usuarios.Denicion de campos en los tickets.Instalacion de otros plugins (solo desde el plugin).Edicion del chero de conguracion (solo el plugin).

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 14 / 56

Funcionalidades (1)

Wiki

Empleado para documentar cualquier aspecto del proyecto de modocolaborativo y sin necesidad de herramientas especiales.

La sintaxis del wiki considera:

Empleo de macrosUso de sintaxis para formatos especiales

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 15 / 56

Funcionalidades (2)

Seguimiento (Roadmap)

Sistema para definir y visualizar el estado de los hitos de un proyecto(un hito incluye una descripcion y una fecha y se usa como atributo de lostickets, que se asocian a hitos concretos).

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 16 / 56

Funcionalidades (3)

Manejo de fechas (Timeline)

Sistema de seguimiento de eventos en el sistema:

Historico de cambios en el wiki

En el sistema de control de versiones,

En el sistema de gestion de incidencias o vencimiento de un hito

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 17 / 56

Funcionalidades (4)

Busquedas

Permite localizar paginas del wiki, comentarios dentro de los conjuntosde cambios o tickets en los que aparece una palabra.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 18 / 56

Funcionalidades (5)

Visor de Codigo

Integrado con algun sistema de control de versiones (asociado alproyecto), nos permite ver los cambios que se han producido en elprograma de una forma visual (estado actual del repositorio, loscambios que se han ido produciendo, comparar distintas versiones decheros en lınea, etc).

Importante Trac unicamente es un interfaz de lectura delrepositorio, recordemos que para acceder al Subversion se pueden usarmultiples medios (https://, svn://, svn+ssh://, etc.).

Una opcion comoda para acceder a estos servicios es montar unacceso comun con apache2.

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 19 / 56

Funcionalidades (6)

Administracion

Permite realizar la gestion de varios aspectos de un proyecto:

ConfiguracionUsuariosPermisosPluginsetc

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 20 / 56

Demostracion de funcionalidades

Demostracion

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 21 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 22 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 23 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 24 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 25 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 26 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 27 / 56

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 28 / 56

Otras Alternativas Libres

Redmine

Basecamp

unfuddle

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 29 / 56

Redmine (1) Project

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 30 / 56

Redmine (2) MiPage

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 31 / 56

Redmine (3) Workflow

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 32 / 56

Redmine (4) Roles

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 33 / 56

Redmine (5) List

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 34 / 56

Redmine (6) Grant

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 35 / 56

Redmine (7) SVN

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 36 / 56

Alternativas en Internet

Basecamp

unfuddle

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 37 / 56

Basecamp (1) Dashboard

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 38 / 56

Basecamp (2) List

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 39 / 56

Basecamp (3) Overview

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 40 / 56

Basecamp (4) Comments

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 41 / 56

Basecamp (5) Files

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 42 / 56

Basecamp (6) Mesages

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 43 / 56

Basecamp (7) Milestones

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 44 / 56

Basecamp (8) Time

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 45 / 56

Unfuddle (1) Dashboard

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 46 / 56

Unfuddle (2) People

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 47 / 56

Unfuddle (3) Projects

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 48 / 56

Unfuddle (4) Source

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 49 / 56

Unfuddle (5) Tickets

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 50 / 56

Unfuddle (6) Time Tracking

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 51 / 56

Unfuddle (7) Milestones

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 52 / 56

Unfuddle (8) Mesages

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 53 / 56

Referencias

Proyecto Trac: http://trac.edgewall.org/

Componentes adicionales: http://trac-hacks.org/

Acceso a repositorios libres: https://opensvn.csie.org/

http://www.redmine.org/

http://www.basecamphq.com

http://unfuddle.com/

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 54 / 56

Preguntas

Preguntas

Preguntas, dudas, consultas, ...

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 55 / 56

Agradecimientos

Gracias...

Esteban Saavedra Lopez. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 56 / 56

top related