Continuous Delivery

Germinando una cultura Ágil moderna

Edu Ferro (@eferro)

@eferro

Basado en hechos reales

Objetivos

@eferro

Describir Aproximación sistemática

Describir Agilidad (Moderna)

Entender que no SOLO desarrollamos

Entrega Continua

Agilidad (Moderna)

@eferro

Agilidad:

Gestión riesgo / Adaptabilidad

@eferro

@eferro

@eferro

50% invalidadas

Aproximación sistemática

para introducir una

Cultura Ágil

@eferro

@eferro

@eferro

@eferro

@eferro

¿Qué necesitamos?

@eferro

Sistema de Despliegue

confiable y rápido

¿Qué necesitamos?

@eferro

Commit - Producción <15m

Despliegue sin pérdida servicio

Despliegue 100% confiable

¿Qué necesitamos?

@eferro

Recuperarnos rápido

(en caso de fallo)

¿Qué necesitamos?

@eferro

Feedback (Producción)

Sistema fácil de operar

¿Qué necesitamos?

@eferro

Poder confiar en

lo que desplegamos

“La esperanza

NO

es una estrategia”

@eferro

Google SRE book

¿Qué necesitamos?

@eferro

Integración Continua

Tests automáticos TDD/BDD

Clean code

@eferro

Integración Continua

Commit a trunk al menos 1 vez/día

Cada commit es verificado/construido

Trunk Based vs Feature branches

@eferro

Trunk based vs Feature branches

@eferro

Test Automáticos

Objetivo: tener confianza en el código

Sostenible en el tiempo

TDD/BDD complementado por otros tests

@eferro

Clean Code

Testear requiere buen diseño

Arquitecturas con infraestructura desacoplada

Mal código/diseño no es sostenible

@eferro

Martin Fowler

Design Stamina Hypothesis

¿Qué necesitamos?

@eferro

Diferenciar entre

despliegues y releases

Despliegue

Release

@eferro

VS

Despliegue

@eferro

Diferenciar entre despliegues y releases

@eferro

Feature Toggles

Parallel Changes

¿Qué necesitamos?

@eferro

Arquitectura Evolutiva

@eferro

Arquitectura Evolutiva

Cambios incrementales

Función de Aptitud (Fitness function)

Lo que duele, hazlo más

Último momento responsable

¿Qué necesitamos?

@eferro

Aprendizaje Continuo

@eferro

Aprendizaje Continuo

Blameless postmortems para incidentes

Dominio / Producto / Negocio

PainDrivenDevelopment / Operación / On Calls

Retrospectivas

Pairing

Mentoring

XP / DevOps / Calidad

@eferro

Pero en el mundo real....

@eferro

“Cuando al mundo real le precede un pero, deja de ser un lugar y se convierte en una excusa”

@eferro

Carlos Iglesias (@carlosthesailor)

Resumiendo

@eferro

@eferro

Lean, Lean Startup, Design Sprints,

Customer research, Discovery track...

@eferro

Recomendados

@eferro

Recomendados

@eferro

Recomendados

@eferro

Para rumiar

(Bola extra)

@eferro

@eferro

@eferro

no SOLO construimos

sabemos lo que es POSIBLE y el COSTE

entendemos sistemas complejos

aprendemos de forma continua

@eferro

@eferro

@eferro

@eferro

KEEP

CALM

AND

MAKE SOFTWARE

¿Preguntas?

@eferro

http://www.eferro.net

CODE_CD_germinando una cultura Agile moderna - Google Slides