infraestructura agil
DESCRIPTION
Mis láminas del Agile Tour Merida 2011TRANSCRIPT
![Page 1: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/1.jpg)
Infraestructura de Desarrollo Ágil
Ing. Adrian MoyaMérida, Octubre de 2011
Como apoyarnos en herramientas libres para construir software aplicando Scrum + XP.
1 de 52
![Page 2: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/2.jpg)
Agenda
1. Introducción.2. Infraestructura.3. Construcción.4. Utilización.5. Conclusiones.
2 de 52
![Page 3: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/3.jpg)
Infraestructura de Desarrollo Ágil
En casa de herrero, cuchillo de palo
3 de 52
![Page 4: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/4.jpg)
Infraestructura Ágil
¿Qué necesitamos?
4 de 52
![Page 5: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/5.jpg)
Prácticas y requerimientos
SCRUM: Planificar y Gestionar el proyecto
Llevar control de las historias de usuario. Planificar las entregas en iteraciones. Medir el avance del equipo.
XP: Prácticas de Desarrollo
Buena comunicación del equipo. Control de versiones de código. Integrar código continuamente. Pruebas unitarias de código.
5 de 52
![Page 6: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/6.jpg)
Infraestructura Ágil
Estaciones de trabajo
Servidor Controlador de Versiones
Servidor de Información
Servidor de Scrum
Servidor de Integración Continua
Servidor de Desarrollo Servidor de
Calidad
6 de 52
![Page 7: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/7.jpg)
Servidor de Scrum
7 de 52
![Page 8: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/8.jpg)
Servidor de Scrum
Herramienta que lleva el control del proceso Scrum.
Fácil instalación y configuración. Backlog de producto automatizado. Planificación de Entregas e Iteraciones. Tablero de actividad del proyecto. Gráficas de Burndown, Velocidad entre otras.
8 de 52
![Page 9: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/9.jpg)
Servidor de Información
DokuWiki
9 de 52
![Page 10: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/10.jpg)
Servidor de Información
Wiki sencillo de usar. Basado en archivos de texto (no requiere DB). Sintaxis simple pero poderosa. Rápido. Tematizable Extensible vía plugins.
DokuWiki
10 de 52
![Page 11: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/11.jpg)
Servidor Controlador de Versiones
11 de 52
![Page 12: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/12.jpg)
Sistema de control de versiones centralizado. Fácil uso y excelente documentación. Soporte de ramas y etiquetas. Soporte de archivos binarios. Cliente Tortoise (integración en Windows) y
RabitVCS (Linux). Puede ser servido a través de apache.
Servidor Controlador de Versiones
12 de 52
![Page 13: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/13.jpg)
Servidor de integración continua
13 de 52
![Page 14: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/14.jpg)
Servidor de integración continua
Herramienta que monitorea la ejecución de trabajos repetitivos.
Construcción y prueba de proyectos de manera continua.
Fácil instalación y configuración. Soporta múltiples control de versiones. Notificaciones por RSS/Correo. Extensible vía plugins.
14 de 52
![Page 15: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/15.jpg)
Servidores de Desarrollo y Calidad
15 de 52
![Page 16: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/16.jpg)
Infraestructura Ágil
Estaciones de trabajo
Servidor Controlador de Versiones
Servidor de Información
Servidor de Scrum
Servidor de Integración Continua
Servidor de Desarrollo Servidor de
Calidad
DokuWiki
16 de 52
![Page 17: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/17.jpg)
Implementando la Infraestructura
¿Cómo instalo todo esto?
17 de 52
![Page 18: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/18.jpg)
Implementando la Infraestructura
Librería de aplicaciones que incluye lo mejor del software libre en un formato empaquetado y listo para usar.
Servidores basados en Ubuntu 10.04 LTS. Optimizados para facilidad de uso y despliegue
rápido (sólo minutos). Instalables en servidores físicos, máquinas
virtuales o en la nube.
18 de 52
![Page 19: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/19.jpg)
Servidor de Scrum Icescrum:
Imagen Comunitaria.Desarrollada por Adrian Moya.
Servidor de Información Dokuwiki:
Imagen OficialDokuwiki
Servidor de Control Versiones Subversion:
Imagen OficialSource ControlSvn/Git/Bzr/Hg
Servidor de Int. ContinuaJenkins:
Imagen Comunitaria.Desarrollada por Adrian Moya.
Implementando la Infraestructura
19 de 52
![Page 20: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/20.jpg)
Servidor de Desarrollo / Calidad:
LAMP/LAPP Tomcat PostgreSQL MySQL
Implementando la Infraestructura
20 de 52
![Page 21: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/21.jpg)
Consolidar servidores virtualizando:
Intel Core2Quad 4GB RAM 320GB DiscoSO: Proxmox-VE15 Servidores OVZ (TODA LA INFRAESTRUCTURA+)
Implementando la Infraestructura
21 de 52
![Page 22: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/22.jpg)
Utilizando la Infraestructura
22 de 52
![Page 23: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/23.jpg)
1. Crear el proyecto y asignar/crear el equipo.
Utilizando - Icescrum
23 de 52
![Page 24: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/24.jpg)
2. Construir las historias y características en el área de ensayo.
Utilizando - Icescrum
24 de 52
![Page 25: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/25.jpg)
3. Pasar las historias listas (aceptarlas) a la Pila del producto y priorizarlas con el Product Owner.
Utilizando - Icescrum
25 de 52
![Page 26: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/26.jpg)
4. Estimar las historias con el equipo (Pocker planning).
Utilizando - Icescrum
26 de 52
![Page 27: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/27.jpg)
5. Planificar historias en el sprint.
Utilizando - Icescrum
27 de 52
![Page 28: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/28.jpg)
6. Dividir historias en tareas y estimar en horas.
Utilizando - Icescrum
28 de 52
![Page 29: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/29.jpg)
7. Iniciar la iteración. El equipo toma las tareas y las pone en progreso. A medida que trabaja actualiza las horas restantes.
Utilizando - Icescrum
29 de 52
![Page 30: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/30.jpg)
8. Monitoriar el progreso de la iteración.
Utilizando - Icescrum
30 de 52
![Page 31: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/31.jpg)
9. Fin de la iteración - Retrospectiva
Utilizando - Icescrum
31 de 52
![Page 32: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/32.jpg)
Utilizando - Dokuwiki
Información general:
1. Información de contacto de los miembros del equipo.
2. Estándares de trabajo.
32 de 52
![Page 33: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/33.jpg)
Información por proyecto:
1. Configuraciones del repositorio de código.
2. Documentos/Información que respalden las historias.
3. Recursos: Enlaces a Servidor IC, Ambientes de Desarrollo y Calidad.
Utilizando - Dokuwiki
33 de 52
![Page 34: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/34.jpg)
Utilizando - Dokuwiki
34 de 52
![Page 35: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/35.jpg)
Utilizando - SVN
Mantener el código organizado de acuerdo al estándar:
Trunk / Tags / Branches
35 de 52
![Page 36: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/36.jpg)
Utilizando - Jenkins
Comenzamos instalando plugins:
Control de versiones: Subversion, Git
Herramienta de construcción: Symfony (php), Grails (Groovy), Rails (Ruby), Django (Python), Java
Análisis: Análisis de Código Estático, DRY, Buenas prácticas, etc.
Post-construcción: Construir reportes, realizar despliegues.
Notificaciones: Email, etc.36 de 52
![Page 37: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/37.jpg)
1. Crear el proyecto (Generalmente estilo libre)
Utilizando - Jenkins
37 de 52
![Page 38: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/38.jpg)
2. Configurar el repositorio de codigo (trunk).
Utilizando - Jenkins
38 de 52
![Page 39: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/39.jpg)
3. Configurar el disparador de ejecución.
Utilizando - Jenkins
39 de 52
![Page 40: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/40.jpg)
4. Configurar pasos de ejecución.
4.1. Pruebas unitarias/funcionales.
Utilizando - Jenkins
40 de 52
![Page 41: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/41.jpg)
4.2. Análisis de código estático y reportes.
Utilizando - Jenkins
41 de 52
![Page 42: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/42.jpg)
4.3. Construcción de la aplicación
Utilizando - Jenkins
42 de 52
![Page 43: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/43.jpg)
5. Desplegar en ambiente de desarrollo.
Utilizando - Jenkins
43 de 52
![Page 44: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/44.jpg)
6. Notificaciones:
Utilizando - Jenkins
44 de 52
![Page 45: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/45.jpg)
Monitorear las construcciones:
Utilizando - Jenkins
45 de 52
![Page 46: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/46.jpg)
Algunas recomendaciones de trabajo:
● Configurar límites de “violaciones” a las reglas aceptables.
● Si el build se rompe, hay que repararlo de inmediato.
Utilizando - Jenkins
46 de 52
![Page 47: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/47.jpg)
El servidor a utilizar dependerá del tipo de aplicación que estemos construyendo.
En el servidor de desarrollo siempre estará disponible la última versión de la aplicación (desplegada por el Servidor de IC desde trunk).
En el servidor de calidad estarán las versiones al final de una iteración (sprint).
El servidor de calidad debe ser una COPIA FIEL del ambiente de producción.
Utilizando – DEV y QA
47 de 52
![Page 48: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/48.jpg)
Conclusiones
● Debemos apoyarnos en un ecosistema de herramientas que faciliten nuestro trabajo y nos permitan atender rápidamente cualquier eventualidad que pueda presentarse.
● El tiempo invertido en montar la infraestructura se ve compensando enormemente con las ventajas obtenidas de automatizar nuestro proceso de desarrollo ágil.
● Debemos aprender a utilizar las herramientas, pues de lo contrario el resultado será el mismo que como si no estuviéramos utilizándolas.
48 de 52
![Page 49: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/49.jpg)
Recomendaciones
● Implementar una herramienta y/o práctica a la vez.
● Para el manejo de incidencias, se usa el Area de Ensayo de Icescrum, pero podría incorporarse una herramienta de manejo de incidencias si fuera necesario (ChiliProject).
● Para el manejo centralizado de usuarios y claves, se ha pensado agregar un servidor de autenticación (OpenLDAP).
49 de 52
![Page 50: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/50.jpg)
Recursos
Icescrum – http://www.icescrum.org/
Dokuwiki – http://www.dokuwiki.org/
Subversion – http://subversion.apache.org/
Jenkins – http://www.jenkins-ci.org/
Turnkeylinux – http://www.turnkeylinux.org/
50 de 52
![Page 51: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/51.jpg)
Preguntas
51 de 52
![Page 52: Infraestructura agil](https://reader034.vdocuments.net/reader034/viewer/2022050815/547934b65806b5a8048b46c5/html5/thumbnails/52.jpg)
Gracias por su atención
Para comentarios/preguntas, pueden hacerlo a
Twitter - @adrianmoyaBlog – http://www.adrianmoya.com
52 de 52