Metodología Scrum
27/09/2017
Metodología Scrum
Es un proceso secuencial, fácil de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de:
Metodología Scrum
El prototipado permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características del modelo terminado.
El prototipado permite al cliente evaluar en forma temprana el producto, e interactuar con los diseñadores y desarrolladores para saber si se está cumpliendo con las expectativas y las funcionalidades acordadas.
Metodología Scrum
La atención se centra en la evaluación y reducción del riesgo del proyecto dividiendo el proyecto en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo, así como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideración de la continuación del proyecto durante todo el ciclo de vida.
Metodología Scrum
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos:
Metodología Scrum
Cada ciclo comienza con la identificación de los interesados y sus condiciones de ganancia, y termina con la revisión y examinación
Metodología Scrum
Metodología Scrum
No podemos esperar a tener un conjunto de requisitos cerrados completamente.
El negocio evoluciona y la competencia te obliga a reaccionar rápidamente.
Un buen requisito hoy no tiene por qué serlo mañana.
Existen requisitos que son impredecibles
Metodología Scrum
Con la actual situación de requisitos para el desarrollo de software podemos asegurar que no se puede predecir un plan a ejecutar.
Metodología Scrum
Metodología Scrum
Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto.
Metodología Scrum
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto.
Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
Metodología Scrum
Scrum también se utiliza para resolver las siguientes situaciones:
Metodología Scrum
Metodología Scrum
El concepto de Scrum tiene su origen en un estudio de 1986 sobre los nuevos procesos de desarrollo utilizados en productos exitosos en Japón y los Estados Unidos (cámaras de fotos de Canon, fotocopiadoras de Xerox, automóviles de Honda, ordenadores de HP y otros)
En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboración entre los jugadores de Rugby y su formación de Scrum (melé en español).
Metodología Scrum
En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboración entre los jugadores de Rugby y su formación de Scrum (melé en español).
Metodología Scrum
Metodología Scrum
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
Metodología Scrum
Nuestra mayor prioridad es satisfacer al cliente
mediante la entrega temprana y continua de software
con valor.
Aceptamos cambios en los requisitos, incluso en etapas
tardías del desarrollo. Los procesos Ágiles aprovechan
el cambio para proporcionar ventaja competitiva al
cliente.
Metodología Scrum
Entregamos software funcional frecuentemente, entre dos
semanas y dos meses, con preferencia al periodo de
tiempo más corto posible.
Los responsables de negocio y los desarrolladores
trabajamos juntos de forma cotidiana durante todo
el proyecto.
Metodología Scrum
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.
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.
El software funcionando es la medida principal de
progreso.
Metodología Scrum
Los procesos Ágiles promueven el desarrollo
sostenible. Los promotores, desarrolladores y usuarios
debemos ser capaces de mantener un ritmo constante
de forma indefinida.
La atención continua a la excelencia técnica y al
buen diseño mejora la Agilidad.
Metodología Scrum
La simplicidad, o el arte de maximizar la cantidad de
trabajo no realizado, es esencial.
Las mejores arquitecturas, requisitos y diseños
emergen de equipos auto-organizados.
A intervalos regulares el equipo reflexiona sobre
cómo ser más efectivo para a continuación ajustar y
perfeccionar su comportamiento en consecuencia.
Metodología Scrum
Metodología Scrum
Metodología Scrum
Metodología Scrum
Sprint: periodo de corta duración (menor a 4 semanas, el equipo decide) que debe finalizar con un prototipo operativo o producto potencialmente entregable.
Product Backlog: Conjunto de potenciales historias de usuario a lo largo del proyecto. Lista marcada y priorizada por el product owner. Crece y evoluciona durante el desarrollo.
Metodología Scrum
Sprint Backlog: Conjunto de funcionalidades (Historias de usuario) que se van a implementar en el Sprint.
Debe acometerse como máximo en un sprint (y a poder ser, mucho menos tiempo)
Nunca puede ser alterado a mitad de un sprint.
Es la lista de trabajos que se debe realizar para generar el incremento previsto.
Metodología Scrum
Historias de usuario: Describe funcionalidad que será útil para el usuario. Las historias de usuario no suelen, ni deben, tener el nivel de detalle que suele tener la especificación de un requisito. Son funcionalidades atómicas.
Metodología Scrum
Metodología Scrum
Product owner: responsable de gestionar el Product Backlog, priorizarlo, mantenerlo y de crear las historias de usuario. Representa al cliente. Exige y prioriza los requerimientos del producto
Scrum master: Gestor de los equipos.
Responsable del funcionamiento y productividad del desarrollo.
Asegura el seguimiento de la metodología guiando las reuniones y ayudando al equipo ante cualquier problema que pueda aparecer.
Trabaja junto al equipo
Metodología Scrum
Scrum team: Equipo formado por desarrolladores, testers, UX, UI...
Responsables de implementar las funcionalidades del Product owner
Burndown chart: Gráfico que visualiza la evolución de un sprint. Éste tiene una duración,y cada historia de usuario tiene otra, a final de sprint tienen que quedar 0 horas pendientes en las historias de usuario para conseguir el objetivo definido por todos los implicados.
Metodología Scrum
Para poder conseguir alcanzar al objetivo definido se deben realizar una serie de reuniones
Metodología Scrum
Planificación de la iteración
Metodología Scrum
Planificación de la iteración
El cliente presenta la lista de requisitos priorizada.
El equipo examina la lista, añade criterios de aceptación (si fuera necesario) y seleccionalos objetivos más prioritarios que se compromete a completar.
Metodología Scrum
Planificación de la iteración
El equipo planifica la iteración, elabora la táctica que le permitirá conseguir el mejor resultado posible con el mínimo esfuerzo.
En este momento es cuando se crear la lista de tareas de la iteración (Spring backlog)
Realiza una estimación conjunta del esfuerzo necesario para cada tarea.
Cada miembro del equipo se autoasigna a las tareas que puede realizar.
Metodología Scrum
Demostración de requisitos completados
Metodología Scrum
Demostración de requisitos completados
Reunión informal donde el equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo, haciendo un recorrido por ellos lo más real y cercano posible al objetivo que se pretende cubrir.
Metodología Scrum
Demostración de requisitos completados
En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto.
Metodología Scrum
Demostración de requisitos completados
El cliente puede ver de manera objetiva:
Observaciones:
Un requisito no completado quedará como un requisito más a replanificar
Metodología Scrum
Demostración de requisitos completados
El equipo:
Observaciones:
Metodología Scrum
Reunión al finalizar el sprint
Metodología Scrum
Reunión al finalizar el sprint
Se reúne el equipo con el product owner y revisarán de forma conjunta los objetivos marcados en el sprint backlog.
Sirve para valorar de forma objetiva el sprint
Se aplican cambios y ajustes necesarios para el siguiente sprint.
Metodología Scrum
Reunión al finalizar el sprint
Se marcan aspectos positivos (para continuar realizándolos), aspectos negativos (intentar evitarlos lo antes posible) y aspectos a mejorar.
Esta reunión es la que más puede variar dentro de cada empresa puesto que hay diferentes tipos admitidos siempre que se piense qué se hizo bien, mal y qué se puede mejorar.
Metodología Scrum
Reunión al finalizar el sprint
Metodología Scrum
Reunión diaria
Metodología Scrum
Reunión diaria
El objetivo de esta reunión es facilitar la transferencia de información y la colaboración entre los miembros del equipo para aumentar su productividad, al poner de manifiesto puntos en que se pueden ayudar unos a otros.
Metodología Scrum
Reunión diaria
Cada miembro del equipo debe responder las siguientes preguntas y como máximo de 15 minutos:
Metodología Scrum
Reunión diaria
Observaciones:
Metodología Scrum
Reunión diaria
Observaciones:
Metodología Scrum
Es la parte clave de toda gestión de proyectos. En Scrum no se estiman horas, sino esfuerzo empleado para finalizar con éxito la historia de usuario. Dicho esfuerzo se traducirá en horas más adelante, dependiendo siempre de la velocidad de desarrollo del equipo.
El tiempo puede variar, el esfuerzo necesario, no.
Metodología Scrum
La labor de estimación debe hacerse con todo el equipo.
Metodología Scrum
Metodología Scrum
Planning poker
Metodología Scrum
Cada miembro del equipo cuenta con una baraja de 13 cartas.
Cada vez que hay que estimar una historia, cada miembro del equipo selecciona una carta que representa su estimación de tiempo (en puntos de historia) y la coloca bocabajo en la mesa
Metodología Scrum
Cuando todos los miembros del equipo han preparado sus cartas, se les da la vuelta al mismo tiempo. Así obligamos a cada miembro del equipo a pensar por si mismo en lugar de seguir la estimación de otro.
Si hay mucha discrepancia entre dos estimaciones, el equipo discute las diferencias y trata de construir una imagen común del trabajo necesario para la historia. Pueden hacer algún tipo de división en tareas. Después, el equipo estima de nuevo. Este bucle se repite hasta que la estimación de tiempo converge, es decir, que todas las estimaciones sean aproximadamente las mismas para esa historia.
Metodología Scrum
Los puntos de historia tienen que ser la suma de todos y cada uno de los implicados en dicha historia (diseño, programación, testeo, etc )
Números de las cartas: ¿Por qué pasamos de 40 a 100? Cuando se valora algo en esos números simplemente se debe reflejar que es un trabajo muy difícil de estimar y que puede ser necesario crear historias más pequeñas (si fuera posible)
Metodología Scrum
Otras cartas:
Metodología Scrum
Kanban es una palabra japonesa que significa algo así como “tarjetas visuales” (kan significa visual, y ban tarjeta).
Esta técnica se creó en Toyota, y se utiliza para controlar el avance del trabajo, en el contexto de una línea de producción.
El Kanban está dentro de la estrategia Kaizen, es decir, la mejora continua y continuada.
Metodología Scrum
Metodología Scrum
El trabajo se divide en partes, normalmente cada una de esas partes se escribe en un post-it y se pega en una pizarra.
Los post-it suelen tener información variada, si bien, aparte de la descripción, debieran tener la estimación de la duración de la tarea.
La pizarra tiene tantas columnas como estados por los que puede pasar la tarea (ejemplo, en espera de ser desarrollada, en análisis, en diseño, etc.).
Metodología Scrum
El objetivo de esta visualización es que quede claro el trabajo a realizar, en qué está trabajando cada persona, que todo el mundo tenga algo que hacer y el tener clara la prioridad de las tareas.
Cada miembro del equipo sólo debería tener una tarjeta en WIP (work in progress). Si no puede terminarla, debería bloquearla ( El tablero puede tener una columna para las bloqueadas, y será un punto importante a tratar en el daily meeting)
La idea es: centraté en cerrar tareas y no en comenzar tareas.
Metodología Scrum