136
Agile Curso de Introducción @agilebcn #agilebcn

Curso Introducción a Agile

Embed Size (px)

DESCRIPTION

Presentación realizada durante el Curso de Introducción a Agile impartido por Agile-Barcelona

Citation preview

Page 1: Curso Introducción a Agile

AgileCurso de Introducción

@agilebcn#agilebcn

Page 2: Curso Introducción a Agile

Gracias!!

Page 3: Curso Introducción a Agile

Grandes Preguntas

Page 4: Curso Introducción a Agile

Agile: State of the art

Page 5: Curso Introducción a Agile

agile?

Page 6: Curso Introducción a Agile

Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software que aporta valor.

Page 7: Curso Introducción a Agile

Los cambios son bienvenidos, aún en fases tardias del desarrollo. Los procesos Agile consideran el cambio una ventaja competitiva para sus clientes.

Page 8: Curso Introducción a Agile

Entregamos software funcionando frecuentemente, desde unas pocas semanas a unos pocos meses, con preferencia por la escala mas corta.

Page 9: Curso Introducción a Agile

Las personas de negocio y los desarrolladores trabajan juntos diariamente durante el proyecto.

Page 10: Curso Introducción a Agile

Construimos los proyectos alrededor de personas motivadas. Les proveemos del entorno y el soporte que necesitan, y confiamos en que harán el trabajo.

Page 11: Curso Introducción a Agile

El método mas eficiente y efectivo de compartir información con y dentro del equipo de desarrollo es la conversación cara a cara.

Page 12: Curso Introducción a Agile

El software funcionando es la principal medida de progreso.

Page 13: Curso Introducción a Agile

Promovemos el desarrollo sostenible. Sponsors, desarrolladores y usuarios deben ser capaces de mantener un ritmo sostenible indefinidamente.

Page 14: Curso Introducción a Agile

La atención continua a la excelencia tecnica y el buen diseño mejora la agilidad del proceso.

Page 15: Curso Introducción a Agile

Simplicidad – el arte de maximizar el trabajo no realizado – es esencial.

Page 16: Curso Introducción a Agile

Las mejores arquitecturas, requerimientos y diseños emergen de equipos auto-organizados.

Page 17: Curso Introducción a Agile

A intervalos regulares, el equipo reflexiona sobre como ser mas efectivo, optimizando y ajustando el entorno de acuerdo a ello.

Page 18: Curso Introducción a Agile

Dos procesos

Page 19: Curso Introducción a Agile

Proceso predictivo

Page 20: Curso Introducción a Agile

Proceso predictivo

TIEMPO

VALOR

Page 21: Curso Introducción a Agile

TIEMPO

VALOR

Proceso predictivo

Page 22: Curso Introducción a Agile

TIEMPO

VALOR

Alto ROI en las primeras etapas del proyecto

pero el ROI va menguando a medida que avanzamos

Proceso predictivo

Page 23: Curso Introducción a Agile

TIEMPO

VALOR

La ejecución se basa en planificaciones realizadas anteriormente. No existe proceso de aprendizaje.

Proceso predictivo

Page 24: Curso Introducción a Agile

Proceso Empírico

“El acto de realizar acciones basandose en la situación real actual, no en una planificación anterior”

Page 25: Curso Introducción a Agile

TIEMPO

VALOR

Ciclos cortos de planificación y ejecución basados en la situación actual del proyecto

Proceso Empírico

Page 26: Curso Introducción a Agile

TIEMPO

VALOR

El ROI es maximizado mediate planificaciones a corto plazo.

Proceso Empírico

Page 27: Curso Introducción a Agile

TIEMPO

VALOR

y el ROI final al proyecto es ampliamente mayor al anterior

Proceso Empírico

Page 28: Curso Introducción a Agile

TIEMPO

VALOR

El equipo produce software funcionando periodicamente…

Resultado: software funcionando

Page 29: Curso Introducción a Agile

TIEMPO

VALOR

Este software funcionando puede ser liberado a los clientes/usuarios.

Se obtiene valor de los clientes y aprendizaje útil para el equipo

Resultado: software funcionando

Page 30: Curso Introducción a Agile

Proceso predictivo Proceso empírico

2 procesos

Page 31: Curso Introducción a Agile

Siempre?

Page 32: Curso Introducción a Agile

Desarrollo Tradicional Agile

No, no siempre

Sabemos lo que hay que hacerSabemos como hacerlo

Descubrimos lo que hay que hacerDescubrimos como hacerlo

Page 33: Curso Introducción a Agile

No, no siempre

Page 34: Curso Introducción a Agile

Modelos, Frameworks y Metodologias

Page 35: Curso Introducción a Agile

eXtreme Programming

Page 36: Curso Introducción a Agile

SCRUM

Priorización Planificación Ejecución Valor

Page 37: Curso Introducción a Agile

KANBAN

Page 38: Curso Introducción a Agile

SCRUMBAN

Page 39: Curso Introducción a Agile

DSDM Atern

Page 40: Curso Introducción a Agile

Proyecto “Ball Point”

Page 41: Curso Introducción a Agile

Gracias!! (otra vez, nunca esta de mas)

Page 42: Curso Introducción a Agile

Happiness door

Page 43: Curso Introducción a Agile

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

Page 44: Curso Introducción a Agile

AgileSCRUM I

@agilebcn#agilebcn

Page 45: Curso Introducción a Agile

Gracias!!

Page 46: Curso Introducción a Agile

Scrum?

Page 47: Curso Introducción a Agile

Scrum: Fundamentos

1.Gestión Empírica2.Ciclo de vida iterativo e

incremental3.Transparencia4.Inspección y adaptación

Page 48: Curso Introducción a Agile

Scrum: Objetivos

1.Flexibilidad a cambios2.Gestionar la incertidumbre3.Complejidad4.Maximizar el ROI5.Anticipar TTM6.Comunicación y cooperación7.Maximizar calidad y

productividad

Page 49: Curso Introducción a Agile

Scrum: Roles

Product Owner

“Toma las entradas de lo que el producto debe ser y los traduce en una visión de producto con la que el equipo pueda trabajar “

Equipo

“ Desarrolla el producto previsto por el propietario del producto. “

ScrumMaster

“Provee de todo lo necesario para que el Equipo tenga éxito, como la eliminación de los obstáculos de organización, la facilitación de reuniones, actuando como un guardián para que nadie interrumpa innecesariamente el trabajo del equipo. “

Page 50: Curso Introducción a Agile

Scrum: Product Owner

“Toma las entradas de lo que el producto debe ser y los traduce en una visión de producto con la que el equipo pueda trabajar “

Page 51: Curso Introducción a Agile

“ Desarrolla el producto previsto por el propietario del producto. “

Scrum: Equipo

Page 52: Curso Introducción a Agile

Scrum: ScrumMaster

“Provee de todo lo necesario para que el Equipo tenga éxito, como la eliminación de los obstáculos de organización, la facilitación de reuniones, actuando como un guardián para que nadie interrumpa innecesariamente el trabajo del equipo. “

Page 53: Curso Introducción a Agile

Scrum: Ciclo de Vida

Page 54: Curso Introducción a Agile

Planificación

Page 55: Curso Introducción a Agile

Product Backlog

Historias de usuario

Visión globalIncompletaDiferente nivel de detallePriorizado Cambia a lo largo del proyecto

Page 56: Curso Introducción a Agile

Historias de Usuario

Descripción de funcionalidad desde el punto del usuario y que expresa el valor que le aporta

El usuario recibir una notificación cada vez que un “amigo” se conecta al sistema

El usuario puede buscar canciones por nombre o artista

Page 57: Curso Introducción a Agile

Las 3 C’s (al menos en inglés)

TARJETA (CARD): Tarjeta física con la descripción de la funcionalidad

CONVERSACIÓN: Sobre los detalles de la implementación para asegurar el entendimiento

CONFIRMACIÓN: Tests de aceptación que permiten fijar el alcance y verificar si la historia cumple o no los requisitos

Page 58: Curso Introducción a Agile

Historias de Usuario

“ Una historia de usuario es una invitación a conversar “

Page 59: Curso Introducción a Agile

Historias de Usuario: Forma

Como <rol> quiero <funcionalidad>

para <beneficio>Como <usuario registrado> quiero <recibir una notificación cada vez que un “amigo” se conecta al sistema>para <poder hablar con el en ese momento>

Page 60: Curso Introducción a Agile

I – IndependentN – NegotiableV – ValuableE – EstimableS – SmallT – Testable

Historias de Usuario: INVEST

Page 61: Curso Introducción a Agile

Historias de Usuario: Beneficios

Entendimiento compartido de la soluciónEnfatizan la comunicación verbalAplazar los detallesDesarrollo emergenteBuen tamaño para planificarFavorecen el desarrollo iterativo

Page 62: Curso Introducción a Agile

A currar!

Page 63: Curso Introducción a Agile

Visión

“Queremos disponer de una aplicación de climatología para dispositivos móviles, que obtenga la información de un proveedor externo de meteorología y la muestre al usuario, incluyendo temperatura así como datos sobre lluvia o nieve”

Page 64: Curso Introducción a Agile

Priorización

MoSCoW

Business value based

Technology risk

KANO Model

Walking skeleton

Validate learning

Page 65: Curso Introducción a Agile

Gracias!! (otra vez, nunca esta de mas)

Page 66: Curso Introducción a Agile

Retrospectiva

Page 67: Curso Introducción a Agile

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

Page 68: Curso Introducción a Agile

AgileSCRUM II

@agilebcn#agilebcn

Page 69: Curso Introducción a Agile

Gracias!!

Page 70: Curso Introducción a Agile

Estimación

Page 71: Curso Introducción a Agile

Estimación ágil

“El propósito inicial de la estimación no es predecir cuando un proyecto va a estar listo;es determinar si los objetivos de un proyecto son lo suficientemente realistas como para poder alcanzarlos”

Steve McConnell, Software Estimation: Demystifying the Black Art

Page 72: Curso Introducción a Agile

Estimación ágil

Page 73: Curso Introducción a Agile

Estimación ágil

Page 74: Curso Introducción a Agile

Estimación ágil

Page 75: Curso Introducción a Agile

Puntos de Historia

Puntos de Historia0, 1, 2, 3, 5, 8, 13, 20, 40, 100

Representa niveles de magnitudNos ayuda a expresar incertidumbreFacil y rápidoLa estimación no decae con el tiempo

Page 76: Curso Introducción a Agile

Planning Poker

Page 77: Curso Introducción a Agile

Tallas de Camisetas

Page 78: Curso Introducción a Agile

Velocidad

¿Cuantos puntos somos capaces de entregar por iteración?

=100 PH3 Sprints!

Page 79: Curso Introducción a Agile

Liturgias

Page 80: Curso Introducción a Agile

Daily Meeting

¿Qué hiciste ayer?¿Qué piensas hacer hoy?¿Qué problemas has

encontrado?

Page 81: Curso Introducción a Agile

Sprint Demo

Page 82: Curso Introducción a Agile

Retrospectiva

Page 83: Curso Introducción a Agile

Todo es feedback!!

Page 84: Curso Introducción a Agile

Burndown

Page 85: Curso Introducción a Agile

Gracias!! (otra vez, nunca esta de mas)

Page 86: Curso Introducción a Agile

Retrospectiva

Escoger 5 dimensiones que puedan ser valoradas sobre la formación

Page 87: Curso Introducción a Agile

Retrospectiva

Page 88: Curso Introducción a Agile

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

Page 89: Curso Introducción a Agile

AgileLEAN, KANBAN,

SCRUMBAN

@agilebcn#agilebcn

Page 90: Curso Introducción a Agile

Gracias!!

Page 91: Curso Introducción a Agile

Lean Thinking: Principios1. Eliminar el desperdicio

Brindar un liderazgo técnico y de mercadoCrear solamente cosas de valor

2. Crear conocimientoCrear equipos multidisciplinares

Mantener una cultura de mejora continua3. Embeber a la calidad Sincronizar Automatizar4. Postergar el compromiso

Romper con las dependenciasMantener opciones

5. Optimizar el totalEnfocarse en el flujo completo de valorEntregar un producto completo

6. Entregar rápidoTrabajar en bloques pequeñosLimitar el trabajo a la capacidad

7. Respetar a las personasCapacitar a los líderes de equipoMover la responsabilidad y la toma de decisiones al nivel más bajo

posibleFomentar orgullo por el trabajo

Page 92: Curso Introducción a Agile

Lean Thinking: Practicas y Herramientas

• Value / Value Stream Mapping

• Kaizen / Kaikaku / 7 wastes

• 5 whys / Gemba / Genchi gembutsu

• Teamwork / multi-skill / leaders as coaches

• Visual Management / andon

• Flow / small batches / one piece flow / supermarket

• Kanban / flow / pull

• Takt time / ritmo

• Level load (heijunka)

• Build quality in / stop the line

• Standard work

• 5 S’s (sort, stabilize, shine, standardize, sustain)

• A3 thinking, PDCA

Page 93: Curso Introducción a Agile

Lean Thinking: 7 wastes7 waste de l Sistema de

Producción Toyota (Shigeo Shingo)

7 waste de l Desarrollo de Software (Mary Poppendieck)

Inventario Trabajo parcialmente realizado

Extra Procesamiento Procesos Innecesarios

Sobreproducción Funcionalidades innecesarias

Transporte Cambios Frecuentes de actividad

Espera Espera

Movimiento Movimiento

Defectos Defectos

Page 94: Curso Introducción a Agile

Lean Thinking: El 8 Waste

Talento!!

Page 95: Curso Introducción a Agile

Lean Thinking: Flow / Pull

Page 96: Curso Introducción a Agile

Kanban

Page 97: Curso Introducción a Agile

Kanban

“Kanban is an approach to change management. It isn’t a software development or project management lifecycle or process”

David Anderson

Page 98: Curso Introducción a Agile

Kanban: 3 PrincipiosEmpieza donde estas

Kanban no preescribe un conjunto de reglas o roles especificos, ni procesos a seguir.

Cambio evolutivo, incrementalCambios pequeños y graduales, mejora

continua (Kaizen)

Respeto por el proceso actual, roles, responsabilidades Reduce el miedo / resistencia al cambio y experimenta los beneficios como equipo

Page 99: Curso Introducción a Agile

Kanban: 5 PropiedadesVisualiza el flujo de trabajo

Kanban significa literalmente “tablero”.

Limita el trabajo en curso (WIP)Utiliza un sistema “pull” – establece y respeta tu

capacidad ideal

Gestiona el flujo Monitoriza, mide e haz visible el flujo de trabajo en cada estado

Haz las reglas explicitas¿Qué significa terminado?, limites de WIP, estandar de

código, bloqueos, etc...

Mejora el flujo colaborativamente Involucra a todo el mundo

Page 100: Curso Introducción a Agile

Kanban

Page 101: Curso Introducción a Agile

Kanban: ¿Por qué?

A veces el time-boxing no funciona

Integración sencilla con otros procesos

Restricciones de la organización

Mínima resistencia al cambio

Page 102: Curso Introducción a Agile

Kanban: El tablero mas básico

Page 103: Curso Introducción a Agile

Kanban: Limites

Page 104: Curso Introducción a Agile

Kanban: Backlog

Page 105: Curso Introducción a Agile

Kanban: Tu ciclo de vida

Page 106: Curso Introducción a Agile

Kanban: Transiciones

Page 107: Curso Introducción a Agile

Kanban: Dia 0

Page 108: Curso Introducción a Agile

Kanban: El Backlog

Page 109: Curso Introducción a Agile

Kanban: Dia N

Page 110: Curso Introducción a Agile

Kanban: Responsabilidades

Page 111: Curso Introducción a Agile

Kanban: Bloqueos

Page 112: Curso Introducción a Agile

Kanban: Bloqueos

Page 113: Curso Introducción a Agile

Kanban: “Priority Lane”

Page 114: Curso Introducción a Agile

Kanban: Múltiples proyectos

Page 115: Curso Introducción a Agile

Kanban: Múltiples proyectos

Page 116: Curso Introducción a Agile

Kanban: Despliegue

Page 117: Curso Introducción a Agile

Kanban: Despliegue

Page 118: Curso Introducción a Agile

Scrumban

Page 119: Curso Introducción a Agile

¿Kanban + Scrum o Scrum + Kanban?

Page 120: Curso Introducción a Agile

Gracias!! (otra vez, nunca esta de mas)

Page 121: Curso Introducción a Agile

Retrospectiva

Page 122: Curso Introducción a Agile

Retrospectiva

Page 123: Curso Introducción a Agile

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

Page 124: Curso Introducción a Agile

AgileOPEN SPACE

@agilebcn#agilebcn

Page 125: Curso Introducción a Agile

Gracias!!

Page 126: Curso Introducción a Agile

¿Qué es un Open Space?

Page 127: Curso Introducción a Agile

Open Space: cuatro principios

Page 128: Curso Introducción a Agile

Open Space : cuatro principios

Page 129: Curso Introducción a Agile

Open Space : cuatro principios

Page 130: Curso Introducción a Agile

Open Space : cuatro principios

Page 131: Curso Introducción a Agile

Open Space : cuatro principios

Page 132: Curso Introducción a Agile

Open Space : y una ley

Page 133: Curso Introducción a Agile

Lean Thinking: Flow / Pull

Page 134: Curso Introducción a Agile

Gracias!! (otra vez, nunca esta de mas)

Page 135: Curso Introducción a Agile

Retrospectiva

Page 136: Curso Introducción a Agile

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn