Scrum
En esta lección hablaremos sobre Scrum, una metodología ágil de desarrollo de software, viendo sus principales conceptos.
Introducción
editarScrum (Melé en español) es un modelo de desarrollo ágil que propone una técnica de desarrollo incremental mediante sprints. Para ello, no se cuenta con una planificación como tal, sino con un listado de características deseables para el producto que se deberán abordar durante los sprints de trabajo.
Sus principios se basan en:
- Mantener equipos de trabajo bien organizados en los que se maximice la comunicación.
- Utilizar un proceso flexible susceptible a cambios para asegurar una máxima calidad del producto.
- Dividir el trabajo en paquetes poco acoplados.
Roles del equipo
editar- Product Owner: Es el miembro que recibe toda la información del producto y la plasma en el documento de requisitos del producto de forma priorizada (Product Backlog).
- Scrum Master: Es un miembro del equipo encargado de que el sprint se realice de forma correcta, coordinando a los miembros y solucionando los problemas que pudieran retrasar al equipo.
- Developers: Hasta 8 personas con todas las habilidades necesarias para la construcción de un incremento en cada sprint.
Idealmente pueden participar todos los 'stakeholders' o participantes del proyecto, como el cliente o los administradores de la organización.
Fases del patrón de desarrollo
editarProduct backlog
editarEl Backlog del Producto o Product Backlog es un listado de ítems (Product Backlog Ítems, PBIs) que representan las características del producto a construir. Esta lista de Ítems del Product Backlog o PBIs es un elemento vivo y emergente, que cambia constantemente a medida que se aprende más y más acerca del producto. Es mantenida y ordenada por el Scrum Product Owner y es la única fuente del trabajo que hace el Equipo Scrum.
Sprint
editar- Duración: 1 a 4 semanas.
Al ser Scrum un proceso de desarrollo incremental y evolutivo, utiliza periodos consecutivos de tiempo corto para construir un producto, Incremento tras Incremento, para inspeccionar y adaptar frecuentemente tanto el producto como el proceso utilizado. A estos periodos de tiempo acotado, en Scrum, se los identifica como Sprints.
Todos los eventos de Scrum, Sprint Planning, Daily Scrums, Sprint Review y Sprint Retrospective, y todo el trabajo que sea necesario hacer para transformar los PBIs en un Incremento sucede dentro de un Sprint.
Reunión de planificación de Sprint
editar- Este Sprint planning meeting tiene una duración: max. 8 horas.
Antes de comenzar el sprint se realiza una reunión en la que se escogen los requisitos que se abordarán. Para planificar o estimar la duración que deberá tener el sprint es común realizar sesiones de 'scrum póker'. Después de esta fase se deberá generar un documento con todas las tareas a realizar así como los tiempos en los que se deberán completar, conocido como 'sprint backlog'.
Reunión diaria de Scrum
editar- Este Daily Scrum tiene una duración aproximada de 15 minutos.
Cada día, al comenzar la jornada, se dedicarán 15 minutos para realizar una reunión en la que se deberán poner al día los miembros del equipo exponiendo:
- ¿Qué hiciste desde la última reunión?
- ¿Hay algún obstáculo en tu tarea?
- ¿Qué tienes planificado hacer hoy?
Revisión del Scrum
editarAl finalizar el Sprint se realiza una inspección del Incremento creado, este evento se llama Sprint Review. En la Sprint Review colabora todo el Equipo Scrum con los stakeholders revisando el Incremento creado en el Sprint e integrado al resto del producto para decidir cuáles serán los próximos pasos hacia el logro del Objetivo de Producto. La Sprint Review dura un máximo de cuatro horas para un Sprint de cuatro semanas. Si el Sprint es más corto, la Sprint Review durará menos.
Retrospectiva
editarLa Retrospectiva del Sprint es el momento en el que el equipo inspecciona cómo le fue durante este último Sprint con respecto a las personas, las interacciones, los procesos, las herramientas y su Definición de Terminado (Definition of Done). Este evento es el corazón de la mejora continua y las prácticas emergentes.
Beneficios de Scrum
editar- Flexibilidad a cambios.
- Reducción del Time to Market.
- Mayor calidad del software.
- Mayor productividad.
- Maximiza el retorno de la inversión (ROI).
- Predicciones de tiempos.
- Reducción de riesgos
Referencias
editar- Guía de Introducción a Scrum La guía introductoria a Scrum, los pilares, valores, roles, artefactos y eventos.
- Proyectos Ágiles La web de Scrum en español para la difusión de la gestión ágil de proyectos.
- Kanban Introducción a Kanban por un trainer oficial de Lean Kanban University.
- Café Ágil Más información sobre marcos y metodos de trabajo.
- Jerónimo Palacios > Guía fundamental de Scrum
- Blog para aprender metodologías ágiles
- Guía COMPLETA con los 11 componentes de Scrum y patrones de equipos de alto rendimiento
Participantes activos
editarParticipantes activos en este grupo de aprendizaje e involucrados en el desarrollo de esta lección:
- ...