La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…

Presentaciones similares


Presentación del tema: "¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…"— Transcripción de la presentación:

1

2

3

4 ¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…

5 ¡Liberar frecuentemente, puede incrementar la estabilidad!

6 ¿Te sientes identificado? Tengo cambios que funcionan perfectamente en un sistema pero fallan en otro. Una vez que se termina de desarrollar una funcionalidad, se tardan dos semanas en poder tenerla lista en un entorno de producción o similar. Los programadores y los testers juegan al ping-pong. Aunque tengo las herramientas adecuadas, sigue siendo difícil obtener feedback. El proceso de desplegar en producción es muy complejo y nunca se hace de la misma forma.

7 ¿Te suena? Aunque automatice parte del despliegue, la gente de operaciones se niega a usar las automatizaciones. No está claro cómo volver a una versión estable si un despliegue va mal. Cuando hay que liberar una versión, me puedo despedir del fin de semana. No es posible preparar una demo rápida para un cliente de algo que tengo en desarrollo.

8 ¿Te ha pasado alguna vez? Me es imposible entregar un pequeño cambio o una corrección de un pequeño error, en un corto espacio de tiempo. Se ha caído todo el sistema y sólo había tocado una tontería. Se ha caído todo el sistema y no tengo ni idea de qué se había tocado. Se ha caído todo el sistema, ¡y no habíamos tocado nada!

9

10

11

12

13 tiempo. (Del lat. tempus). 1. m. Duración de las cosas sujetas a mudanza. 2. m. Magnitud física que permite ordenar la secuencia de los sucesos, estableciendo un pasado, un presente y un futuro. Su unidad en el Sistema Internacional es el segundo PO_BUS=3&LEMA=tiempo

14 tiempo. (Del lat. tempus). 1. m. Magnitud imposible de predecir, que transcurre entre que termino de desarrollar una funcionalidad y ésta es liberada en producción.

15

16 Las entregas van a ir guiadas por las necesidades de negocio, no por las restricciones operacionales.

17

18 Deployment Pipeline Cualquier build es release candidate

19 Crea un proceso repetible y confiable para liberar software Liberar software debería ser fácil, porque todo el proceso habrá sido verificado cientos de veces. Pasos de un despliegue: Preparar entornos Instalar la versión correspondiente de la aplicación Configurar el despliegue ¡Todo esto (excepto quizá el hardware) es automatizable!

20 Automatiza prácticamente todo Construcción, despliegue, pruebas de aceptación, actualizaciones de la base de datos, configuraciones de entornos… Hay cosas que no se pueden automatizar: testeo exploratorio, demos al cliente, auditorías…

21 Trabajando para la automatización

22 Testing

23 Mantén todo bajo control de versiones Documentación de requisitos, scripts de pruebas, casos de prueba automatizados, scripts de configuración de red, scripts de despliegue, creación y mantenimiento de bases de datos, ficheros de configuración de la aplicación, configuraciones de herramientas, documentación técnica… Se debería poder reproducir el entorno de ejecución en una máquina limpia, pulsando un botón. Lo mismo para el entorno de desarrollo.

24 Si duele, hazlo más frecuentemente, y anticípate al dolor Encuentra lo que más te cuesta hacer, y hazlo más frecuentemente: testing, despliegue, documentación… lo que sea.

25 Construye con calidad Lean: build quality in Los defectos son más baratos de corregir cuanto antes se encuentren. Las pruebas no son una fase, ni van después del desarrollo. Todo el equipo es responsable de la calidad.

26 Hecho significa entregado Done vs. Done Done. ¿Qué significa hecho para ti? No existe 80% hecho. La condición de hecho es binaria. Es un esfuerzo del equipo al completo.

27 Todo el mundo es responsable del proceso de entrega No nos pasamos la pelota de unos a otros. Puede haber barreras organizacionales. Movimiento DevOps.

28 Mejora continua La entrega continua no es algo que se implemente y se deje funcionando. Requiere atención continuada del equipo completo. Las retrospectivas ayudan.

29

30

31 Gestión de la configuración ¿Qué versión particular del software estoy usando? Etiquetas, Ramas ¿Quién hizo un determinado cambio? Histórico ¿Por qué se hizo un cambio? Comentarios del checkin, asociar a WI ¿Cómo gestiono las dependencias? Mapeo de workspaces, ramas, servidor de NuGet ¿Cómo gestiono las distintas configuraciones entre entornos? Transformaciones de ficheros de configuración, gestión de cambios desde las construcciones automatizadas ¿Cómo gestiono los entornos? Virtualización, Lab Management

32 Integración continua ¿Cómo fomentar que se haga checkin frecuente? ¿Cómo puedo tener una batería de pruebas que se ejecute rápido? Pruebas sencillas, que se hagan en un servidor, entorno dedicado, tareas atómicas, análisis de impacto ¿Cómo escalar mi servidor de integración continua? Máquinas de build, TFS Service, ¿Cómo puedo asegurarme de que no se pasen por alto construcciones automatizadas rotas, o que no pasen todas las pruebas? Políticas de checkin ¿Cómo puedo asegurarme un mecanismo de vuelta atrás? Lab

33 Testing

34 ¿Cómo hago pruebas del cuadrante 1? ¿Cómo hago pruebas del cuadrante 2? ¿Cómo hago pruebas del cuadrante 3? ¿Cómo hago pruebas del cuadrante 4?

35 Deployment Pipeline ¿Qué herramientas tengo para soportar el Commit Stage? ¿Qué herramientas tengo para soportar el Acceptance Testing Stage? ¿Qué herramientas tengo para soportar el Manual Testing Stage? ¿Qué herramientas tengo para soportar el Performance Testing Stage? ¿Qué herramientas tengo para soportar el Release Stage?

36

37


Descargar ppt "¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…"

Presentaciones similares


Anuncios Google