1. Qué es SCRUM
Scrum es un proceso en el que se aplican de manera regular un conjunto de mejores prácticas para
trabajar en equipo y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan
unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos
altamente productivos.
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.
Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que
necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es
aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los
equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias
sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de
producto.
El proceso
En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural
y hasta de dos semanas, si así se necesita). 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.
El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del
proyecto. En esta lista el cliente prioriza los objetivos balanceando el valor que le aportan respecto a
su coste y quedan repartidos en iteraciones y entregas. De manera regular el cliente puede
maximizar la utilidad de lo que se desarrolla y el retorno de inversión mediante la replanificación de
objetivos que realiza al inicio de cada iteración.
Las actividades que se llevan a cabo en Scrum son las siguientes:
Planificación de la iteración
El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:
1. Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos
priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona
los requisitos más prioritarios que se compromete a completar en la iteración, de manera que
puedan ser entregados si el cliente lo solicita.
2. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la
iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de
esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.
2. Ejecución de la iteración
Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del
equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso
hacia el objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer las
adaptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunión cada
miembro del equipo responde a tres preguntas:
* ¿Qué he hecho desde la última reunión de sincronización?
* ¿Qué voy a hacer a partir de este momento?
* ¿Qué impedimentos tengo o voy a tener?
Durante la iteración el Facilitador se encarga de que el equipo pueda cumplir con su compromiso y
de que no se merme su productividad.
* Elimina los obstáculos que el equipo no puede resolver por sí mismo.
* Protege al equipo de interrupciones externas que puedan afectar su compromiso o su
productividad.
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:
1. Demostración (4 horas máximo). 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. 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.
2. Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de trabajar y cuáles
son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera
continua su productividad. El Facilitador se encargará de ir eliminando los obstáculos identificados.
3. Beneficios de Scrum
Los principales beneficios que proporciona Scrum son:
• Entrega mensual (o quincenal) de resultados (los requisitos más prioritarios en ese
momento, ya completados) lo cual proporciona las siguientes ventajas:
o Gestión regular de las expectativas del cliente y basada en resultados tangibles.
o Resultados anticipados (time to market).
o Flexibilidad y adaptación respecto a las necesidades del cliente, cambios en el
mercado, etc.
o Gestión sistemática del Retorno de Inversión (ROI).
o Mitigación sistemática de los riesgos del proyecto.
• Productividad y calidad.
• Alineamiento entre el cliente y el equipo de desarrollo.
• Equipo motivado.
Fundamentos de Scrum
• Scrum se basa en:
* El desarrollo incremental de los requisitos del proyecto en bloques temporales cortos y fijos
(iteraciones de un mes natural y hasta de dos semanas, si así se necesita).
4. * La priorización de los requisitos por valor para el cliente y coste de desarrollo en cada
iteración.
* El control empírico del proyecto. Por un lado, al final de cada iteración se demuestra al
cliente el resultado real obtenido, de manera que pueda tomar las decisiones necesarias en función
de lo que observa y del contexto del proyecto en ese momento. Por otro lado, el equipo se sincroniza
diariamente y realiza las adaptaciones necesarias.
* La potenciación del equipo, que se compromete a entregar unos requisitos y para ello se
le otorga la autoridad necesaria para organizar su trabajo.
* La sistematización de la colaboración y la comunicación tanto entre el equipo y como
con el cliente.
* El timeboxing de las actividades del proyecto, para ayudar a la toma de decisiones y
conseguir resultados.
Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera
de trabajar de equipos altamente productivos.
Cómo Scrum proporciona estos beneficios
A continuación se detalla de qué manera Scrum permite conseguir cada uno de los beneficios
anteriores:
Beneficios de Scrum Cómo se consiguen
Gestión regular de las Lista de requisitos priorizada
expectativas del cliente El cliente crea y gestiona la lista de
El cliente establece sus requisitos del producto o proyecto, donde
expectativas indicando el valor que le quedan reflejadas sus expectativas a nivel
aporta cada requisito del proyecto y de requisitos, valor, coste y entregas.
cuando espera que esté completado.
El cliente comprueba de manera Demostración de los resultados
regular si se van cumpliendo sus de proyecto en cada iteración
expectativas, da feedback, ya desde el Al final de cada iteración el equipo
inicio del proyecto puede tomar demuestra al cliente los requisitos que ha
decisiones informadas a partir de conseguido completar. Tras una inspección
resultados objetivos y dirige estos del resultado real del proyecto hasta ese
resultados del proyecto, iteración a momento, y considerando el esfuerzo que
iteración, hacia su meta. Se ahorra ha sido necesario para realizarlo, el cliente
esfuerzo y tiempo al evitar hipótesis. solicita los cambios que necesita y
replanifica el proyecto.
Resultados anticipados Priorización de requisitos por
(“time to market”) valor y coste
El cliente puede empezar a Al inicio de cada iteración el cliente
utilizar los resultados más importantes prioriza la lista de requisitos del producto o
del proyecto antes de que esté finalizado proyecto en función del valor que le
por completo. aportan, su coste de desarrollo y los riesgos
Siguiendo la ley de Pareto (el del proyecto, cambiando los requisitos
20% del esfuerzo proporciona el 80% del previstos para reaccionar a cambios de
5. valor), el cliente puede empezar antes a contexto en el proyecto.
recuperar su inversión (y/o El progreso del proyecto se mide en
autofinanciarse) comenzando a utilizar función de los requisitos que el equipo
un producto al que sólo le faltan completa en cada iteración.
características poco relevantes, puede
sacar al mercado un producto antes que
su competidor, puede hacer frente a
urgencias o nuevas peticiones de clientes,
etc.
Flexibilidad y adaptación Replanificación en el inicio de
De manera regular el cliente cada iteración
redirige el proyecto en función de sus Se asume que los cambios son parte
nuevas prioridades, de los cambios en el natural del proyecto. Toda iteración
mercado, de los requisitos completados comienza con una replanificación del
que le permiten entender mejor el proyecto. Esta replanificación no es
producto, de la velocidad real de traumática puesto que Scrum minimiza el
desarrollo, etc. número de objetivos/requisitos en que el
Al final de cada iteración el equipo trabaja (WIP, Work In Progress) a
cliente puede aprovechar la parte de los que caben en una iteración. Todavía no
producto completada hasta ese se ha hecho ningún esfuerzo en desarrollar
momento para hacer pruebas de los requisitos de las siguientes iteraciones.
concepto con usuarios o consumidores y El hecho los requisitos se completen
tomar decisiones en función del resultado en función del valor que aportan al cliente
obtenido. minimiza la probabilidad de que se
produzcan grandes cambios en el
transcurso del proyecto.
Retorno de inversión (ROI) Priorización de requisitos por
De manera regular, el cliente valor
maximiza el ROI del proyecto. Cuando el Cada iteración el cliente dispone de
beneficio pendiente de obtener es menor unos requisitos completados y replanifica el
que el coste de desarrollo, el cliente proyecto en función del valor que le
puede finalizar el proyecto. aportan los requisitos pendientes respecto
del coste de desarrollo que tienen.
Mitigación de riesgos Desarrollo iterativo e
Desde la primera iteración el incremental
equipo tiene que gestionar los problemas Un requisito se debe completar en
que pueden aparecer en una entrega del una iteración. El equipo debe realizar todas
proyecto. Al hacer patentes estos riesgos, las tareas necesarias para completarlo y
es posible iniciar su mitigación de que esté preparado para ser entregado al
manera anticipada. "Si hay que cliente con el esfuerzo mínimo necesario. De
equivocarse o fallar, mejor hacelo lo esta manera no se deja para el final del
antes posible". El feedback temprano proyecto ninguna actividad arriesgada
permite ahorrar esfuerzo y tiempo en relacionada con la entrega de requisitos.
errores técnicos.
La cantidad de riesgo a que se
enfrenta el equipo está limitada a los
requisitos que se puede desarrollar en
una iteración. La complejidad y riesgos
del proyecto se dividen de manera
natural en iteraciones.
6. Productividad y calidad Mejora continua
De manera regular el equipo va Cada iteración el equipo realiza
mejorando y simplificando su forma de una retrospectiva para analizar su manera
trabajar. de trabajar e identificar los obstáculos que
le impiden avanzar al mejor ritmo posible.
Los miembros del equipo Comunicación diaria del
sincronizan su trabajo diariamente y se equipo
ayudan a resolver los problemas que Todo miembro del equipo conoce
pueden impedir conseguir el objetivo de cómo el trabajo de los otros miembros
la iteración. La comunicación y la impacta en el suyo y cuáles son las
adaptación a las diferentes necesidades necesidades de los otros.
entre los miembros del equipo son
máximas (se van ajustando iteración a
iteración), de manera que no se realizan
tareas innecesarias y se evitan
ineficiencias.
Las personas trabajan más TimeBoxing
enfocadas y de manera más eficiente Cada actividad de Scrum siempre
cuando hay una fecha límite a corto tiene la misma duración (1 mes, 4 horas,
plazo para entregar un resultado al que etc.), con lo que las personas aprenden lo
se han comprometido. La consciencia de que pueden conseguir en este tiempo,
esta limitación temporal favorece la cómo organizarse, priorizar tareas y tomar
priorización de las tareas y fuerza la decisiones.
toma de decisiones.
Las iteraciones (Sprints) son
regulares y de un mes para facilitar la
sincronización sistemática con otros
equipos, con el resto de la empresa y con
el cliente.
El equipo minimiza su Equipo multidisciplinar
dependencia de personas externas para El equipo está formado por todas
poder avanzar (depender de la las personas con las especialidades
disponibilidad de otros puede necesarias para llevar a cabo el proyecto.
parar tareas).
La estimación de esfuerzo y la Estimación de esfuerzo
optimización de tareas para completar conjunta
un requisito es mejor si la realizan las En el inicio de la iteración los
personas que van a desarrollar el miembros del equipo estiman de manera
requisito, dadas sus diferentes conjunta el esfuerzo necesario para
especializaciones, experiencias y puntos completar requisitos y sus tareas.
de vista. Asímismo, con iteraciones
cortas la precisión de las estimaciones
aumenta.
Las personas trabajan de manera Compromiso del equipo
más eficiente y con más calidad cuando En el inicio de cada iteración el
ellas mismas se han comprometido a equipo selecciona los requisitos que se
entregar un resultado en un momento compromete a completar y entregar al
determinado y deciden cómo hacerlo, no final de la iteración (responabilidad). El
cuando se les ha asignado una tarea e propio equipo se organiza (autoridad)
7. indicado el tiempo necesario para identificando las tareas necesarias, su
realizarla. esfuerzo y autoasignandose cada
miembro las tareas que se compromete a
realizar.
El equipo se evita caminar Demostración de resultados
mucho tiempo por un camino preparados para ser utilizados y
equivocado que le obligue a realizar un velocidad sostenida
gran esfuerzo para llegar al objetivo Por un lado, al final de cada
esperado iteración el equipo demuestra al cliente los
Se asegura la calidad del requisitos que ha conseguido completar, de
producto de manera sistemática y manera que están completamente
objetiva, a nivel de satisfacción del operativos. Por otro lado, para tener una
cliente, requisitos listos para ser utilizados velocidad de desarrollo sostenida, el equipo
y calidad interna del producto. necesita desarrollar cada incremento de
producto sin tener que revisitar aspectos
mal resueltos en iteraciones anteriores.
Alineamiento entre cliente y Cliente y equipo trabajando
equipo “en equipo”
Los resultados y esfuerzos del Cada iteración el equipo y el cliente
proyecto se miden en forma de objetivos trabajan juntos en la creación de los
y requisitos entregados al negocio. Todos requisitos del proyecto (en la estimación de
los participantes en el proyecto conocen la lista priorizada de requisitos del
cuál es el objetivo a conseguir. El proyecto), en darles detalle (en la reunión
producto se enriquece con las de planificación de la iteración) y en el
aportaciones de todos. análisis del resultado obtenido (en la
demostración de los requisitos
completados).
Equipo motivado Equipo autogestionado
Las personas están más El equipo es quien se compromete a
motivadas cuando pueden usar su completar unos requisitos determinados en
creatividad para resolver problemas una iteración y quien mejor sabe cómo
y cuando pueden decidir organizar su desarrollarlos. Por ello es el equipo quien se
trabajo. autoorganiza y quien planifica cómo
trabajará en la iteración.
Las personas se sienten más Demostración
satisfechas cuando pueden mostrar los Cada iteración el equipo muestra al
logros que consiguen. cliente los resultados que consigue. No está
meses trabajando sin poder exhibir su obra.
8. Requisitos para poder utilizar Scrum
Los siguientes puntos son de especial importancia para la implantación de una gestión ágil de
proyectos como Scrum:
* Cultura de empresa basada en trabajo en equipo, delegación, creatividad y mejora
continua.
* Compromiso del cliente en la dirección de los resultados del proyecto, gestión del ROI y
disponibilidad para poder colaborar.
* Compromiso de la Dirección de la organización para resolver problemas endémicos y
realizar cambios organizativos, formando equipos autogestionados y multidisciplinares y
fomentando una cultura de gestión basada en la colaboración y en la facilitación llevada a
cabo por líderes serviles.
* Compromiso conjunto y colaboración de los miembros del equipo.
* Relación entre proveedor y cliente basada en ganar-ganar, colaboración y transparencia.
* Facilidad para realizar cambios en el proyecto.
* Tamaño de cada equipo entre 5 y 9 personas (con técnicas de colaboración entre equipos
que trabajan en el mismo proyecto).
* Equipo trabajando en un mismo espacio común para maximizar la comunicación.
* Dedicación del equipo a tiempo completo.
* Estabilidad de los miembros del equipo