Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas libres

5,809 views

Published on

Published in: Technology
2 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total views
5,809
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
0
Comments
2
Likes
11
Embeds 0
No embeds

No notes for slide

Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas libres

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×