• 4 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 2/6/20

Gestionar un proyecto de desarrollo con Scrum

Log in or subscribe for free to enjoy all this course has to offer!

 

Scrum es uno de las metodologías Ágiles más utilizadas hoy en día. Su nombre significa melé, que es una jugada de rugby en la que dos equipos, agachados y agarrados, se empujan para hacerse con el balón, que está en medio de ellos, y pasárselo a otro jugador.

Melé de rugby
Melé de rugby

El nombre representa la forma en la que se quiere trabajar en equipo a través de esta metodología. Se pretende que el equipo trabaje como una unidad para alcanzar el objetivo.

Qué es Scrum

Scrum es una metodología ágil de desarrollo iterativa y de pequeños incrementos. El proyecto se ejecuta en partes pequeñas conocidas como iteracionesesprints, que son periodos de tiempo cortos, de una a cuatro semanas. En cada iteración el equipo trabaja en todas las fases: planeamiento, análisis, diseño, programación y pruebas. Al final de la iteración se muestra al cliente el producto con las nuevas funcionalidades.

Roles en Scrum

En la metodología Scrum hay tres roles principales que representan al equipo: el dueño del producto (product owner), el scrum master y el equipo de desarrollo scrum.

El dueño del producto (product owner)

El dueño del producto representa al cliente y a los usuarios del software, solicitando que se desarrollen las características que el cliente necesite. El dueño del producto escribe las historias de usuario, las prioriza, y las sitúa en la lista de tareas (backlog).

La comunicación es una de las cualidades fundamentales de todo dueño de producto. Es necesario que tenga buenas dotes de comunicación y se ponga en el lugar del equipo y del cliente, para entender los problemas y necesidades de ambas partes. Debe guiar al equipo en la dirección que satisfaga las necesidades del cliente y, a su vez, hace de representante del equipo de cara al cliente.

El scrum master

El scrum master es el facilitador, que se encarga de retirar los obstáculos que el equipo pueda encontrar en el camino. El scrum master no es el líder del equipo ni el jefe de proyecto, sino que tiene el papel de eliminar los impedimentos que el grupo encuentra a lo largo del proyecto, facilitando su trabajo. El scrum master se asegura también de que la metodología se aplique correctamente.

Una situación que puede servir de ejemplo es el de organizar bien el tiempo de las reuniones. Si el equipo realiza reuniones demasiado largas, el scrum master se encargará de limitar el tiempo, y de asegurarse de que se traten sólo los temas oportunos.

Otro ejemplo puede ser en el caso de que una nueva tecnología de desarrollo se aplique a un proyecto. Los miembros no están completamente familiarizados y les está tomando un poco más de tiempo de lo pensado. El scrum master puede reunir información sobre los mejores libros o videos que ayuden al equipo a dominar esta nueva tecnología.

El equipo de desarrollo scrum

El equipo de desarrollo es el responsable de entregar las nuevas funcionalidades al final de cada esprint. El conjunto de miembros del equipo posee todas las habilidades necesarias para desarrollar estos avances del software.

El proceso de trabajo Scrum

Todos los esprint comienzan con la planificación de la iteración, que define la lista de tareas (backlog) para esa iteración, y se estima la cantidad de trabajo para ese esprint. Cada día del esprint se realizan reuniones cortas llamadas "stand-up meeting". La iteración termina con una revisión del esprint, en la que se verifica el progreso realizado para mostrar el resultado al cliente, y se identifican posibles mejoras para futuros esprints. Una vez terminado, se comienza un nuevo esprint en el que se implementarán nuevas funcionalidades. Veamos en detalle cada una de estas fases.

1. Planificación del Sprint 

Al comienzo de un esprint se mantiene una reunión de equipo que durará como máximo una hora por cada semana de duración del esprint, fijándose un límite máximo de ocho horas.

El cliente presenta al resto del equipo la lista de requisitos y la prioridad de cada elemento de la lista. Se prepara la lista de tareas o requisitos del esprint y se analiza, con todo el equipo, el tiempo y el esfuerzo que llevará hacer cada funcionalidad elegida.

Una vez que el equipo ha preparado la lista de tareas del esprint, se estima y se vota qué tareas serán entregadas al final del esprint. El equipo de desarrollo se asegura de entender bien todos los detalles de cada uno de los requisitos. Algunas tareas pueden devolverse a la lista de tareas pendientes si se cree que no pueden completarse en ese esprint.

2. Desarrollo de la iteración    

Todos los días del esprint, el equipo de desarrollo se reúne para ponerse al día de cómo va el trabajo de los demás compañeros. Se trata de una reunión corta, de unos 15 minutos, y se suele hacer de pie (stand up significa ponerse de pie).

La reunión se realiza todos los días a la misma hora y las intervenciones deben ser cortas, y responder a estas tres preguntas:

  • ¿Qué hice ayer?

  • ¿En qué tengo pensado trabajar hoy?

  • ¿Qué impedimentos he encontrado o creo que puedo encontrar?

El scrum master se encargará de eliminar los impedimentos identificados, o se pondrá de acuerdo con una persona que trabaje para solventar estos problemas.

3. Revisión y retrospectiva del Sprint

Al final del esprint se llevan a cabo dos actividades: la revisión y la retrospectiva del esprint.

Durante la revisión, el equipo revisa el trabajo que se ha desarrollado y presenta el resultado al cliente. En función de la opinión del cliente, éste puede solicitar realizar algunos cambios al proyecto.

En la retrospectiva, el equipo analiza cómo ha sido su manera de trabajar e identifica acciones de mejora para futuros esprints. Esta actividad será guiada por el scrum master.

La lista de tareas (backlog)

La lista de tareas es el conjunto de todos los requisitos que debe cumplir el proyecto. El dueño del producto prioriza las tareas en base al tamaño, la urgencia, el valor que aportan, etc.

Los elementos añadidos a la lista de tareas pendientes (backlog), se suelen escribir en forma de historias de usuario. Todo el equipo tiene acceso a la lista de tareas, pero las historias que contiene no deben cambiarse sin la autorización del dueño del producto, que es el responsable de gestionar las tareas de la lista.

El dueño del producto prioriza las tareas del backlog y el equipo de desarrollo estima la dificultad de cada tarea. Esto ayuda al dueño del producto a estimar los tiempos y puede influir en su elección de una tarea sobre otra.

La lista de tareas del esprint actual contiene las funcionalidades que el equipo de desarrollo implementará durante el esprint. Estas tareas han sido previamente seleccionadas del backlog, tomando las más prioritarias, hasta que en función de su dificultad y tiempo se considera que es suficiente trabajo para ese esprint. Las tareas seleccionadas pueden dividirse en subtareas más pequeñas para facilitar su desarrollo.

Una vez que el esprint actual se ha terminado, el backlog es analizado de nuevo, y se vuelven a asignar prioridades si es necesario. Además, un nuevo conjunto de tareas son seleccionadas para el nuevo esprint.

Lista de tareas de un proyecto de desarrollo Scrum
Lista de tareas de un proyecto de desarrollo Scrum

Escribir de esta forma las tareas a realizar permite al equipo tener una visión clara de quién utilizará esta funcionalidad, qué se quiere conseguir y qué beneficio apartará.

Example of certificate of achievement
Example of certificate of achievement