Habías escuchado acerca del Scrum? Este es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto.
En este proceso se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto (cliente o dueño). 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.
El equipo de Scrum consiste en tres diferentes roles:
- El Dueño del producto es la “voz del cliente” y el responsable de desarrollar, mantener y priorizar las tareas en la bitácora.
- 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 Miembros del Equipo de desarrollo son los encargados de escribir y probar el código.
Sprint
El Sprint es la unidad básica de trabajo para un equipo Scrum. Esta es la característica principal que 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. Estos son:
1. Planeamiento del Sprint
Todos los involucrados en el equipo se reúnen para planificar el Sprint. Durante la planificación se decide qué requerimientos o tareas se le asignará a cada uno de los elementos del equipo. Y cada integrante deberá asignar el tiempo que crea prudente para llevar a cabo sus requerimientos. Así se define el tiempo de duración del Sprint.
2. Reunion de Equipo de Scrum
Estas reuniones se deben realizar diariamente con un máximo de 15 minutos. 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.
3. Refinamiento dela bitácora
El dueño del producto revisa cada uno de los elementos dentro de la bitácora 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
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.
5. Retrospectiva del Sprint
En este evento, el dueño del producto 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
3. Herramientas Scrum
Para poder definir las respuestas a estas preguntas, se hace uso de ciertas herramientas que Scrum nos provee. Estas son:
Bitácora del producto
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.
El panel de Tareas
El panel de tareas muestra todas y cada una de las tareas que tienen asignadas cada uno de los miembros del equipo. Esta tabla se divide en tres columnas que representan el estado de la tarea:
- Por hacer
- Haciendo
- Terminado
Al inicio del Sprint todas están en la primer columna. Al momento de pasar una tarea a la columna número dos, indicará al Scrum Master y al dieño del producto qué está haciendo cada miembro del equipo y cuánto tiempo lleva trabajando en dicha tarea. Al finalizar la tarea, esta debe cambiarse a la última columna.
Definición de “Listo”
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
- Pruebas realizadas a cada elemento desarrollado
- Revisión por parte de los clientes
- La revisión de las condiciones de Aceptación por parte del dueño del producto
Estas herramientas son útiles no sólo durante un Sprint; sino que ayudan a lo largo del proyecto, ya que ayudan al equipo a entender por qué hacen lo que están haciendo.
Scrum no es más que una metodología que puede ser aplicable a cualquier tipo de proyecto. Aplicarlo requiere disciplina y esfuerzo, pero da excelentes resultados. Te animamos a utilizar este método en tu trabajo. Esperamos que este artículo te ayudara.