48

¿Cómo funciona la metodología Scrum? Qué es y sus 5 fases

98Puntos

hace 9 años

Cuando nos encargan un proyecto, por lo general, los clientes quieren que lo entreguemos ya mismo y con una calidad impecable. También es común que nos soliciten aplicaciones cada vez más complejas, tanto en su desarrollo como en su análisis. El resultado, por lo general, es que no se lleguen a cumplir las exigencias de los clientes. Para solucionar este tipo de problemas, existe Scrum o metodología Scrum.

En este post encontrarás en qué consiste esta metodología ágil y cómo puedes empezar a aplicarla en el desarrollo de tus proyectos.

¿Qué es Scrum?

Scrum es un framework que permite trabajar en una serie de interacciones en equipo. Las fases que definen y en las que se divide un proceso de SCRUM son las siguientes:

  1. El quién y el qué: identifica los roles de cada uno de los miembros del equipo y define su responsabilidad en el proyecto.
  2. El dónde y el cuándo: que representan el Sprint.
  3. El por qué y el cómo: representan las herramientas que utilizan los miembros de Scrum.

Antes de ahondar en cómo funciona Scrum, vamos a definir el modelo de trabajo actual y más común entre desarrolladores:

El Modelo en Cascada

https://static.platzi.com/blog/uploads/2015/07/scrum1.jpg

Una vieja tradición en el desarrollo de software es utilizar secuencias para cada una de las etapas en las que se dividen los proyectos. Estas varían dependiendo del cliente y del equipo de desarrollo, pero, para efectos de este ejemplo, usaremos tres: diseño, desarrollo y pruebas.

Al conjunto de esta serie de pasos secuenciales se le conoce como Modelo en Cascada, y recibe este nombre porque, tal como el agua, fluye hacia abajo: tiene un flujo irreversible de trabajo que se caracteriza por un desarrollo etapa por etapa, hasta finalizar cada una de ellas.

https://static.platzi.com/blog/uploads/2015/07/scrum2.jpg

Estas son desarrolladas por un grupo de especialistas en el área o departamento, sin embargo, este modelo no suele ser muy efectivo. Estos son algunas de sus complicaciones:

  • Cada departamento interpreta los requerimientos a su manera a tal grado que, al final del proyecto, no se cumple con las necesidades del cliente y se pierde tiempo en análisis, diseño y desarrollo.
  • Existe poca o nula comunicación entre departamentos. En consecuencia, existen muchas incongruencias en cada una de las etapas de los proyectos.
  • Debido a la forma en la que se lleva el proceso de desarrollo, este modelo no está preparado para hacer cambios de último momento. Por este motivo se crean atrasos y se requieren ajustes. Este problema podría ser el más importante y difícil de resolver.

Cómo funciona Scrum: metodología para trabajar mejor en equipos

1. Roles en Scrum: quién y qué

https://static.platzi.com/blog/uploads/2015/07/scrum3.jpg

El equipo de Scrum consiste en tres diferentes roles:

  • El Product Owner/Dueño del producto es la “voz del cliente” y el responsable de desarrollar, mantener y priorizar las tareas en el backlog.
  • El Scrum Master es responsable de asegurarse que el trabajo del equipo vaya bien siguiendo las bases de Scrum. Además, se encarga de remover cualquier obstáculo que pueda encontrar el equipo de desarrollo.
  • Los Development Team Members/Miembros del Equipo de desarrollo son los encargados de escribir y probar el código.

Conoce más en: los roles más importantes de Scrum

2. El Sprint: dónde y cuándo

https://static.platzi.com/blog/uploads/2015/07/scrum4.jpg

El Sprint es la unidad básica de trabajo para un equipo Scrum. Esta es la característica principal marca la diferencia entre Scrum y otros modelos para el desarrollo ágil. Es una simple iteración llevada a cabo por los miembros del equipo. Un equipo puede completar varios sprints durante el desarrollo del proyecto.

Un Sprint inicia con un equipo que se compromete a realizar el trabajo y finaliza con la demostración de un entregable. El tiempo mínimo para un Sprint es de una semana y el máximo es de 4 semanas. Dentro del desarrollo de un Sprint se llevan a cabo ciertos eventos, estos reciben el nombre de Scrum Events o Eventos Scrum.

3. Herramientas Scrum: por qué y cómo

Para poder definir las respuestas a estas preguntas nos valemos de ciertas herramientas que Scrum nos provee. Estas son:

Backlog de Producto/Product Backlog

Esto puede referirse a todo elemento que sea parte del proyecto: puede ser un bug, una referencia o parte de un requerimiento. Brindan información muy general del proyecto y muchas veces no son tomados como requerimientos oficiales.

Historias de Usuario/User Stories

Es un elemento especial del product Backlog. Se llaman historias porque en ellas se proporciona información sobre cómo debe ser el comportamiento del requerimiento que se está trabajando. Su función es proporcionar información directa del cliente en caso de existir algún cambio. Generalmente estos sí son tomados como requerimientos oficiales.

Backlog del Sprint/Sprint Backlog

Es el conjunto de elementos tomados del Product Backlog que fueron priorizados, medidos y aceptados en las reuniones de Sprint Planning. Estos, en conjunto con sus respectivos User Stories, forman oficialmente los requerimientos a elaborar en cada uno de los Sprints que tendrá el proyecto.

El panel de Tareas/The Taskboard

Este panel muestra las tareas que tienen asignadas los miembros del equipo. Esta tabla se divide en tres columnas que representan el estado de la actividad:

a. Por hacer.
b. Haciendo.
c. Terminado.

Al inicio del Sprint todas están en la primer columna. Cuando una tarea pasa a la segunda columna, el Scrum Master y el Product Owner son notificados respecto a qué está haciendo cada miembro del equipo y cuánto tiempo lleva trabajando en dicha tarea. Al finalizarla, esta debe cambiarse a la última columna. Esto quiere decir que está listo para que QA haga las pruebas necesarias.

Definición de “Listo”/Definition of Done

Todo equipo eficaz y ágil tiene ciertos acuerdos que deben cumplirse antes de dar por finalizado un proyecto. Estos son:

  • Todas las tareas están completas.
  • Revisión de Código / Code Reviewed.
  • Pruebas realizadas a cada elemento desarrollado.
  • Revisión por parte de los clientes (que cumpla sus necesidades).
  • La revisión de las condiciones de Aceptación por parte del Product Owner.

Estas herramientas son útiles, no sólo durante un Sprint, sino también a lo largo del proyecto, pues ayudan al equipo a entender el porqué de cada actividad. Además, son visibles para el equipo y para los externos.

Fases de Scrum: los eventos que componen la metodología Scrum

Anteriormente, te conté sobre los eventos de Scrum. En esta sección vamos a profundizar en cada una de las fases para que tengas claro cómo funcionan las etapas de Scrum.

1. Planeación del Sprint/Sprint Planning

Todos los involucrados en el equipo se reúnen para planificar el Sprint. Durante este evento se decide qué requerimientos o tareas se le asignará a cada uno de los elementos del equipo. Cada integrante deberá asignar el tiempo que crea prudente para llevar a cabo sus requerimientos. De esta manera se define el tiempo de duración del Sprint.

2. Reunión de equipo de Scrum/Scrum team meeting

A estas reuniones se les deberían dedicar máximo 15 minutos diarios, y deberían ser siempre en el mismo horario y lugar. En ellas, cada miembro del equipo deberá responder tres simples preguntas:

  • ¿Qué hiciste ayer?
  • ¿Qué tienes planeado hacer hoy?
  • ¿Qué obstáculos encontraste en el camino?

Estas reuniones sirven para que todos los miembros del equipo se apoyen entre ellos. Si alguno de ellos tiene algún inconveniente que obligue a extender el encuentro, este debe tratarse más a fondo en una reunión enfocada en buscar la mejor solución para ello.

3. Refinamiento del Backlog/Backlog Refinement

El Product Owner revisa cada uno de los elementos dentro del Product Backlog con el fin de esclarecer cualquier duda que pueda surgir por parte del equipo de desarrolladores. También sirve para volver a estimar el tiempo y esfuerzo dedicado a cada uno de los requerimientos.

4. Revisión del Sprint/Sprint Review

Los miembros del equipo y los clientes se reúnen para mostrar el trabajo de desarrollo de software que se ha completado. Se hace una demostración de todos los requerimientos finalizados dentro del Sprint. En este punto no es necesario que todos los miembros del equipo hablen, pueden simplemente estar presentes, pero la presentación está a cargo del Scrum Master y el Product Owner.

5. Retrospectiva del Sprint/Retrospective

En este evento el Product Owner se reúne con todo su equipo de trabajo y su Scrum Master para hablar sobre lo ocurrido durante el Sprint. Los puntos principales a tratar en esta reunión son:

  • Qué se hizo mal durante el Sprint para poder mejorar el próximo.
  • Qué se hizo bien para seguir en la misma senda del éxito.
  • Qué inconvenientes se encontraron y no permitieron poder avanzar como se tenía planificado.

Aprovecha los beneficios de Scrum

En resumen, Scrum es una metodología aplicable a cualquier tipo de proyecto y, aunque su ejecución requiere de un cambio de cultura laboral por parte de los miembros del equipo, los buenos resultados, el recorte de tiempo y de costos que se genera hacen que todo el sacrificio valga la pena.

Si quieres saber más acerca de cómo empezar a implementar esta metodología en tus proyectos, entra al Curso de Scrum y no te pierdas ningún detalle.

walter.lara.37
walter.lara.37
Escribe tu comentario
+ 2
Ordenar por:
1
4977Puntos

Interesante post

1
1688Puntos

En el curso de Trabajo remoto recomendaron este post, y sí, ha sido complementario, ahora comprendo la importancia de leer los post de platzi

1
42453Puntos

Esta metodologia funciona para cualquier desarrollo de software, mas que nada para proyectos MUY grandes?