Servicio de Atención al Cliente: 902 170 000 comercial@extrasoft.es

SCRUM es una metodología de trabajo colaborativo para entornos complejos con requisitos cambiantes y que requieran resultados rápidos. ¿Qué es SCRUM? Etimológicamente, significa melé, que es la jugada de rugby en la que todos los jugadores se agrupan en una formación para conseguir el balón (objetivo).

Una de las características de SCRUM es que ve el proyecto en función de una lista de objetivos prioritarios. Dichos objetivos quedan establecidos desde el punto de vista del cliente o el rol que le representa (Product Owner o Propietario del Producto).

Otra de las características es que trabaja por ciclos temporales cortos, llamados sprints o iteraciones que pueden ir desde un día hasta dos semanas (aunque lo usual es que sean varias semanas).

I. EL PROCESO SCRUM

1. PLANIFICACIÓN

El primer día del proyecto tiene dos partes:

1- Todo empieza con una Lista de objetivos priorizados según las necesidades o planteamientos del cliente. Estos pequeños objetivos se denomina User Story. La suma de los User Story nos da un Back log del producto, también llamado Wish List, que se cuelga del característico tablón (SCRUM Task Board).

En esta primera fase es vital la intervención del Product Owner, que es la voz del cliente y por tanto el que dirige y selecciona la Wish List. Esta selección se presenta al equipo, que plantea dudas y define los medios para que los requisitos de cada fase puedan ser entregados.

Scrum Task Board

Scrum Task Board que refleja todo el Product Backlog

2- Cada Iteración o Sprint conlleva una lista de tareas de iteración, una estimación del esfuerzo conjunto, y una organización por equipos.

En este primer día, la actuación el SCRUM Master (una especie de director del proyecto Scrum) es fundamental. Sus funciones son organizar las reuniones, ayudar al equipo en los obstáculos externos que encuentra y planificar.

En SCRUM es crítico asignar tiempos a cada tarea, así que cada una de estas dos partes no debería llevar más de 2 horas.

2. EJECUCIÓN DE LA ITERACIÓN O SPRINT

Previamente a la ejecución, se han asignado tiempos a cada una de las User Story, desde varias horas hasta varios días. En caso de que una tarea sea muy larga, se fracciona en partes más pequeñas, de modo que tengamos una estimación en horas de cada uno de las tareas. La suma de todas supondrá la estimación de tiempo para el Product Backlog.

Luego, todas estas estimaciones de procesos se agrupan en sprint o iteraciones. Un sprint es una agrupación de tareas que dan cumplimiento a una fase del proyecto, al final de la cual se puede hacer una liberación de la parte de los requisitos del producto terminados (Release Backlog). Un sprint puede durar desde 2 días hasta 30. Cada sprint tiene su propio Backlog.

Scrum Task Board Sprint

Ejemplo de Scrum Task Board de un Sprint

La jornada de trabajo comienza con una visualización rápida (unos 15 minutos) del SCRUM Task Board donde aparecen todas las tareas. Cada miembro visualiza su trabajo y el del resto, se ven las dependencias entre unos y otros y los obstáculos. En esta ronda rápida cada miembro responde tres preguntas respecto al presente sprint o iteración.

  • Acciones emprendidas hasta ahora para cumplir el objetivo.
  • Qué voy a hacer a partir de ahora para cumplirlo.
  • Obstáculos me estoy encontrando en mi trabajo.

Durante el Sprint o iteración cada miembro del equipo hace su parte (desarrolladores, testadores, scrum master o facilitador y también los ejecutivos y el representante del cliente –product owner-). Los ejecutivos y cliente, entran sobre todo en las fases inicial y final como se puede ver en el gráfico:

diagrama-proceso-scrum

Planificación de una iteración o Sprint
Fuente: proyectosagiles.org

3. INSPECCIÓN Y ADAPTACIÓN

El último día también se divide en dos fases:

1- REVISIÓN (1,5 horas). Debe estar presente el cliente (al menos el product owner) y el Equipo. Se presentan los requisitos finalizados y se puede, en función de los objetivos alcanzados, planificar de nuevo.

2- RETROSPECTIVA (1,5 horas). En esta fase solo está presente el Equipo. Este examina el proceso, los obstáculos y el resultado. El Facilitador o Scrum Master debe eliminar los obstáculos que el equipo no pueda resolver por sí mismo.

Una vez se finalizan todos los sprints en el tiempo definido, se libera el producto completo (Release Backlog). Esta última fase tiene también su Revisión y Retrospectiva final.

II. APROVECHAMIENTO DEL TIEMPO EN SCRUM

En SCRUM, aparte del SCRUM Task Board, donde aparecen todas las tareas, con las conexiones, tiempos y progreso para cada una de ellas, tenemos otra herramienta fundamental que es el Burndown Chart.

Sample Burndown Chart

Ejemplo de Burndown chart. En naranja las tareas completadas. En azul el esfuerzo pendiente en horas y en verde el burndown (reducción del esfuerzo) ideal.

Consiste en una curva de evolución en que en el eje de las ordenadas se sitúa la cantidad de trabajo restante del proyecto. En el eje de las abscisas se sitúan los días de trabajo de cada sprint. El trabajo del equipo se suma y se cuantifica cuántas horas totales desarrolla cada día (por ejemplo 50 horas). Dado que tenemos cuantificadas las horas de cada bloque de trabajo, cada sprint y el Backlog completo, es posible realizar una estimación diaria del trabajo pendiente y de la velocidad a la que decrece (Burndown Velocity). Por tanto podemos ver si el proyecto va bien o tiene retraso.

Ejemplo de Burndown Chart ideal

Lo ideal es que se aproximen las curvas de las tareas proyectadas para realizar (en azul en el cuadro) y las tareas efectivamente realizadas (en rojo en el cuadro). Idealmente, las horas de la iteración se reducen a cero en el día final del Timeline de la iteración.

SCRUM está suponiendo una revolución, por su operatividad para coordinar los equipos, aprovechar el tiempo disponible y enfocar la tarea hacia los objetivos del cliente. Por tanto, se está imponiendo en infinidad de empresas de proyectos informáticos. Extra Software ha incorporado SCRUM como parte de su metodología de proyectos, tanto de Gextor como a medida.

Esperamos haberte ayudado a entender qué es SCRUM.

¡SI TE GUSTÓ, COMPÁRTELO!