ALKAID - Gestión de proyectos de software con Trac
1. TRAC para la integración
y control de proyectos de
software
Jonathan Vargas Rodríguez
Administrador de Proyectos
“Construimos, integramos y ponemos a disposición
conocimiento y herramientas tecnológicas para el
progreso”
2. Presentación
TRAC es una plataforma Web basada
en el modelo de software libre, cuyo
objetivo es facilitar la gestión,
integración y seguimiento de proyectos
de desarrollo de software y de
infraestructura tecnológica, empleando
el popular modelo de tickets
3. Conceptos
Ticket: Unidad atómica que
concentra un conjunto de
atributos, propiedades, un
histórico de cambios y un flujo de
trabajo colaborativo. Es la base
principal del funcionamiento de
Trac
4. Conceptos
VCS: Alude a “Sistema de Control de
Versiones” (siglás en inglés).
Permite llevar el histórico de cambios en
el código fuente de un proyecto de forma
centralizada y desacoplada. Por ejemplo
Subversion, Bazaar, Git, CVS
5. Conceptos
Wiki: Es un sitio web cuyas páginas
pueden ser editadas por múltiples
voluntarios a través del navegador web.
Los usuarios pueden crear, modificar o
borrar un mismo texto con mucha
facilidad, facilitando la documentación y
la compartición de conocimiento
6. Características
Integración nativa con repositorios Subversión
Plataforma Wiki integrada sumamente flexible
Tipos de tickets personalizables
Fácil reporte y detección de defectos
Sistema de notificaciones por correo electrónico
Adaptación del flujo de trabajo en los tickets
Agrupación de tickets en Hitos (milestones)
Monitor de la actividad reciente en el proyecto
Colaboración entre miembros del equipo
7. Características
Enriquecida clasificación y priorización de tickets
Creación ágil de múltiples tipos de links
Ampliamente extensible a través de Plugins
Autenticación nativa o integrable a otros sistemas
Autorización mediante grupos y permisos
Ágil creación de reportes personalizados
Exploración de código fuente
Consulta de control de cambios y revisiones
Código abierto fácil de personalizar
8. Aspectos Técnicos
Desarrollado en el lenguaje Python
Cuenta con servidor Web integrado
Normalmente integrado a servidor Web Apache
Licenciado bajo software libre BSD
Base de datos Sqlite o MySQL
Localizado al idioma español mediante Babel
Envío de notificaciones por SMTP
Sistema de plantillas basado en Genshi
Resaltado de sintaxis con Silverlight
Soportado por la empresa EdgeWall
9. Arquitectura
Sistema de Gestión y Repositorios de Versiones
Control del Proyecto de Código Fuente
Mutuamente integrados
Máquinas virtuales de
prueba y desarrollo
Actualización
automática o manual
10. Wiki
Facilita colaboración en documentación
Creación de enlaces usando CamelCase
Uso de TracLinks enlaza a nodos del sistema:
Tickets, Adjuntos, Revisiones, Cambios, etc
Sintaxis de fácil comprensión y edición
Plantillas permiten personalizar apariencia
Cada página tiene su propio histórico
Las páginas pueden estar jerarquizadas
Es posible adjuntar archivos a páginas
Permite creación personalizada de macros
13. Eventos
Monitoreo de actividades en el proyecto
Permite filtrar por tipo de actividad
Enlaza con detalle de actividades
Muestra rápida descripción de la actividad
Lista los cambios en el código fuente
Lista los cambios en las incidencias
Lista los cambios en las páginas del Wiki
Notifica cuando hitos son alcanzados
15. Progreso
Lista hitos (milestones) del proyecto
Muestra el nivel de avance por hito
Avance calculado en base a tickets
Muestra fechas límite y retrasos por hito
Acceso directo a reportes de tickets por hito
Estimación de horas estimadas e invertidas (plugin)
Filtrar por hitos alcanzados
17. Reportes
Cuenta con reportes predefinidos de tickets
Filtros por cualquier propiedad del ticket
Ordenamiento por cualquier propiedad del ticket
Agrupación por cualquier propiedad del ticket
Personalización de columnas a mostrar
Creación de reportes personalizados
Búsqueda avanzada de tickets
Creación de reporte a partir de búsqueda
Resaltado colorizado de la prioridad del ticket
21. Incidencias
(tickets)
Cualquier cosa por hacer es una incidencia (ticket)
Fácil identificación por número o título
Creada por un “informante” y a cargo de un “asignado”
Cada ticket tiene un estado que indica situación actual
Posee prioridad, gravedad, componente e hito
Permite indicar palabras clave que faciliten búsqueda
22. Incidencias
(tickets)
Descripción permite uso de formato Wiki y TracLinks
Colaboradores añaden comentarios en el historial
Comentarios permiten formato Wiki y TracLinks
Acciones sobre el ticket siguen flujo de trabajo
El ticket muestra todo su historial de cambios
Es posible anexar múltiples archivos al ticket
25. Explorador
(de código fuente)
Lista uno o más repositorios del proyecto
Permite navegar entre carpetas y abrir ficheros
Muestra versión del fichero y última modificación
Indica tamaño de archivo y autor del cambio
Muestra comentario del último cambio realizado
Aplica sintaxis coloreada a archivos de código
Permite explorar cambios y otras versiones
Genera “diferencias” entre versiones
28. Recursos Adicionales
Sitio oficial del proyecto
http://trac.edgewall.com
¿Quién usa Trac?
http://trac.edgewall.org/wiki/TracUsers
Documentación de usuario
http://trac.edgewall.org/wiki/TracGuide
¿Demostración en Línea?
Escríbanos a soluciones@alkaid.cr
29. Otras herramientas
Control de versiones Gestión de proyectos
Subversion, Git, Bazaar, CVS, Mercurial Trac, Redmine, OpenProj, Bugzilla, Mantis, Jira
Construcción IDE's
Ant, Nunit, jUnit, Nant, Maven Netbeans, Eclipse, Monodevelop, Anjuta,