Scrum (que no se escribe en mayúsculas, porque no es un acrónimo) es una “metodología” ágil para, importante, la gestión de proyectos; por lo que queda fuera de su ámbito el tratamiento explícito de, por ejemplo, el testing, el control de versiones, el diseño, arquitectura, etc. Su principal objetivo es obtener resultados (normalmente prototipos) cuanto antes y adaptarse a los cambios (normalmente, los cambios en los requisitos).
De manera sintetizada, los pilares de Scrum son, principalmente, dos: el ciclo de vida iterativo e incremental y diversas reuniones a lo largo del proyecto.
Ciclo de vida iterativo e incremental. Los Sprints
Una de las bases de las metodologías ágiles es el ciclo de vida iterativo e incrementa. El ciclo de vida iterativo e incremental es aquel en que se va liberando el producto por partes, periódicamente, iterativamente, poco a poco, y además cada entrega es un incremento de funcionalidad respecto a la anterior. Esto difiere del ciclo de vida en cascada, en el que las fases del ciclo de vida (requisitos, análisis, diseño, etc.) se realizan (en teoría) una única vez, y el inicio de una fase no comienza hasta que termina la fase que le precede.
En Scrum a cada iteración se le llama Sprint. Un Sprint es un periodo de corta duración (menor a 4 semanas, el equipo decide) que debe finalizar con un prototipo operativo o producto potencialmente entregable.
Lo que se va a implementar en el Sprint, la funcionalidad del prototipo, proviene de la Pila del Producto (Product Backlog), que contiene un conjunto de items, normalmente, requisitos funcionales o historias de usuario.
En Scrum, la figura del Propietario del Producto (Product Owner), es el responsable de gestionar el Product Backlog, priorizarlo, mantenerlo y de crear las historias de usuario (o items en general).
Una vez seleccionadas las historias de usuario que se van a desarrollar en el Sprint, el equipo técnico las descompone en tareas, las cuales forman la Pila del Sprint (Sprint Backlog), que será inamovible durante el Sprint.
Las Reuniones
El segundo pilar más importante de Scrum son las reuniones. Su importancia reside en que las reuniones son la base para lograr transparencia y comunicación, y posibilitan algo característico en un equipo ágil: que sea auto-gestionado y multifuncional. Las reuniones se realizan a lo largo de todo el proyecto, según las siguientes tipologías:
- Reunión de Planificación del Sprint (Sprint Planning Meeting). Al principio de cada Sprint, para decidir que se va a realizar en ese Sprint.
- Reunión diaria (Daily Scrum). Máximo 15 minutos, en la que se trata que hizo ayer, que va a hacer hoy y que problemas se han encontrado.
- Reunión de Revisión del Sprint (Sprint Review Meeting). Al final de cada Sprint, y se trata qué ha completado y qué no. También se muestra el trabajo al Product Owner.
- Retrospectiva del Sprint (Sprint Retrospective). También al final del Sprint, y sirve para que los implicados den sus impresiones sobre el Sprint, y se utiliza para la mejora del proceso.
Consideraciones importantes y cosas que deberías tener muy claras antes de continuar con el curso:
- Cada proyecto, empresa, producto, línea de negocio, etc., requiere una adaptación de Scrum a su caso. Scrum es un marco de trabajo, o meta-metodología, como lo llaman algunos, por lo que tiene que adaptarse.
- Scrum, aunque nace en el mundo del desarrollo software, es una metodología lo suficientemente genérica como para poder aplicarse a la gestión de otro tipo de proyectos. De ahí que se esté extendiendo su uso a otros ámbitos.
- Normalmente Scrum no se utiliza sola, ya que no cubre todo lo que se necesita para abordar un proyecto software. En software es muy típico acompañar Scrum con la metodología XP, que aporta cuestiones más cercanas a la programación, y con Kanban, que ayuda mucho en la gestión de las tareas en las que se descomponen las historias de usuario.
- Scrum no es la única metodología ágil que existe. No es la solución a todos los males. Hay empresas en las que, por su negocio, no encaja bien Scrum. Y en lograr, si aplica, su implantación está la clave del éxito y lo que supone un verdadero esfuerzo.