La Metodología Scrum o Scrum Methodology

La metodología Scrum o Scrum Methodology es el más conocido de los frameworks Ágiles que hay en la actualidad. Es la fuente de gran parte del pensamiento que se encuentra detrás de los principios y valores del Manifiesto Ágil, que a su vez forma una base común a todos estos enfoques. Ver el Manifiesto Ágil para más información.

Principios de Scrum

Valores de Scrum

Para trabajar en Scrum se necesita una base firme de valores que sirvan como fundamento para el proceso y los principios del equipo. A través del uso del trabajo en equipo y la mejora continua, Scrum tanto crea como depende de estos valores. Éstos son Foco, Coraje, Apertura, Compromiso y Respeto.

  • Foco. Porque nos enfocamos en sólo unas pocas cosas a la vez, trabajamos bien juntos y producimos un resultado excelente. De este modo logramos entregar ítems valiosos antes.
  • Coraje. Porque no estamos solos, nos sentimos apoyados y tenemos más recursos a nuestra disposición. Esto nos da el coraje para enfrentar desafíos más grandes.
  • Apertura. Durante el trabajo en conjunto expresamos cotidianamente cómo nos va y qué problemas encontramos. Aprendemos que es bueno manifestar las preocupaciones, para que éstas puedan ser tomadas en cuenta.
  • Compromiso. Porque tenemos gran control sobre nuestro destino, nos comprometemos más al éxito.
  • Respeto. A medida que trabajamos juntos, compartiendo éxitos y fracasos, llegamos a respetarnos los unos a los otros, y a ayudarnos mutuamente a convertirnos en merecedores de respeto.

Si una organización permite a Scrum hacer su trabajo, descubrirá sus beneficios y comenzará a comprender por qué estos valores son tanto requeridos como generados por Scrum.

El framework Scrum

metodologia scrum

Scrum es un framework pensado para construir productos: todo comienza cuando tenemos stakeholders que necesitan uno.

TE PUEDE INTERESAR: Metodología SCRUM

Scrum es un proceso de equipo. El Equipo Scrum incluye tres roles: el Product Owner, el ScrumMaster y los miembros del Equipo de Desarrollo. El Product Owner tiene la responsabilidad de decidir qué trabajo deberá ser realizado. El ScrumMaster actúa como líder servicial, ayudando al equipo y a la organización a hacer el mejor uso de Scrum. El Equipo de Desarrollo construye el producto en forma incremental, en una serie de períodos cortos de tiempo llamados Sprints. Un Sprint es un período fijo de tiempo, de una a cuatro semanas, con una preferencia hacia los intervalos más cortos. En cada Sprint el Equipo Scrum construirá y entregará un Incremento de Producto. Cada incremento es un subconjunto reconocible, operativo y visiblemente mejorado del producto, que alcanza criterios de aceptación claros y está construído con un nivel de calidad llamado Definición de Hecho (Definition of Done).

Scrum incluye tres artefactos esenciales: el Product Backlog, el Sprint Backlog y el Incremento de Producto. El Product Backlog es la lista ordenada de ideas para el producto, mantenida en el orden en que esperamos construirlas. El Sprint Backlog es el plan detallado para ser desarrollado en el próximo Sprint. El Incremento de Producto es un resultado requerido de cada Sprint. Es una versión integrada del producto, mantenida en un nivel de calidad lo suficientemente alto como para poder ser lanzado si así lo decidiera el Product Owner. Adicionalmente a estos artefactos, Scrum requiere transparencia dentro del equipo y para con las partes interesadas. Por lo tanto, el Equipo Scrum produce muestras visibles de planes y avances.

Scrum incluye cinco Actividades o reuniones. Estas son: el Refinamiento del Product Backlog, la Planificación del Sprint, el Scrum Diario, la Revisión del Sprint y la Retrospectiva del Sprint.

Describiremos los roles, artefactos, actividades y el flujo del ciclo de Scrum a continuación.

Roles de Scrum

Los roles que existen en scrum son tres. Product Owner, Equipo de desarrollo y Scrum Master. La manera en que confluyen dichos roles dentro de la consecución del producto se muestra en esta gráfica.

roles en scrum

El rol Product Owner

El Product Owner es la única persona responsable de delinear el producto más valioso posible para la fecha deseada. Esto se logra gestionando el flujo de trabajo hacia el equipo, que a su vez se lleva a cabo seleccionando y refinando ítems del Product Backlog.

El Product Owner mantiene el Product Backlog y asegura que todos sepan qué hay en él y cuáles son las prioridades. El Product Owner puede ser ayudado por otros individuos pero el rol debe ser ocupado por una única persona.

Ciertamente, el Product Owner no es responsable de todo. El Equipo Scrum completo es responsable de ser lo más productivo posible, de mejorar sus prácticas, de hacer las preguntas correctas, de ayudar al Product Owner, etc. El Equipo de Desarrollo es responsable de determinar cuánto trabajo puede ser tomado en un Sprint, y de producir un Incremento de Producto al finalizar el mismo.

De todas formas, el Product Owner, en Scrum, se encuentra en una posición única. Suele ser la persona más cercana al “costado del negocio” de todo el proyecto. Es típicamente el encargado de “sacar el producto” y quien se espera hará el mejor trabajo posible en cuanto a satisfacer a todas las partes interesadas. El Product Owner lleva adelante esta tarea mediante la gestión del Product Backlog y asegurándose que el Product Backlog y el avance contra éste se mantengan visibles.

El Product Owner, al decidir sobre qué debe hacer y qué posponer el Equipo de Desarrollo, toma las decisiones de alcance versus fechas que llevan al mejor producto posible.

ProductOwner

El rol Miembro del Equipo de Desarrollo

El Equipo de Desarrollo está compuesto por los profesionales que hacen el trabajo necesario para poder entregar el Incremento de Producto. Se auto-¬organizan para realizar su trabajo. Se espera que los miembros del Equipo de Desarrollo estén disponibles tiempo completo para el proyecto.

Scrum requiere que el Equipo de Desarrollo esté conformado por un grupo interdisciplinario de personas que, entre todos, reúnan las habilidades necesarias para entregar cada incremento del producto.

Los miembros del Equipo de Desarrollo tienen la responsabilidad de auto-¬organizarse para lograr el objetivo del Sprint, produciendo cada nuevo Incremento de Producto siguiendo el Plan del Sprint.

El Product Owner crea una lista ordenada de lo que hay que hacer. Los miembros del Equipo de Desarrollo hacen un pronóstico de cuánto pueden realizar en un Sprint y deciden cómo lo van a llevar a cabo.

El rol Scrum Master

El Scrum Master es un “líder servicial”, que ayuda al resto del equipo Scrum a seguir su proceso. Debe tener una buena comprensión de Scrum y la habilidad de capacitar a otros en sus sutilezas.

El Scrum Master trabaja junto al Product Owner para que éste logre crear y mantener el Product Backlog. Trabaja junto al Equipo de Desarrollo para encontrar e implementar las prácticas técnicas que les permitirán tener un Incremento de Producto ‘Hecho’ al final de cada Sprint. Trabaja con el Equipo Scrum completo para evolucionar la Definición de Hecho.

El Scrum Master también es responsable de velar por la remoción de los impedimentos al avance del equipo. Estos impedimentos pueden ser externos al equipo, como por ejemplo la falta de apoyo de otro equipo, o internos, como ser que el Product Owner no sepa preparar el Product Backlog de forma adecuada. El Scrum Master fomenta la auto-¬organización. Los problemas deben ser resueltos por el equipo siempre que sea posible.

El Scrum Master actúa como coach para el Equipo Scrum, ayudando a sus miembros a ejecutar el proceso Scrum. Los ayuda a trabajar juntos y a aprender el framework Scrum, al tiempo que los protege de distracciones tanto internas como externas. Puede facilitar reuniones y ayuda a mantener al Equipo Scrum en el buen camino, productivo y creciendo en sus capacidades.

El Scrum Master es responsable de asegurar que Scrum sea comprendido e implementado, tanto dentro como fuera del equipo. Ayuda a personas fuera del equipo a entender el proceso y a comprender qué interacciones con el equipo son valiosas y cuáles no. El Scrum Master ayuda a todos a mejorar para que el Equipo Scrum sea más productivo y valioso.

ScrumMaster

Product Backlog – Artefacto

El Product Backlog es un artefacto esencial en Scrum. Es una lista ordenada de ideas para el producto, mantenida en el orden en que esperamos llevarlas a cabo. Es la única fuente posible de requerimientos. Esto significa que todo el trabajo que realiza el Equipo de Desarrollo proviene del Product Backlog. Toda idea de funcionalidad, mejora, bug fix, requerimiento de documentación -¬todas y cada una de las tareas que llevan a cabo-¬se deriva de un ítem de Product Backlog. Cada ítem en el Product Backlog incluye una descripción y una estimación.

El Product Backlog puede comenzar como una lista extensa o breve. Puede estar descrito de forma detallada o muy vaga. Típicamente empieza siendo breve e impreciso y se va convirtiendo en más extenso y concreto con el correr del tiempo. Aquellos ítems del Product Backlog que estén programados para ser implementados en breve serán “refinados”: es decir clarificados, definidos en mayor detalle, divididos en fracciones más pequeñas, como parte de la actividad de Refinamiento del Product Backlog.

El Product Owner es responsable de mantener el Product Backlog, aunque puede -¬y debería-¬recibir ayuda para construirlo y mantenerlo actualizado. Los ítems del Product Backlog pueden surgir del Product Owner, los miembros del Equipo de Desarrollo o incluso de otras partes interesadas.

RECORDATORIO :: ROLES

Product Owner
Scrum Master
Equipo de desarrollo

Refinamiento del Product Backlog – Actividad

Como los Ítems del Product Backlog a menudo son grandes y generales al momento de nacer, y dado que las ideas vienen y van y las prioridades cambian, el Refinamiento de Product Backlog es una actividad constante a lo largo de un proyecto Scrum. Esta actividad incluye pero no se limita a:

  • mantener el Product Backlog ordenado;;
  • eliminar o degradar ítems que ya no sean importantes;;
  • agregar o promover ítems que surgen o se vuelven importantes;;
  • dividir ítems en ítems más pequeños;;
  • unir ítems en ítems más grandes;;
  • estimar ítems.

Un beneficio clave del Refinamiento de Product Backlog es la preparación de los Sprints subsiguientes. Es por ello que esta actividad presta especial atención a la preparación de ítems que deben ser implementados en breve. Hay muchos elementos a considerar al llevarla a cabo, incluyendo pero no limitado a:

  • Cada ítem que ingresa al Sprint debería idealmente representar un incremento de “valor de negocio”.
  • El Equipo de Desarrollo debe poder construir cada ítem dentro de un único Sprint.
  • Debe ser claro para todos qué se pretende.

Dependiendo de la naturaleza del producto, pueden ser necesarias otras habilidades y aportes. Sea cual sea el caso, siempre es preferible considerar al Refinamiento de Product Backlog una actividad para todos los miembros del equipo, no solo para el Product Owner.

Planificación del Sprint – Actividad

Cada Sprint comienza con una actividad acotada en el tiempo (time-¬boxed) llamada Planificación del Sprint. En esta reunión el Equipo Scrum colabora para seleccionar y comprender el trabajo que será realizado en el Sprint que está por comenzar.

El equipo completo participa de la reunión de Planificación del Sprint. Trabajando a partir del Product Backlog ordenado, el Product Owner y los Miembros del Equipo de Desarrollo discuten cada ítem y llegan a un acuerdo compartido respecto al mismo y al trabajo necesario para completarlo en forma consistente con la Definición de Hecho actual.

Todas las reuniones de Scrum son acotadas en el tiempo. La duración recomendada para la Planificación del Sprint es de dos horas o menos por cada semana de duración del Sprint. Debido a que la reunión está acotada en el tiempo, el éxito de la Planificación del Sprint es altamente dependiente de la calidad del Product Backlog utilizado. Es por esto que el Refinamiento del Product Backlog es una actividad importante en Scrum.

En Scrum, la Planificación del Sprint se describe como compuesta de dos partes:

TE PUEDE INTERESAR: Qué es Cloud Computing
  1. Determinar qué trabajo será realizado en el Sprint.
  2. Determinar cómo realizará el trabajo.

1.- Determinar qué trabajo será realizado en el Sprint

En la primera parte de la reunión, el Product Owner presenta en orden ítems del Product Backlog al Equipo de Desarrollo, y el Equipo Scrum completo colabora para comprender el trabajo a realizar.

El número de ítems del Product Backlog que será tomado en un Sprint depende exclusivamente del Equipo de Desarrollo. Para decidir cuántos ítems tomar, el Equipo de Desarrollo considera el estado actual del Incremento de Producto, la performance del equipo en el pasado, la capacidad actual del equipo y el Product Backlog ordenado. El Equipo de Desarrollo por sí solo decide cuánto trabajo tomar. Ni el Product

Owner, ni ninguna otra parte interesada, pueden solicitarle más trabajo al Equipo de Desarrollo.

A menudo, aunque no siempre, se le da un objetivo al Sprint, llamado Objetivo del Sprint. Ésta es una práctica muy poderosa que ayuda a todos a enfocarse en la esencia de lo que debe ser realizado, minimizando la importancia de detalles que pueden no ser importantes para lo que realmente queremos lograr.

2.- Determinar cómo realizará el trabajo

En la segunda parte de la reunión, el Equipo de Desarrollo colabora para decidir cómo producir el próximo Incremento de Producto de acuerdo con la Definición de Hecho actual. Sus miembros realizan el diseño y planificación mínimo suficiente como para poder confiar en que se podrá completar el trabajo durante el Sprint. El trabajo a realizarse los primeros días se divide en pequeñas unidades de un día o menos. El trabajo a realizarse más adelante puede dejarse en unidades más grandes, a ser descompuesto luego.

Decidir cómo hacer el trabajo es responsabilidad del Equipo de Desarrollo, así como decidir qué hay que hacer es responsabilidad del Product Owner.

El Product Owner puede quedarse en esta parte de la reunión para responder preguntas y resolver malentendidos. Sea cual fuere el modo, estas respuestas deberán estar fácilmente disponibles.

Resultado de la Planificación del Sprint

La Planificación del Sprint concluye cuando el Equipo Scrum llega a un acuerdo común respecto a la cantidad y complejidad de lo que se planea realizar durante el Sprint y -¬dentro de un rango de circunstancias razonables-¬espera poder completarlo. El Equipo de Desarrollo pronostica la cantidad de trabajo que completará y se compromete a realizarlo.

Resumiendo: en la Planificación del Sprint, el Equipo de Desarrollo

  • considera y discute ítems del Product Backlog con el Product Owner;;
  • se asegura de haberlos comprendido;;
  • selecciona un número de ítems que pronostica podrá realizar;;
  • y crea un plan suficientemente detallado como para asegurarse que podrá realizarlo.

La lista resultante de cosas por hacer es lo que se  llama Sprint Backlog.

RECORDATORIO :: ACTIVIDADES

Revisión del Sprint
Retrospectiva del Sprint
Refinamiento del Product Backlog
Planificación del Sprint
Scrum Diario

Sprint Backlog – Artefacto

El Sprint Backlog es la lista de ítems del Product Backlog refinados que han sido elegidos para ser desarrollados en el Sprint actual, junto al plan del equipo para poder realizar el trabajo. Refleja el pronóstico de qué trabajo puede ser completado.

Generado el Sprint Backlog, comienza el Sprint y el Equipo de Desarrollo desarrolla el nuevo Incremento de Producto definido por el Sprint Backlog.

Desarrollo

Durante el Sprint, el Equipo de Desarrollo se auto-¬organiza para producir un Incremento de Producto en concordancia con el Sprint Backlog, según fue determinado durante la Planificación del Sprint.

Auto-¬organización significa que el Equipo de Desarrollo produce el Incremento de Producto de forma responsable, siguiendo los estándares de la organización, de acuerdo con la Definición de Hecho y decide cómo proceder al respecto.

Incremento de Producto – Artefacto

El artefacto más importante en Scrum es el Incremento de Producto. Cada Sprint produce un Incremento de Producto. Éste debe ser de calidad lo suficientemente alta como para ser entregado a usuarios finales. El Incremento de Producto debe cumplir con la Definición de Hecho actual del Equipo Scrum y cada parte del mismo debe ser aceptable para el Product Owner.

Indicadores adicionales de avance visible

Scrum requiere transparencia dentro y fuera del equipo. Así como el Incremento de Producto es la forma más poderosa de crear transparencia, el Equipo Scrum creará cualquier otro artefacto que necesite para asegurarse que el estado del proyecto sea transmitido de forma eficaz. Los burn charts y task boards son algunos de los más populares.

Definición de Hecho (Definition of Done) – Acuerdo

Cuando se entrega el Incremento de Producto, éste tiene que estar “hecho” de acuerdo a una visión compartida de qué significa “hecho”. Esta definición es diferente para cada Equipo Scrum y, a medida que el equipo madura, la Definición de Hecho se irá expandiendo y se volverá más exigente.

Ésta siempre debe incluir la noción de que el Incremento de Producto es de calidad suficiente como para ser lanzado: el Product Owner podría elegir lanzarlo en forma inmediata.

El Incremento de Producto contiene toda la funcionalidad de Incrementos de Producto anteriores y está plenamente verificado de manera que todos los Ítems del Product Backlog completados continúan funcionando en forma conjunta.

Scrum Diario – Actividad

El Equipo de Desarrollo se auto-¬organiza. El mismo emplea el Scrum Diario para asegurarse que todo marcha “viento en popa” para lograr el Objetivo del Sprint. La reunión tiene lugar a la misma hora y en el mismo lugar todos los días. Cada Miembro del Equipo de Desarrollo cuenta tres cosas:

  • Qué he logrado desde el último Scrum Diario;
  • Qué pienso lograr entre este momento y el próximo Scrum Diario;
  • Qué está impidiendo mi avance.

Puede haber breves preguntas y respuestas aclaratorias, pero no hay una discusión de ninguno de estos asuntos durante el Scrum Diario. Sin embargo, muchos equipos se reúnen inmediatamente luego del Scrum Diario para trabajar sobre cualquier asunto que haya surgido de esta reunión.

El Scrum Diario no es un reporte a la gerencia, ni al Product Owner, ni al ScrumMaster. Es una reunión de comunicación dentro del Equipo de Desarrollo, para asegurarse de estar todos en la misma sintonía. Solo los miembros del Equipo Scrum, incluyendo ScrumMaster y Product Owner, hablan durante esta reunión. Otras partes interesadas pueden asistir y escuchar. A partir de lo surgido durante esta reunión, el Equipo de Desarrollo se reorganizará, si es necesario, a fin de lograr el Objetivo del Sprint.

El Scrum Diario es un elemento clave de Scrum, que lleva a obtener transparencia, confianza y una mejor performance. Permite el reconocimiento rápido de problemas y promueve la auto-¬organización y que el equipo aprenda a depender sólo de sí mismo. Las reuniones de Scrum siempre las acotamos en el tiempo. La duración máxima recomendada para el Scrum Diario es de quince minutos.

RECORDATORIO :: ARTEFACTOS

Sprint Backlog
Incremento de Producto
Product Backlog

Revisión del Sprint – Actividad

Al final de cada Sprint, el Equipo Scrum y las partes interesadas revisan el resultado del Sprint. Todas las reuniones de Scrum las debemos acotar en el tiempo. La duración máxima recomendada para la Revisión del Sprint es una hora por cada semana de duración del Sprint.

El punto central de discusión es el Incremento de Producto completado durante el Sprint. Dado que las partes interesadas son quienes tienen un interés en los resultados, en general es sensato y conveniente que acudan a esta reunión. Ésta es una reunión informal para echarle una mirada a dónde estamos y para colaborar en cómo podemos seguir avanzando. Todos pueden contribuir en la Revisión del Sprint. Naturalmente, el Product Owner realiza las decisiones finales respecto al futuro, actualizando el Product Backlog según sea apropiado.

Los equipos encuentran sus propias formas de realizar la Revisión del Sprint. Es usual una demostración del Incremento de Producto. El grupo a menudo discute lo que observó durante el Sprint y qué ideas de producto le vinieron a la mente. Se discute el estado del Product Backlog y hablan acerca de posibles fechas de finalización y qué puede llegar a ser hecho para esas fechas.

La Revisión del Sprint brinda a todos los presentes una vista panorámica del Incremento de Producto. Bajo esta perspectiva, es común actualizar el Product Backlog como parte de la Revisión del Sprint.

Retrospectiva del Sprint – Actividad

Al final de cada Sprint, el Equipo Scrum se reúne para la Retrospectiva del Sprint. El propósito es revisar cómo fueron las cosas respecto al proceso, la relación entre las personas y las herramientas utilizadas. El equipo identifica qué salió bien y qué no tan bien, e identifica potenciales mejoras. Luego diseña un plan para mejorar las cosas a futuro. Todas las reuniones en Scrum están acotadas por tiempo. La duración recomendada de la Retrospectiva del Sprint es una hora por cada semana de duración del Sprint.

El Equipo Scrum mejora su proceso propio, siempre permaneciendo dentro del framework Scrum.

Ciclo de vida scrum – Enjuagar y repetir

El ciclo de Scrum se repite desde aquí, para cada Sprint.

Para resumir:

 los miembros del Equipo Scrum (el Product Owner, el Equipo de Desarrollo y el Scrum Master) colaboran para crear una serie de Incrementos de Producto durante intervalos cortos acotados en el tiempo llamados Sprints.

Cada incremento satisface el criterio de aceptación del Product Owner y la “Definición de Hecho” compartida por el equipo. Todos trabajan a partir de un Backlog de Producto. En cada Sprint, comienzan por una Planificación del Sprint para producir un Backlog del Sprint, es decir un plan para el Sprint. Se auto-¬organizan para realizar el Desarrollo, mediante reuniones Diarias de Scrum para coordinar y asegurarse de estar produciendo el mejor Incremento de Producto posible. Realizan

un Refinamiento del Backlog para prepararse para la reunión de planificación del próximo Sprint. Terminan el Sprint con una Revisión del Sprint y una Retrospectiva del Sprint, revisando el producto y su proceso.

Si te ha gustado mi post sobre metodología Scrum o Scrum metodology, por favor, votalo:

La Metodología Scrum o Scrum Methodology
4.8 (96.67%) 6 votes

2 Comments

  • Isma

    Gracias, Muy buen aporte. Solo una cuestión, ¿ como encajaría scrum con devops?

    Reply
    • David

      Encaja perfectamente!! Como sabes Scrum es una metodología y Devops es una, como dice la Wikipedia “una práctica de ingeniería de software que tiene como objetivo unificar el desarrollo de software (Dev) y la operación del software (Ops)”. Y como tiene que unir Desarrollo con operaciones, y es ahí en desarrollo, donde debería entrar.
      Un saludo

      Reply

Leave a Reply