Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Índice
Introducción y objetivos
1. Periodos de trabajo
1.1. El proceso Scrum
1.2. Timeboxing
1.2.1. Introducción
1.2.2. Duración
1.2.3. Contenido
1.2.4. Beneficios del timeboxing
1.3. Otras técnicas de mejora de la productividad
Resumen
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
INTRODUCCIÓN Y OBJETIVOS
El desarrollo de proyectos mediante Scrum utiliza ciclos de trabajo cortos de
duración fija. Se trabaja a través de un conjunto de iteraciones que tienen un objetivo
claro: entregar un producto finalizado al finalizar la iteración.
En esta unidad veremos quién hace qué en ese ciclo corto, quién distribuye las tareas,
quién asigna el trabajo que se desarrollará en la iteración y quién se responsabiliza del
resultado a entregar al cliente, aunque lo importante en esta unidad es ver cómo se
gestiona la iteración. La auto-organización es clave para el éxito de un proyecto con
esta metodología ágil.
• Entender lo que son los Sprints o ciclos iterativos e incrementales en los que
trabaja Scrum y qué se hace en cada Sprint. Familiarizarnos con la duración y
la acción correspondiente a ciclo con el objetivo de producir un incremento de
producto al final del Sprint.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
1. PERIODOS DE TRABAJO
1.1. EL PROCESO SCRUM
En Scrum, un proyecto se ejecuta en ciclos temporales cortos y de duración fija que
normalmente es de entre 2 y 4 semanas. Cada iteración o sprint 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.
Las actividades que se llevan a cabo en cada iteración o sprint de Scrum son las
siguientes:
Nota
1.2. TIMEBOXING
1.2.1. INTRODUCCIÓN
En los entornos ágiles un concepto fundamental es el de bloques de tiempo (timebox).
Las iteraciones o sprints funcionan mediante timeboxing. También cabe destacar que
ciertas actividades de Scrum, como son las reuniones, utilizan el principio de timebox.
Los timebox o bloques de tiempo tienen dos características básicas sobre duración y
contenido.
1.2.2. DURACIÓN
Importante
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Si bien cada timebox tiene un tiempo máximo, hay de dos tipos con respecto al tiempo
mínimo:
De duración fija:
De duración máxima:
-‐ Existen timebox con una duración máxima, que no es extensible, pero no
cuentan una duración mínima.
-‐ En este tipo de timebox, si ya hemos completado todas las actividades y
tenemos algo de tiempo, el timeboxse considerará cerrado y empezaremos un
nuevo.
-‐ Se utiliza para maximizar la flexibilidad, junto con la regularidad, y se utiliza
generalmente para eventos más pequeños o aquellos que no pueden
incorporar actividades adicionales.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
1.2.3. CONTENIDO
Importante
Esta es la clave para ser productivos en los entornos ágiles. Por una parte, recoger los
cambios que se producen para siguientes timebox y, por otra, mantenernos centrados
durante el presente timebox.
Nota
Siempre que sea posible trabajaremos en un espacio físico común para mejorar la
productividad. Este requisito hace referencia a que el equipo esté trabajando en la
misma localización física, en lugar de estar distribuido en los distintos departamentos
de la organización.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Esta es sin duda una medida que contribuye a mejorar la relación entre los miembros
del equipo, y facilita su comunicación y colaboración.
Comunicación osmótica:
Una de las consecuencias de que los miembros del equipo se encuentren en una
misma ubicación, no solo es la mejora de la conversación, sino también la
comunicación osmótica. Este tipo de comunicación aparece cuando los miembros del
equipo captan la información relevante como si fuera por ósmosis. Esto se produce
normalmente por estar en la misma habitación donde los miembros del equipo pueden
obtener información útil escuchando de “casualidad”, e implicarse y ayudarse los unos
a los otros si fuera necesario.
En la práctica, cuando una persona hace una pregunta, otros en la habitación pueden
sintonizar o desconectarse, contribuyendo a la discusión o continuando con su trabajo.
Nos debe tomar menos de 30 segundos llevar nuestras dudas a los ojos u oídos de
quien puede resolvérnoslas, debemos sentarnos en el mismo cuarto o en cubículos
contiguos. Esta forma de comunicación nos permite conectarnos de forma más ágil a
las demás personas y abarca la posibilidad de que ambas personas se encuentren en
sintonía con sus ideas.
Una de los problemas del trabajo en equipo es la gestión de las reuniones. Bien sea
por la cantidad de reuniones, bien por la calidad de ellas, muchas veces se convierten
en una pérdida de tiempo y su consecuente desmotivación al no ser del todo
productivas.
En Scrum existen una serie de reuniones programadas o eventos que tratan de crear
regularidad y reducir al mínimo la necesidad de reuniones fuera de las definidas en
Scrum. Todas estas reuniones tienen una duración máxima (timebox) con el objetivo
de que estos eventos no se conviertan en eternos o que no nos lleven a ningún lado o
que sean una pérdida de tiempo.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Los sprints son unos de los pilares sobre los que se basa Scrum. Recordemos que
los fundamentos de Scrum son los siguientes:
Una vez iniciado el sprint, se define un objetivo para ese sprint y se seleccionan los
elementos que se realizarán durante el mismo (Sprint Backlog). Tanto el objetivo,
como esos elementos del Sprint Backlog, permanecerán invariables y no se podrán
cambiar.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Es responsabilidad del Product Owner tener los elementos del Product Backlog
priorizados en función del ROI, el valor al cliente, costes...
• Spring Backlog:
Es la lista de pendientes del sprint o el conjunto de tareas seleccionadas del
Product Backlog durante el sprint planning para el sprint actual, es decir, las
tareas necesarias para realizar un incremento de producto.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
El sprint backlog es una imagen en tiempo real del trabajo que se planea
realizar durante el sprint, es un plan que hace visible todo el trabajo que el
Team identifica como necesario para cumplir con el objetivo del sprint.
• Incrementos:
En un proyecto Scrum, el producto final se entrega después de un número
definido de iteraciones o sprints. En cada sprint se desarrolla un incremento,
que es una parte potencialmente entregable del producto final. Un incremento
es la suma de todos los elementos del Product Backlog completados hasta un
punto determinado del proyecto, que continuará creciendo tras cada Sprint
hasta que el proyecto concluya.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Si trabajamos con sprints más largos existe la posibilidad de que los cambios
en las necesidades del cliente o en el mercado, y que no se han aplicado, sean
lo suficientemente "grandes y significativos" como para generar problemas,
aumentando la complejidad y el riesgo. Por lo tanto, debemos limitar los sprints
a no más de un mes de calendario.
Otro elemento que se emplea para decidir sobre la duración de los sprints es la
cantidad de adaptación o feedback necesario para el proyecto. Un proyecto con
sprints de dos semanas recibe casi el doble de retroalimentación y tiene el
doble de oportunidades de adaptarse que un proyecto con sprints de cuatro
semanas.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
o ¿Se pueden realizar horas extras para terminar todos los artículos
del Sprint Backlog?:
Digamos que no está prohibido, pero es sumamente desaconsejable.
Uno de los principios ágiles es mantener un ritmo constante, para
mantener la calidad del producto y el ánimo del equipo. Así pues, es
mejor evitar las horas extra.
o ¿Se puede establecer un margen extra de tiempo en los sprints
para asegurarnos de que podremos hacerlo todo?:
No debemos estar excesivamente preocupados por no poder hacerlo
todo. El sprint, como todos los eventos de Scrum, son de tiempo
limitado (timebox) y, por lo tanto, no debería extenderse ni siquiera un
día. Tampoco hay márgenes extra de tiempo al final de los sprint.
• Cancelar un sprint.
A pesar de que los sprint son timebox que no cambian, el Product Owner tiene
la autoridad para cancelar un sprint. Esto puede suceder cuando el objetivo de
sprint ha quedado obsoleto, bien por cambios en el Product Backlog, en la
estrategia, en el enfoque, etc. Cuando se cancela un sprint, los elementos que
están "completos" se revisan y se aceptan, y el resto de los artículos (aquellos
que no se han iniciado o están parcialmente completos) se añaden de nuevo al
Product Backlog para completarse en el futuro si fuera necesario.
Cuando se planifica el sprint se define el alcance del sprint (sprint backlog), que estará
compuesto por:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Nota
El sprint backlog estará listo al final de la planificación del sprint, y el team debe
ser capaz de describir los elementos que van a entregar a través del sprint y
cómo lo hará.
El sprint 0:
Su importancia está en que nos permite establecer al menos 3 líneas maestras, con
las que trabajaremos durante todo el tiempo que dure el proyecto:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
-‐ Características del producto: En este Sprint 0 tenemos que recabar todo tipo
de información acerca del producto y las características que debe tener para su
lanzamiento. ¿Cómo? Trabajando activamente con el Product Owner.
-‐ Estructura del Backlog: Fundamental durante esta fase. Definimos cómo
serán las historias de usuario y las dejamos preparadas para fases posteriores.
-‐ Equipo y estructura: En una reunión con el equipo se definen funciones y se
perfila el método de trabajo que vamos a seguir.
2.5. EN FUNCIONAMIENTO
Para poner en marcha el sprint vamos a representar la información necesaria que esté
al alcance del scrum team.
Item #1 t1.1
t1.2 t1.3 t1.4
t1.5 t1.6
Item #2 t2.1
t2.2 t2.3
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
En amarillo hemos puesto las tareas que se crean al descomponer cada una de las
historias de usuario (verde). Estas tareas definen lo que el equipo de desarrollo va a
hacer para entregar cada elemento, y son otros a lo largo de todo el sprint.
Item #1 t1.1
t1.2 t1.3 t1.4
t1.5 t1.6
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
En esta tabla se muestra el mismo sprint después de que el primer elemento (Item 1)
se haya completado. Observa cómo los ítems 2 y 3 están en progreso. También
puedes observar que se han añadido tareas adicionales a los elementos situados en la
parte baja del cuadro (ítem 3 al 5). Son el resultado de la planificación detallada que se
lleva a cabo durante el sprint.
Los elementos del sprint backlog guardan por lo general el mismo orden que tenían en
el product backlog, por lo tanto, el equipo de desarrollo debe trabajar primero en los
artículos de la parte alta de la tabla.
Más información
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
3. Realizar el sprint planning con todo el equipo de Scrum Team (Product Owner,
Scrum Master y Team), el Product Backlog debe estar preparado, se deben
cumplir los objetivos de la reunión y respetar el timeboxing.
4. El Team debe tener una comprensión de los requisitos del cliente y del enfoque
para desarrollar el producto.
5. El Team debe funcionar como una sola unidad, aunque esté compuesto por
una heterogeneidad de perfiles, para alcanzar los objetivos del proyecto.
El Daily Scrum o Scrum Diario es una reunión de 15 minutos para que el Team
o Equipo de Desarrollo inspeccione el trabajo realizado desde la última reunión,
se sincronice y establezca el plan para las próximas 24 horas. Debe realizarse
a diario.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Durante el Daily Scrum cada miembro del Team debe responder a estas tres
preguntas:
Ejemplo
Item #1 t1.1
Habilitar todas las partes t1.2 t1.3 t1.4
de la tienda online para t1.5 t1.6
permitir que los usuarios
puedan experimentar un
proceso de compra
Item #2 t2.3 t2.1 t2.2
completa. Esta hará que
otras características de la
página web sean más
significativas. Item #3 t3.2
t3.1
t3.3 t3.4 t3.5
Item #4 t4.1
t4.2 t4.3
Item #5
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Recomendaciones:
El Team no tiene que esperar hasta que el Product Backlog esté planificado al 100%
para comenzar a desarrollar el proyecto. En cuanto el Product Backlog tenga
consistencia y cuerpo suficientes el Product Owner y el Team (Equipo de Desarrollo)
comienzan con el primer sprint.
-‐ Duración:
-‐ Asistentes:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
-‐ Actividades:
¿Qué se va a realizar?:
En la primera parte, el Product Owner acuerda con el Team el objetivo del sprint y los
elementos del Product Backlog que lograrían dicho objetivo. Para ello, además del
propio Product Backlog, se tendrá en cuenta el último incremento del producto, el
rendimiento del equipo en otros Sprints y la capacidad estimada del Team para este
Sprint. El Team decidirá el número de elementos del Product Backlog que es capaz de
realizar.
Para finalizar este primer bloque, el equipo Scrum definirá el objetivo del Sprint, es
decir, la meta a la que se llegaría con la implementación de los elementos
seleccionados, que además sirve de guía al equipo del por qué se está desarrollando
dicho incremento.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
¿Cómo se va a hacer?
El Product Owner podrá ausentarse durante esta parte, aunque deberá estar
disponible tanto para resolver las dudas que surjan durante la reunión como para
reajustar la cantidad de trabajo a realizar si durante este bloque el equipo detecta que
la cantidad de trabajo es demasiada o insuficiente.
Por último, el Team debe ser capaz de explicar cómo va a crear el incremento
esperado al Product Owner y al Scrum Master.
Recomendaciones:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
a. El Product Owner explica qué ítems del Product Backlog han sido
finalizados y cuáles no. Es importante tener en cuenta que las tareas
terminadas deben respetar el Definition of Done (DoD). Un avance del
99% de una historia de usuario es solo un 0% "completo". El propósito
de presentar el incremento en esta reunión es recabar información y
conocer las solicitudes de cambio a la mayor brevedad.
b. El Team se encarga de hacer la demostración del incremento terminado
durante el sprint.
c. El Team, principalmente, responderá a cuestiones relacionadas con el
incremento. La normal es que la mayoría de las preguntas sean
técnicas.
d. El Product Owner comenta sobre el estado del Product Backlog.
e. Se realiza una revisión del proyecto y sobre qué es lo siguiente que se
hará. En base a esto, el Product Owner se encarga de reorganizar el
Product Backlog en caso de que surgiera feedback por parte del cliente.
f. Se hace una revisión sobre tiempos, presupuesto y alcance del
proyecto para futuros sprints
Recomendaciones:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
Nota
Recomendaciones:
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM
RESUMEN
En Scrum, los proyectos se ejecutan en ciclos temporales cortos y de duración fija que
normalmente son de entre 2 y 4 semanas. Son ciclos iterativos e incrementales
llamados sprints. Cada iteración o sprint tiene que proporcionar un resultado completo,
un incremento de producto final que sea susceptible de ser entregado al cliente.
Una de las claves del éxito de Scrum es el concepto de timeboxing. Tanto las
iteraciones como las reuniones de Scrum tienen una duración máxima que favorece la
regularidad, la disciplina, el foco y la concentración del equipo, centrándose en lo que
genera valor al negocio.
IFCD048PO METODOLOGÍA DE GESTIÓN Y DESARROLLO DE PROYECTOS DE SOFTWARE CON SCRUM