implantando agile, un enfoque práctico césar saiz … · • dsdm (dynamic systems development...

59
Implantando AGILE, un enfoque práctico César Saiz [email protected]

Upload: lekien

Post on 28-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Implantando AGILE, un enfoque práctico

César Saiz [email protected]

Page 2: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Índice

• Revolución AGILE• Metodologías• Implantando SCRUM• Problemas en el paraíso• Complementariedad AGILE & Predictiva

Page 3: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Revolución AGILE

Los equipos de desarrollo de productos se enfrentan a una revolución a la que tanto técnicos como gerentes están tratando de adaptarse. Existe un cambio generalizado de los estilos predictivos hacia los ágiles o adaptativos.

El uso de Agile en la gestión de proyectos se ha incrementado en los últimos años. Gartner predijo que hoy en día los métodos ágiles de desarrollo serían utilizados en el 85% de todos los proyectos de Software.

Los estudios del PMI han demostrado que el uso de Agile se ha multiplicado en los últimos años con los siguientes resultados:

• Disminución de los defectos del producto.

• Mejora de la productividad del equipo.

• Entregas cada vez mayores y más frecuente de valor de negocio

Page 4: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Revolución AGILE

Trabajo industrial Trabajo del conocimiento

Visible, Estable Invisible, Cambiante

Más estructura, menos decisiones Menos estructura, más decisiones

Definición de la tarea Comprensión de la tarea

Gestión y control Dar autonomía

Estándares estrictos Innovación continua

Foco en la cantidad Foco en la calidad

Minimizar el coste de trabajadores para una tarea

Tratar los trabajadores como valores y no como un coste

… …

(*) Trabajador del conocimiento: personas que trabajan “pensando” vs. “fabricando”

Page 5: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Manifiesto AGILE

• Individuos e interacciones sobre procesos y herramientas• Software funcionando sobre documentación extensiva• Colaboración con el cliente sobre negociación contractual• Respuesta ante el cambio sobre seguir un plan

Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.

Page 6: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Principios del manifiesto AGILE

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

2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.

3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.

4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.

5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.

6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.

Page 7: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Principios del manifiesto AGILE

7. El software funcionando es la medida principal de progreso.

8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.

10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.

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

12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

Page 8: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Requisitos vs. Recursos vs. Tiempo

Fijo Requisitos Recursos Tiempo

Dirigido por un plan

Dirigido por valor

Estimado Recursos Tiempo Alcance

PREDICTIVA ÁGIL

Page 9: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Equilibrio entre Liderazgo y Gestión

Gestión Liderazgo

Tareas Personas

Control Empowerment

Eficiencia Eficacia

Hacer bien las tareas Hacer las tareas correctas

Velocidad Dirección

Prácticas Principios

Dirección Comunicación

Page 10: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Liderazgo servil

Page 11: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Metodologías AGILE

• SCRUM• Kanban Development• XP (Extreme Programming)• FDD (Feature-Driven Development)• DSDM (Dynamic Systems Development Method)• Crystal (Clear, Yellow, etc.)• LEAN Software Development• …

Page 12: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Conceptos AGILE

Page 13: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Ágil vs. Rápido

Agilidad en AGILE se refiere más a ritmo sostenible y agilidad “lateral” que a desarrollo precipitado.

Page 14: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Implantando SCRUM

Page 15: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Antes de empezar…

• Cambios de: Paradigma (recursos vs. tiempo vs. alcance), Jerarquía (Gestión vs. Liderazgo), Métricas (burndown/burnup charts, CFD), Herramientas (JIRA, Trello)… Encontraremos resistencia al cambio (miedos jerárquicos, escépticos, acomodados, etc.)

• SCRUM es fácil de aprender pero difícil de dominar… Debemos esperar resultados a medio plazo (da resultados visibles a partir de cierto número de iteraciones)

Page 16: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Antes de empezar…

• Buscar un patrocinador• Imprescindible para vencer la resistencia al cambio

• Alguien debe liderar el cambio• Evangelización AGILE

• Obtener aprobación de los interesados• Equipos de trabajo

• Otros

Page 17: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Primeros pasos

• Seleccionar un proyecto• Seleccionar un equipo• Impartir formación• Crear un entorno de trabajo• Sprint 0

Page 18: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Seleccionar un proyecto

• Preferiblemente a medio/largo plazo (>6 meses)• Ejecutable por un conjunto estable de personas• Incertidumbre

• Requisitos cambiantes

• Alcance no definido

Hacer una apuesta real: si el proyecto es pequeño, el equipo es 1 persona, no se respeta la metodología, etc., es mejor

replantearse la iniciativa.

Page 19: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Seleccionar un equipo

a) ¿Debo formar un equipo homogéneo donde todos sus miembros pueden realizar el mismo trabajo?

b) ¿Debo formar un equipo heterogéneo que pueda abordar cualquier tipo de trabajo?

Page 20: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Impartir formación

• Equipo de desarrollo• Product Owner• Scrum Master• Interesados

Page 21: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Crear un entorno de trabajo

Page 22: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Sprint 0

• Reubicación de personas• Elección de herramientas (IDE, integración continua,

control de versiones, despliegues, etc.)• Dinámica de las reuniones• Definición de DONE• Definición inicial de la arquitectura• Preparación del Backlog (Lista de tareas)

Page 23: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Inicio del ciclo de trabajo

Page 24: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Mejora continua

Page 25: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Planificación AGILE (5 niveles)

Qué hice ayer?Qué voy a hacer hoy?Que impedimentos tengo?

Historias/TareasCompromiso de entrega

Contenido de la siguiente versiónFuncionalidad

Planificación de versiones

Qué, Cómo, Cuándo, etc.

Page 26: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Entrega

Cada release se compone de varias historias de usuario realizadas durante uno o más sprints

Cada sprint contiene varias historias de usuario

El producto incrementa su funcionalidad en cada nueva release/versión

Page 27: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Pilares de SCRUM

• Transparencia• Visibilidad de la evolución del trabajo• Radiadores de información

• Inspección• Control sobre la evolución del trabajo• Diagramas BurnUp/Down, CFD

• Adaptación• Re-priorización de características• Aumento de recursos

Inspección Adaptación

Transparencia

Page 28: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Panel Kanban

Page 29: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Burndown chart

Page 30: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Velocidad del sprint

Page 31: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Diagrama de Flujo Acumulado (CFD)

Page 32: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Paraíso AGILE…

Page 33: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Problemas en el paraíso AGILE

Colaboración con el clientePerfiles Junior

PlanificacionesEscalabilidad

ComunicaciónRiesgos

Page 34: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Problemas en el paraíso AGILE

• Fácil de aprender, difícil de dominar• Uso de AGILE en un entorno tradicional

• Aprobación de proyectos supeditada a una estimación inicial

• Fechas fijas de entrega

• Variación de los equipos de trabajo

• Escalabilidad• Gestión parcial* de proyectos complejos

(*) Atendiendo a matriz PMP

Page 35: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Problemas de escalabilidad

• Backlog de Producto• Backlogs de trabajo• Coordinación de backlogs• Coordinación de equipos• …

¿Quién coordina todo esto?

Page 36: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Gestión parcial de proyectos complejos

Page 37: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Fortalezas AGILE

• Motivación y crecimiento de los equipos de trabajo• Calidad y periodicidad de entregas• Inversión eficiente y eficaz del trabajo• Flexibilidad

Page 38: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Convivencia AGILE y otras metodologías

• Ejecución interna AGILE• Abstracción Waterfall hacia afuera

Page 39: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

¡Gracias!

Page 40: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Backup slides

Page 41: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Perfiles Junior

Page 42: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Equipos AGILE - Evolución

Page 43: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Equipos AGILE – Liderazgo situacional

Page 44: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Preocupaciones comunes

• Ejecutivos y patrocinadores: riesgo de aplicar practicas nuevas con modelos de planificación poco intuitivos

• Directivos: pérdida de control• El equipo de proyecto: nueva metodología forzada por dirección• Comunidad de usuarios: miedo a no tener un producto

completo, o iteraciones de baja calidad• Grupos de Soporte: aparente falta de control, colaboración

continua, o falta de un punto claro de finalización.

Page 45: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Declaration of Interdependence (DOI)

We are a community of project leaders that are highly successful at delivering results. To achieve these results:

• We increase return on investment by making continuous flow of value our focus.

• We deliver reliable results by engaging customers in frequent interactions and shared ownership. • We expect uncertainty and manage for it through iterations, anticipation, and adaptation. 

• We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference. 

• We boost performance through group accountability for results and shared responsibility for team effectiveness. 

• We improve effectiveness and reliability through situationally specific strategies, processes and practices.

Page 46: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

El cambio

“La locura es: seguir haciendo lo mismo y esperar resultados diferentes”

Page 47: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Estructura jerárquica vs. AGILE

Page 48: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Roles Cerdo:• Scrum Master: funcionamiento de Scrum• Product Owner: gestión del producto• Team: ejecución

Roles Gallina:• Cliente• Usuarios• Stakeholders

Roles

Page 49: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Teoría X – Teoría Y (McGregor)

PERSONAS EN LA TEORÍA X SUPUESTOS EN LA TEORÍA Y

Trabajan lo menos posible Consideran el trabajo como algo natural

Carecen de ambición y su única motivación es el dinero

Se auto dirigen hacia la consecución de losobjetivos que se les confían

Busca ante todo su seguridad y evitan responsabilidades

No es necesaria la coacción o las amenazas para que los individuos se esfuercen

Prefieren que les manden Buscan responsabilidades

Se resisten a los cambios Tienen imaginación y creatividad

Son crédulas y están mal informadas Sienten motivación, desean perfeccionarse

Harían muy poco por la empresa si no fuera por la dirección

Asumen los objetivos de la empresa si reciben compensación por lograrlos, sobre todo reconociendo los méritos

Page 50: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Priorización

Change request

Page 51: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

User Stories: INVEST

(I)ndependent (N)egotiable (V)aluable (E)stimable (S)mall (sized appropriately) (T)estable

Épica/Feature: un conjunto de historias de usuario muy grande que incluso puede perdurar entre iteraciones. Las épicas deben ser descompuestas en US.

Page 52: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Product Backlog: DEEP

(D)etailed appropriately(E)stimable(E)mergent(P)rioritized

Page 53: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Release plan

• Iteración “cero”

• Release: conjunto de varias iteraciones

• Release plan

Se recomiendan releases de mínimo 1 trimestre y máximo 1 año.

Page 54: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Product roadmap

Visión general del release planning y los principales componentes del proyecto.

Se detallan las características más principales en cuanto aspectos obligatorios y opcionales durante el ciclo de vida del producto.

Se suelen diferenciar el backbone, walking skeleton y características adicionales.

Page 55: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Radiadores de Información

Page 56: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Wireframes

Page 57: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

Otros conceptos

• Análisis “Persona”: identidad imaginaria creada por el equipo con la finalidad de tomar requisitos para el proyecto.

• Wireframe: prueba beta o maqueta que el equipo prepara para recoger la idea que los interesados desean.

• Parking lot chart: elementos, discusiones, temas pendientes que surgen en un momento que no es prioritario afrontar (daily, retrospectiva)

• Spike: Experimento que el equipo en ocasiones puede llevar a cabo para determinar el camino a seguir.

• Smell: Síntomas de posibles problemas que afectan al proyecto y equipo• Minimal Marketable Feature: el mínimo entregable que puede añadir valor

a cliente o usuarios finales del producto (conjunto de user stories)• …

Page 58: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

• Shu: aceptar, obedecer. En esta fase el Scrum master establece las normas, ayuda a conseguir un ritmo sostenible, y mediante retrospectivas se proponen mejoras.

• Ha: asentamiento, dominio, comienzo innovación. En esta fase el equipo conoce el proceso, consigue realizar el trabajo, comienza a ser más productivo (logra el Sprint goal) y aparecen nuevos planteamientos.

• Ri: creatividad, liberación. En esta fase la hiperproductividad hace que nos cuestionemos la necesidad de un Scrum master, cuya dedicación al equipo va disminuyendo.

Siguientes pasos (Shu ha ri)

Page 59: Implantando AGILE, un enfoque práctico César Saiz … · • DSDM (Dynamic Systems Development Method)

KAI (Cambio) ZEN (Bueno)

Mejora continua