trac: gestión de proyectos de desarrollo de software

56
Gesti´ on de Proyectos de desarrollo de Software mediante herramientas libres Esteban Saavedra L´ opez. Ph.D CEO Opentelematics Internacional Bolivia [email protected] http://jesaavedra.opentelematics.org http://esteban.profesionales.org Esteban Saavedra L´opez. Ph.D (Opentelematics) Gesti´on de Proyectos de desarrollo de Software mediante herramientas libres Nov. 2008 1 / 56

Upload: esteban-saavedra-lopez

Post on 11-Jun-2015

503 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 Softwaremediante herramientas libres

Esteban Saavedra Lopez. Ph.D

CEO Opentelematics Internacional [email protected]

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

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 2 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 3 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 4 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 5 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 6 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 7 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 8 / 56

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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 9 / 56

Page 10: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 10 / 56

Page 11: 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 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

Page 12: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 12 / 56

Page 13: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 13 / 56

Page 14: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 14 / 56

Page 15: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 15 / 56

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

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

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

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

Page 18: 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. Ph.D (Opentelematics)Gestion de Proyectos de desarrollo de Software mediante herramientas libresNov. 2008 18 / 56

Page 19: 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 comun con apache2.

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

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

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

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

Demostracion de funcionalidades

Demostracion

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Redmine (1) Project

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

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

Redmine (2) MiPage

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

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

Redmine (3) Workflow

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

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

Redmine (4) Roles

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

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

Redmine (5) List

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

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

Redmine (6) Grant

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

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

Redmine (7) SVN

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

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

Alternativas en Internet

Basecamp

unfuddle

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

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

Basecamp (1) Dashboard

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

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

Basecamp (2) List

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

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

Basecamp (3) Overview

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

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

Basecamp (4) Comments

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

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

Basecamp (5) Files

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

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

Basecamp (6) Mesages

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

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

Basecamp (7) Milestones

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

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

Basecamp (8) Time

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

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

Unfuddle (1) Dashboard

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

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

Unfuddle (2) People

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

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

Unfuddle (3) Projects

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

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

Unfuddle (4) Source

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

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

Unfuddle (5) Tickets

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

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

Unfuddle (6) Time Tracking

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

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

Unfuddle (7) Milestones

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

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

Unfuddle (8) Mesages

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

Page 54: 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/

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

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

Preguntas

Preguntas

Preguntas, dudas, consultas, ...

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

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

Agradecimientos

Gracias...

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