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

Post on 28-Sep-2018

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Implantando AGILE, un enfoque práctico

César Saiz csaiz@arsys.es

Índice

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

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

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”

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.

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.

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.

Requisitos vs. Recursos vs. Tiempo

Fijo Requisitos Recursos Tiempo

Dirigido por un plan

Dirigido por valor

Estimado Recursos Tiempo Alcance

PREDICTIVA ÁGIL

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

Liderazgo servil

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• …

Conceptos AGILE

Ágil vs. Rápido

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

Implantando SCRUM

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)

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

Primeros pasos

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

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.

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?

Impartir formación

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

Crear un entorno de trabajo

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)

Inicio del ciclo de trabajo

Mejora continua

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.

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

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

Panel Kanban

Burndown chart

Velocidad del sprint

Diagrama de Flujo Acumulado (CFD)

Paraíso AGILE…

Problemas en el paraíso AGILE

Colaboración con el clientePerfiles Junior

PlanificacionesEscalabilidad

ComunicaciónRiesgos

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

Problemas de escalabilidad

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

¿Quién coordina todo esto?

Gestión parcial de proyectos complejos

Fortalezas AGILE

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

Convivencia AGILE y otras metodologías

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

¡Gracias!

Backup slides

Perfiles Junior

Equipos AGILE - Evolución

Equipos AGILE – Liderazgo situacional

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.

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.

El cambio

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

Estructura jerárquica vs. AGILE

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

Roles Gallina:• Cliente• Usuarios• Stakeholders

Roles

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

Priorización

Change request

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.

Product Backlog: DEEP

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

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.

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.

Radiadores de Información

Wireframes

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)• …

• 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)

KAI (Cambio) ZEN (Bueno)

Mejora continua

top related