Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRUPO 2
METODOLOGÍA SCRUM
Scrum es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo
principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se
basa en construir primero la funcionalidad de mayor valor para el cliente y en los
principios de inspección continua, adaptación, auto-gestión e innovación.
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.
Ver en detalle cuales son los beneficios de Scrum, sus fundamentos y sus requisitos.
¿Cuándo se utiliza?
El proceso
En Scrum un proyecto se ejecuta en ciclos temporales cortos y de duración
fija (iteraciones que normalmente son de 2 semanas, aunque en algunos equipos son
de 3 y hasta 4 semanas, límite máximo de feedback de producto real y reflexión). Cada
iteración tiene que proporcionar un resultado completo, un incremento de producto final
que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo
solicite.
Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos (para
prepararlos para las siguientes iteraciones) y, si es necesario, cambian o replanifican
los objetivos del proyecto para maximizar la utilidad de lo que se desarrolla y el retorno.
Inspección y adaptación
El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene dos
partes:
Por una parte, tenemos al Product Owner representa la voz del cliente y del resto de
interesados no implicados directamente en el proyecto. Este perfil es el encargado de
definir los objetivos del proyecto y de garantizar que el equipo trabaja del modo
adecuado para alcanzar dichos objetivos.
No está solo. El Scrum Master es el encargado de asegurar que el resto del equipo
no tiene problemas para abordar sus funciones y tareas. Guía y ayuda al Scrum Team
para garantizar el cumplimiento de objetivos. En otras palabras, este perfil ayuda al
equipo a mantenerse activo y productivo.
El Scrum Team es el equipo encargado de desarrollar y entregar el producto. Su
trabajo es imprescindible: estamos hablando de una estructura horizontal auto-
organizada capaz de auto-gestionarse a sí misma.
Y, finalmente, tenemos que hablar de los Stakeholders. Este grupo comprende
aquellos perfiles interesados en el producto: directores, dueños, comerciales. Se trata
de perfiles que si bien no forman parte del Scrum Team deben ser tenidos en cuenta.
Roles de Scrum
La metodología Scrum tiene unos roles y responsabilidades principales, asignados a
sus procesos de desarrollo. Estos son:
Project Owner. Se asegura de que el proyecto se esté desarrollando acorde con
la estrategia del negocio. Escribe historias de usuario, las prioriza, y las coloca
en el Product Backlog.
Master Scrum o Facilitador. Elimina los obstáculos que impiden que el equipo
cumpla con su objetivo.
Development team Member. Los encargados de crear el producto para que
pueda estar listo con los requerimientos necesarios. Se recomienda que sea un
equipo multidisciplinar, de no más de 10 personas. Sin embargo, empresas
como Google disponen de unos 15.000 desarrolladores trabajando en una rama
del código. Y con una metodología Scrum. La automatización en el testeo explica
sobre por qué este gran volumen en el equipo.
Funcionamiento de la metodología Scrum
El proceso comienza con la elaboración del llamado Product Backlog. Se trata de
un archivo genérico que recoge el conjunto de tareas, los requerimientos y las
funcionalidades requeridas por el proyecto. Cualquier miembro del equipo puede
modificar este documento pero el único con autoridad para agregar prioridades es el
Product Owner, responsable del documento.
La segunda etapa pasa por la definición del Sprint Backlog, documento que recoge
las tareas a realizar y quién las desempeña. Es interesante asignar las horas de
trabajo que va a suponer realizar cada una de ellas y asignarlas un coste. Si su
volumen es muy grande, crear metas intermedias será un acierto.
El Sprint es el periodo en el que se realizan todas las acciones pactadas en el Sprint
Backlog y supone entregas parciales para ir testeando el producto final.
El ciclo anterior deberá repetirse hasta que todos los elementos del Blacklog hayan
sido entregados. Entre los distintos Sprints no se deben dejar tiempos sin
productividad.
Todas las acciones que realicemos han de tener un control. Es en el Burn Down
donde marcamos el estado y la evolución del mismo indicando las tareas y
requerimientos pendientes de ser tratados.
Beneficios
Ventajas
Scrum es muy fácil de aprender, los roles, eventos y artefactos son claros y
tienen un objetivo muy relacionado a nuestra manera diaria de trabajar.
El cliente puede comenzar a usar su producto rápidamente.
Se agiliza el proceso, ya que la entrega de valor es muy frecuente.
Menor probabilidad de sorpresas o imprevistos, porque el cliente está
viendo frecuentemente el proyecto.
Desventajas
Aunque Scrum sea fácil de aprender, es muy difícil poder implementarlo.
Esto supone una predisposición y un cambio de cultura de la organización
que debe ir desde los altos mandos hasta los clientes.
La necesidad de tener equipos multi-disciplinares puede ser un problema,
ya que es difícil encontrar personas que sean capaces de hacer todo el
trabajo de un equipo.
El equipo puede tender a realizar el camino más corto para conseguir el
objetivo de un Sprint, el cual no siempre es el de mayor calidad.
Ejemplo: Éxito de Spotify.
Contrato externo de un especialista en metodologías ágiles. Gran importancia al
rol del Scrum Master.
Fundamental el trabajo del Product Owner, para saber entender las necesidades
reales del cliente y trasladarlas a tiempo al equipo.
Buena coordinación central de la compañía.
Rápidos, baratos y mejores frente a sus competidores Google y Apple.
Los pequeños equipos Scrum son hábiles para implementar el software al final
de cada sprint, sin romper a otros equipos.
Cada equipo tiene una parte del software exclusivo suyo. Entre todos forman
tribus o Tribe, añadiendo distintos Squad o escuadrones.
Aquí un ejemplo gráfico de cómo funciona Scrum en Spotify.
2. Elige un equipo.
¿Quién va a hacer el trabajo real? Este equipo necesita tener las habilidades
necesarias para convertir en realidad la visión del responsable de producto. Los
equipos tienen que ser pequeños: entre 3 y 9 personas es lo normal.
Es la persona que conducirá a todos los demás por el sistema de trabajo Scrum
ayudando al equipo a eliminar todo aquello que les frene. Quitar desperdicios.
El Backlog no es más que una lista de todo lo que debe hacerse para convertir la
visión en realidad. Esta lista existe y evoluciona a lo largo del proceso, es el mapa o la
hoja de ruta del producto.
Debería consultar con todos los interesados y con el equipo para asegurarse de que
representan tanto lo que quiere el cliente como lo que es factible construir.
Es crucial que las personas que realmente van a llevar a cabo los ítems enumerados
en la lista, calculen el esfuerzo que les llevará cada uno. El equipo deberá ir ítem por
ítem para decidir si realmente es factible hacerlo.
¿Hay información suficiente para llevar a cabo cada uno? ¿Es lo suficientemente
pequeño para poder calcular? ¿Hay una definición de “hecho”? ¿Todo el mundo está
de acuerdo en los requisitos que hay que cumplir para considerar que una cosa está
“hecha”? ¿Ofrece un valor visible?
Cada ítem tiene que poder presentarse, tiene que estar listo para, idealmente, poder
ser puesto en marcha. No hagas estimaciones de la lista de objetivos pendientes
en horas, porque a las personas se nos da fatal calcular el tiempo. Haz estimaciones
sobre el tamaño: pequeño, mediano o grande. O incluso mejor: utiliza la sucesión
de Fibonacci y calcule el punto de valor de cada una de las entradas de la lista: 1, 2, 3,
5, 8,13, 21, etc. Lo que se conoce como el Póker de Planificación.
6. Planificación de sprints.
Los sprints siempre duran una cantidad determinada de tiempo, que es menos de un
mes. Habitualmente, casi todo el mundo hace sprints de una o dos semanas. El equipo
mira el principio de la lista de objetivos pendientes y hace una previsión de cuánto
pueden tener terminado en este sprint. Si el equipo ya ha hecho algún sprint, deberían
tener en cuenta los puntos que hicieron en el último. Ese número se conoce como la
velocidad del equipo. El Scrum Master y el equipo deberían estar siempre intentando
aumentar esa cifra en cada sprint. También es el momento para que el equipo y el
responsable de producto se aseguren de que todo el mundo entiende exactamente
cómo estos ítems van a lograr crear la visión. Además, en esta reunión todos deben
ponerse de acuerdo en la meta, lo que todos quieren lograr en ese sprint.
Uno de los pilares del Scrum es que una vez que el equipo se ha comprometido con lo
que creen que pueden terminar en un sprint, no hay vuelta atrás. No se puede cambiar
y no se le puede añadir nada. El equipo tiene que ser capaz de trabajar de forma
autónoma durante todo el sprint, para terminar lo que previeron que podían hacer.
La forma más habitual de hacer esto es con una pizarra de Scrum y sus tres
columnas: Pendiente, En proceso, Hecho. Los post-it representan los ítems que hay
que completar y el equipo los cambia de sitio en la pizarra, a medida que se van
terminando, uno por uno.
Otra forma de hacer que el trabajo sea visible es crear un diagrama burn down o de
trabajo pendiente. En uno de los ejes está el número de puntos que el equipo ha
llevado al sprint y en el otro el número de días. Cada día el Scrum Master registra el
número de puntos que se han completado y los anota en el diagrama de trabajo
pendiente. Lo ideal sería que hubiera una curva descendente que llegara a cero
puntos en el último día del sprint.
Éste es el pulso vital del Scrum. Cada día a la misma hora, durante no más de
quince minutos, el equipo y el Scrum Master se ven y responden a tres preguntas:
Ya está. En eso consiste la reunión. Si dura más de quince minutos usted está
haciendo algo mal. Esto ayuda al equipo a saber exactamente en qué punto está cada
ítem del sprint.
¿Se van a terminar todas las tareas a tiempo? ¿Existe la posibilidad de ayudar a otros
miembros del equipo a superar obstáculos? Las tareas no se asignan desde arriba, el
equipo es autónomo; son ellos los que deciden. No hay que despachar detalladamente
con los directivos. El Scrum Master es el responsable de eliminar los obstáculos que
impiden que el equipo avance.