POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas libres
1. Gesti´n de Proyectos de desarrollo de Software
o
mediante herramientas libres
Esteban Saavedra L´pez. Ph.D
o
CEO Opentelematics Internacional Bolivia
jesaavedra@opentelematics.org
http://jesaavedra.opentelematics.org
http://esteban.profesionales.org
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 1 / 56
2. Introducci´n
o
Actualidad
La gesti´n de proyectos de desarrollo de Software, hoy por hoy se ha
o
convertido en un elemento indispensable en el proceso de
desarrollo de un producto software
Se ha convertido en un aliado importante de la ingenier´ de software
ıa
en la tarea de conseguir como resultado un producto de software de
calidad.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 2 / 56
3. Gesti´n de Proyectos
o
La gesti´n de proyectos de desarrollo de Software actualmente precisa de
o
contar con algunas herramientas:
Sistema de planicaci´n
o
Sistema de gesti´n documental
o
Sistema de control de versiones
Sistema de gesti´n de incidencias
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 3 / 56
4. Sistema de planicaci´n
o
Objetivo
Que permita organizar el proyecto en funci´n de hitos, tareas, subtareas,
o
asignaci´n y control de tiempos, recursos materiales y humanos.
o
Idealmente
Permitir hacer el seguimiento y reajustar la planicaci´n en funci´n de la
o o
evoluci´n del proyecto.
o
Recomendaci´no
Disponer de herramientas para llevar el control de tiempos
estimados y empleados para cada tarea; para poder controlar la
evoluci´n del proyecto.
o
Es importante que as personas inmersas en el proyecto deben
reportar el tiempo que dedican a cada tarea y actualicen el estado
de las mismas con relativa frecuencia (recomendable diariamente)
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 4 / 56
5. Sistema de gesti´n documental
o
Objetivo
Servir´ para almacenar y mantener los documentos obtenidos o
a
generados durante el desarrollo del proyecto y acceder a ellos
c´modamente.
o
Cada hito, tarea o subtarea implica la obtenci´n o generaci´n de
o o
documentaci´n (actas de reuniones, documentos de dise˜o, etc.).
o n
Idealmente
Debe permitir que almacenemos esa documentaci´n en el propio sistema.
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 5 / 56
6. Sistema de control de versiones
Objetivo
Permitir´ el desarrollo concurrente y para mantener la historia del
a
c´digo fuente y parte de la documentaci´n producida en el
o o
proyecto.
Al tratarse de proyectos inform´ticos lo normal es que se trabaje con
a
c´digo fuente y con documentos que van evolucionando a lo largo del
o
desarrollo y que deben ser modicados por m´ltiples personas.
u
Idealmente
Disponer de un sistema de control de versiones que permita mantener la
historia de los cheros generados y que m´s de una persona trabaje
a
concurrentemente sobre el mismo c´digo.
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 6 / 56
7. Sistema de gesti´n de incidencias
o
Objetivo
Permitir´ hacer el seguimiento de los errores detectados y sus
a
correcciones, tanto aquellos reportados por los responsables de la
prueba del software como por los desarrolladores o los usuarios nales.
Tambi´n se puede utilizar como sistema de seguimiento de tareas
e
de corta duraci´n asociadas a fases del proyecto, a errores
o
detectados o a cambios relacionados con solicitudes de mejora
solicitadas por el cliente.
Idealmente
Deber´ controlar todas y cada una de las posibles incidencias que
a
puedan ocurrir en el desarrollo de un producto software.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 7 / 56
8. Herramientas para gesti´n de proyectos
o
Existen multitud de paquetes de software especializados que
proporcionan las funcionalidades necesarias para la gesti´n de
o
proyectos, ya sea por separado o integrando m´ltiples funcionalidades
u
en un unico producto (generalmente de pago)
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 8 / 56
9. Alternativas Libres
Trac es un sistema que integra varios componentes con capacidades
sucientes para la gesti´n de proyectos de desarrollo de software.
o
Trac es un programa pensado para desarrolladores que necesitan
mantener un proyecto. Programado en python y ejecutado a trav´s e
de mod_python o como cgi o fastcgi usando un servidor web,
permite llevar una serie de utilidades propias para un proyecto.
Qu´ es Trac?
e
Trac es un sistema web multiplataforma ligero y extensible.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 9 / 56
10. Componentes del sistema
Trac ha sido concebido de forma modular donde se pueden a˜adirn
plugins que proporcionan distintas funcionalidades. (casi todos los
componentes est´ndar son m´dulos que pueden ser activados,
a o
desactivados o reemplazados o modicados por otros).
Actualmente existen plugins para a˜adir funcionalidades a Trac como:
n
Autenticaci´n con formularios y usuarios en LDAP, BBDD o fichero.
o
Uso de otros VCS como Bazaar, GIT, Mercurial o Monotone.
Servicios adicionales como blogs, foros, etc.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 10 / 56
11. Requisitos de instalaci´n
o
Los requisitos de las versiones actuales (0.10.x) son:
Python: por estar desarrollado en python, adem´s precisa los enlaces
a
(bindings) con algunos de los subsistemas que emplea, como por
ejemplo: ClearSilver, SQLite o Subversion.
Sistema de proceso de plantillas ClearSilver o Genshi.
Soporte de la BBDD que vayamos a utilizar (SQLite, PostgreSQL o
MySQL).
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 11 / 56
12. Funcionamiento
Trac puede funcionar de dos formas:
Mediante su propio servidor (tracd)
Mediante un servidor est´ndar (lighttpd, apache2 ) que tenga soporte
a
para ejecutar c´digo python usando scripts de CGI, FastCGI o
o
mod_python.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 12 / 56
13. Que pasa con el Acceso?
El acceso a los distintos componentes se controla utilizando un
sistema de permisos sencillo:
Cada componente dene un conjunto de acciones posibles.
Para que un usuario pueda realizar la acci´n su identicador debe estar
o
asociado con esa acci´n.
o
La asociaci´n puede ser:
o
Ligando un identicador con un nombre de acci´n.
o
Ligando un identicador con otro, lo que equivale a ligar al primero con
la lista de acciones v´lidas del segundo
a
Hay acciones que engloban a otras (un usuario asociado a la acci´no
TRAC_ADMIN tiene permiso realizar cualquier acci´n).
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 13 / 56
14. Sistema de administraci´n
o
Se puede hacer desde la l´
ınea de comandos (trac-admin) o usando el
WebAdminPlugin.
Estas herramientas permiten:
Control de permisos de los usuarios.
Denici´n de campos en los tickets.
o
Instalaci´n de otros plugins (s´lo desde el plugin).
o o
Edici´n del chero de conguraci´n (solo el plugin).
o o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 14 / 56
15. Funcionalidades (1)
Wiki
Empleado para documentar cualquier aspecto del proyecto de modo
colaborativo y sin necesidad de herramientas especiales.
La sintaxis del wiki considera:
Empleo de macros
Uso de sintaxis para formatos especiales
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 15 / 56
16. Funcionalidades (2)
Seguimiento (Roadmap)
Sistema para definir y visualizar el estado de los hitos de un proyecto
(un hito incluye una descripci´n y una fecha y se usa como atributo de los
o
tickets, que se asocian a hitos concretos).
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 16 / 56
17. Funcionalidades (3)
Manejo de fechas (Timeline)
Sistema de seguimiento de eventos en el sistema:
Hist´rico de cambios en el wiki
o
En el sistema de control de versiones,
En el sistema de gesti´n de incidencias o vencimiento de un hito
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 17 / 56
18. Funcionalidades (4)
B´squedas
u
Permite localizar p´ginas del wiki, comentarios dentro de los conjuntos
a
de cambios o tickets en los que aparece una palabra.
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 18 / 56
19. Funcionalidades (5)
Visor de C´digo
o
Integrado con algun sistema de control de versiones (asociado al
proyecto), nos permite ver los cambios que se han producido en el
programa de una forma visual (estado actual del repositorio, los
cambios que se han ido produciendo, comparar distintas versiones de
cheros en l´
ınea, etc).
Importante Trac unicamente es un interfaz de lectura del
repositorio, recordemos que para acceder al Subversion se pueden usar
m´ltiples medios (https://, svn://, svn+ssh://, etc.).
u
Una opci´n c´moda para acceder a estos servicios es montar un
o o
acceso com´n con apache2.
u
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 19 / 56
20. Funcionalidades (6)
Administraci´n
o
Permite realizar la gestion de varios aspectos de un proyecto:
Configuraci´n
o
Usuarios
Permisos
Plugins
etc
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 20 / 56
21. Demostraci´n de funcionalidades
o
Demostraci´n
o
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 21 / 56
22. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 22 / 56
23. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 23 / 56
24. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 24 / 56
25. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 25 / 56
26. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 26 / 56
27. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 27 / 56
28. Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 28 / 56
29. Otras Alternativas Libres
Redmine
Basecamp
unfuddle
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 29 / 56
30. Redmine (1) Project
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 30 / 56
31. Redmine (2) MiPage
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 31 / 56
32. Redmine (3) Workflow
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 32 / 56
33. Redmine (4) Roles
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 33 / 56
34. Redmine (5) List
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 34 / 56
35. Redmine (6) Grant
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 35 / 56
36. Redmine (7) SVN
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 36 / 56
37. Alternativas en Internet
Basecamp
unfuddle
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 37 / 56
38. Basecamp (1) Dashboard
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 38 / 56
39. Basecamp (2) List
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 39 / 56
40. Basecamp (3) Overview
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 40 / 56
41. Basecamp (4) Comments
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 41 / 56
42. Basecamp (5) Files
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 42 / 56
43. Basecamp (6) Mesages
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 43 / 56
44. Basecamp (7) Milestones
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 44 / 56
45. Basecamp (8) Time
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 45 / 56
46. Unfuddle (1) Dashboard
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 46 / 56
47. Unfuddle (2) People
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 47 / 56
48. Unfuddle (3) Projects
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 48 / 56
49. Unfuddle (4) Source
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 49 / 56
50. Unfuddle (5) Tickets
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 50 / 56
51. Unfuddle (6) Time Tracking
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 51 / 56
52. Unfuddle (7) Milestones
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 52 / 56
53. Unfuddle (8) Mesages
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 53 / 56
54. 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 L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 54 / 56
55. Preguntas
Preguntas
Preguntas, dudas, consultas, ...
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 55 / 56
56. Agradecimientos
Gracias...
Esteban Saavedra L´pez. Ph.D (Opentelematics) on de Proyectos de desarrollo de Software mediante herramientas libres
o Gesti´ Nov. 2008 56 / 56