Prototipado Ágil Mateu Batle Sastre Uso informativo y confidencial Prototipado Ágil ● Prototipos ● Metodologías ágiles ● Metodología Scrum Definición de prototipo ● Ejemplar original o primer molde en que se fabrica una figura u otra cosa. ● Ejemplar más perfecto y modelo de una virtud, vicio o cualidad ● Palabra formada por raíces griegas – protos: primero – tipos: impresión, modelo Prototipos ● ● ● Una representación limitada de un producto Aproximación del producto a lo largo de una o más dimensiones de interés Uno de los pasos en el proceso de innovación: de idea a prototipo Finalidad de los Prototipos ● Aprender, explorar, pruebas, viabilidad ● Comunicar ideas o demostración para al cliente, usuario, inversor ● Integración con otros subsistemas ● Objetivos o hitos en un plan de desarrollo Características de los Prototipos ● Funcionalidad limitada ● Poca fiabilidad ● Características de operación pobres ● Rapidez de fabricación ● Costo bajo ● Útiles para aprendizaje y mejora continua ● Sujetos a pruebas y experimentación Fidelidad del prototipo Prototipo Horizontal vs Vertical Tipos de Prototipos ● ● ● Exploratorio: no reutilizable para ver alternativas, investigar, evaluar requisitos Experimental: usado para validación, pruebas, análisis Operacional: iterativo progresivamente refinado hasta convertirse en el sistema final Cómo desarrollar prototipos ? Metodología Tradicional (en cascada) Metodología Tradicional (en cascada) Ventajas: ● Fácil de planificar ● Fácil de usar ● Basada en documentos ● Muy popular y usado ● Funciona si requisitos claros y hay pocos cambios Metodología Tradicional (en cascada) Desventajas: ● Poca tolerancia a cambios o incertidumbre ● Resultados al final del proceso ● Retro-alimentación cara y lenta ● 18% proyectos fracasan ● 43% se entregan mal ● Solo 39% de los proyectos tiene éxito Metodologias Ágiles Cambio de mentalidad Metodologías Ágiles ● Enfoque incremental e iterativo ● Se adaptan a los cambios ● Toleran la incertidumbre y suposiciones ● Involucran al usuario / cliente / interesados ● Feedback continuo ● Equipos auto-organizados ● Mejora continua del producto y proceso ● Buena comunicación y colaboración ● Transparencia ● Mejor control del riesgo Orígenes de las metodologías ágiles ● 1948 - Toyota Production System ● 1950 - Ciclo de Deming (PDCA = Plan-Do-Check-Act) ● 1986 - “The New New Product Development Game”, Takeuchi & Nonaka ● 1988 - Lean Manufacturing ● 2001 - Manifiesto ágil (Software) Metodología Scrum Metodología Scrum ● Basada en empirismo ● Enfoque iterativo e incremental (timeboxing) ● Atacar problemas complejos ● Entrega productos del máximo valor posible ● Flexible ● Creatividad ● Productividad Funcionalidad ● 80% valor viene del 20% de la funcionalidad (Pareto) ● 60% de funcionalidad es raramente usada Metodología Scrum ● Basada en sprints (iteraciones de tiempo fijo) ● Un sprint tiene un poco de cada una de las fases ● Objetivo de entregar un producto que funciona, testeado y potencialmente vendible Horizontal vs Vertical Slice Introducción Scrum Metodología Scrum 3 conceptos en Scrum: ● Roles ● Artefactos ● Rituales Scrum > Roles 3 roles ● Dueño del Producto (Product Owner) ● Equipo Scrum ● Scrum Master Scrum > Roles > Dueño del Producto ● Tiene la visión del producto ● Responsable del retorno de inversión (ROI) ● Árbitro final para preguntas sobre requerimientos ● Maximiza el valor del producto ● Se centra más en el qué que en el cómo Scrum > Roles > Equipo Scrum ● ● Multifuncional (miembros diferentes habilidades) Responsabilidad de entregar un producto potencialmente entregable cada sprint ● Colaboración ● Autoorganizado ● 3 a 9 personas Scrum > Roles > Scrum Master ● Es un facilitador ● Elimina obstáculos ● Líder al servicio del equipo, dueño del producto y organización ● Protege al equipo de distracciones e interrupciones ● Conduce a través de la metodología Scrum NO es: ● No es un gestor de proyectos ● No dirige, el equipo se autogestiona Scrum > Artefactos ● Pila del Producto (Product Backlog) ● Pila del Sprint (Sprint Backlog) ● Burndown chart Scrum > Rituales ● Reunión para refinar el backlog ● Reunión de planeamiento del Sprint ● Reunión diaria Scrum ● Reunión para la revisión del Sprint ● Reunión retrospectiva del Sprint Calendario ejemplo Tablero de tareas Scrum Reunión diaria Scrum ● Tiempo: 15 minutos misma hora todos los días ● Asisten: Equipo, SM, (PO opcional) ● Lugar: cerca del tablero de tareas Scrum ● En círculo, de pie, sin sillas / teléfonos / portátiles ● Cada asistente responde a: ● – Qué hice ayer ? – Qué voy a hacer hoy ? – Qué obstáculos tengo ? Otros temas se discuten fuera de esta reunión Velocidad ● ● Cuanto trabajo se puede realizar por unidad de tiempo (story points) Se calcula empíricamente con la información de estimaciones y la información del trabajo generado en cada sprint Introducción Scrum Juego Scrumitario Reglas del Juego Scrumitario ● Objetivo: ordenar baraja lo más rápido posible en grupo ● Barajar toda la baraja durante 30 segundos ● El resultado final ha de ser cuatro montones de naipes ● Cada montón solo tiene naipes del mismo palo ● Los naipes están ordenados del As al Rey (K) ● Todos los naipes están boca arriba ● Cuenta 1 punto por cada naipe ordenado ● 5 puntos adicionales por montón completo ordenada ● 1 punto por segundo si termina antes de tiempo Formación de equipos ● Grupos de 10 personas máximo ● 1 Scrum Master ● ● – Mezcla la baraja – Inicia / para al equipo, ver impedimentos – Control de tiempo – Rellena la hoja de resultados con puntos, comentarios mejora 1 Product Owner – Fija objetivos – Verifica el producto final – Cuenta los puntos 8 miembros del equipo auto-organizado Cronograma ● Formación de equipos (10 personas por equipo) ● 2 min – iteración 1 ● 1 min – revisión del Product Owner ● 1 min – inspección y mejora continua / planeamiento ● hacer 3 iteraciones en total Conceptos del juego ● Iteraciones, flujo, entregable al final ● Concepto de velocidad en la iteración ● Timeboxing (tiempo límite) ● Equipo auto-organizado emergente ● Mejora continua ● Roles Scrum Master, product owner, equipo ● Reuniones: Conclusiones ● Innovación, de idea / visión a prototipo ● Problemas con metodología tradicional ● Ventajas metodologías ágiles ● – Iterativo e incremental – Tolerancia al cambio Metodología SCRUM Preguntas Mateu Batle Sastre mateu@mbatle.com Triángulo triple restricción Estadísticas Proyectos Software Ventajas Agile Productividad en Scrum Juego de “punto pelota” Reglas del Juego ● Objetivo: conseguir máxima puntuación ● La bola ha pasar por todos los miembros del equipo ● La bola debe pasar por el aire ● No pasar la bola al vecino de la izquierda o derecha ● Posición inicial = Posición final -> 1 punto Cronograma ● Formación de equipos ● 2 min - equipo planea la estrategia ● 2 min – iteración conseguir máximo de puntos ● 1 min – inspección y mejora continua ● hasta 5 iteraciones