trac: gestión de proyectos de desarrollo de software

28
Gesti´ on de Proyectos de desarrollo de Software - Trac Esteban Saavedra L´ opez CEO Opentelematics Internacional Bolivia [email protected] http://jesaavedra.opentelematics.org http://esteban.profesionales.org Esteban Saavedra L´ opez (Opentelematics) Gesti´ on de Proyectos de desarrollo de Software - Trac Oct. 2007 1 / 28

Upload: esteban-saavedra-lopez

Post on 11-Jun-2015

431 views

Category:

Documents


1 download

DESCRIPTION

Trac: Gestiónde proyectos de desarrollode Software

TRANSCRIPT

Page 1: Trac: Gestión de proyectos de desarrollo de Software

Gestion de Proyectos de desarrollo de Software - Trac

Esteban Saavedra Lopez

CEO Opentelematics Internacional [email protected]

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

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 1 / 28

Page 2: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 2 / 28

Page 3: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 3 / 28

Page 4: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 4 / 28

Page 5: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 5 / 28

Page 6: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 6 / 28

Page 7: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 7 / 28

Page 8: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 8 / 28

Page 9: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 9 / 28

Page 10: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 10 / 28

Page 11: Trac: Gestión de proyectos de desarrollo de Software

Funcionalidades (2)

Planificacion (Roadmap)

Sistema para denir 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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 11 / 28

Page 12: Trac: Gestión de proyectos de desarrollo de Software

Funcionalidades (3)

Manejo de eventos (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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 12 / 28

Page 13: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 13 / 28

Page 14: Trac: Gestión de proyectos de desarrollo de Software

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 comn con apache2.

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 14 / 28

Page 15: Trac: Gestión de proyectos de desarrollo de Software

Funcionalidades (7)

Administracion

Permite realizar la gestion de varios aspectos de un proyecto:

ConfiguracionUsuariosPermisosPluginsetc

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 15 / 28

Page 16: Trac: Gestión de proyectos de desarrollo de Software

Funcionalidades (8)

Notificaciones

Permite realizar notificaciones de cambios realizados en el proyecto, viaemail.

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 16 / 28

Page 17: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 17 / 28

Page 18: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 18 / 28

Page 19: Trac: Gestión de proyectos de desarrollo de Software

Como se crea un proyecto?

Se emplea un programa que se invoca desde la lınea de comandos yque genera una estructura de directorios con la conguracion delproyecto y los cheros relacionados

Nota: Si usamos Subversion o una BBDD distinta de SQLite seranecesario crear el repositorio y/o la BBDD antes de crear el proyecto).

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 19 / 28

Page 20: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 20 / 28

Page 21: Trac: Gestión de proyectos de desarrollo de Software

Permisos de usuarios

Los usuarios sin identicar son usuarios anonymous.

Los usuarios identicados tienen como mınimo los permisos deanonymous mas los del usuario authenticated (es como si se lesasignara ).

El sistema no integra ningun sistema de gestion de usuarios, losnombres de usuario se consideran validos si nos los pasa el servidorWeb.

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 21 / 28

Page 22: Trac: Gestión de proyectos de desarrollo de Software

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 (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 22 / 28

Page 23: Trac: Gestión de proyectos de desarrollo de Software

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.

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

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 23 / 28

Page 24: Trac: Gestión de proyectos de desarrollo de Software

Cambios para la proxima version (0.11)

El WebAdminPlugin pasa a formar parte del nucleo.

Eliminada dependencia en ClearSilver (reemplazado por Genshi).

Eliminado el uso de programas externos para analisis sintactico decheros (usa pygments: coloreo de sintaxis).

Nuevo sistema de permisos exible.

Posibilidad de denir ujos de trabajo para los tickets.

Soporte de internacionalizacion.

Soporte para multiples proyectos con vista unicada.

Mejoras en el sistema de gestion de usuarios y sesiones, el sistema debusquedas, en la documentacion, en la interaccion con sistemas decontrol de versiones, etc.

Busquedas avanzadas

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 24 / 28

Page 25: Trac: Gestión de proyectos de desarrollo de Software

Resumen de Caracterısticas

Sistema de gestin de proyectos de desarrollo de software.

Gestion de incidencias internas

Trabajo colaborativo

Mantenimiento del codigo

Sistema de ticketing como herramienta de seguimiento de errores

Interfaz externa para proyectos

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 25 / 28

Page 26: Trac: Gestión de proyectos de desarrollo de Software

Referencias

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

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

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

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 26 / 28

Page 27: Trac: Gestión de proyectos de desarrollo de Software

Preguntas

Preguntas

Preguntas, dudas, consultas, ...

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 27 / 28

Page 28: Trac: Gestión de proyectos de desarrollo de Software

Agradecimientos

Gracias...

Esteban Saavedra Lopez (Opentelematics) Gestion de Proyectos de desarrollo de Software - Trac Oct. 2007 28 / 28