¿Qué debes saber sobre la metodología Agile? Actores y ceremonias

¿Has oído hablar de la metodología Agile? Se comenzó a utilizar en las empresas como una herramienta de apoyo para la gestión de proyectos en sus procesos de digitalización, de cara a obtener resultados de calidad en cortos periodos de tiempo. En este artículo te explicaremos sus bases, los actores que participan y, también, sus ceremonias.

Y eso no es todo. A partir de este punto veremos la definición, elaboración y entrega de “productos” que se correspondan con lo solicitado por un “cliente” tras un “acuerdo” con el equipo de trabajo. Si tienes dudas sobre el uso de Agile, aquí te las resolvemos.

Metodología Agile

First things first: Conceptos esenciales

Antes de continuar, vamos a repasar la terminología básica:

  • El término producto hará referencia a cualquier tipo de entregable (no sólo software) que permita a los usuarios a los que está destinado realizar cualquier tipo de acción.
  • Cuando se refiere a un cliente se trata del representante de los usuarios finales para los que está destinado el producto. El cliente debe definir un acuerdo con la funcionalidad buscada en ese producto descrita por sí mismo con requisitos en formato de historia de usuario (yo como “usuario X” quiero poder “hacer Y” para “conseguir Z”: yo como “niño” quiero poder “hinchar una pelota” para “jugar al futbol”).
  • Un proyecto se deberá llevar a cabo en periodos de tiempo denominados sprints. Cada sprint debe contener al menos: acuerdo sobre las historias de usuario del sprint +1, planificación del sprint, elaboración de historias de usuario del sprint en curso, validación de las historias de usuario elaboradas y revisión del trabajo realizado. En base a la tecnología y al tipo de historias de usuario realizadas los sprints pueden tener un tiempo variable entre 1 – 4 semanas.

La base para que Agile aporte beneficios es abordarla como una nueva mentalidad de trabajo en la que se impliquen todos los participantes. Esta mentalidad se rige por 3 criterios fundamentales: pequeños fragmentos de valor, validación conjunta y mejora incremental.

A la práctica: ¿Cómo se aborda la metodología Agile?

Así pues, el objetivo será elaborar uno o varios productos que cumplan las necesidades solicitadas por un cliente. A la hora de elaborar este producto es muy importante que se descomponga en pequeñas partes que tengan entidad propia y se correspondan con una historia de usuario o, dicho de otra forma, una funcionalidad que aporte un valor concreto al usuario.

Sobre estos fragmentos debemos poder ejecutar todos los pasos de un ciclo Agile o sprint; en caso contrario deberemos revisar su tamaño. Con estos fragmentos construiremos un Mínimo Producto Viable, con todas las historias de usuarios principales que haya solicitado el cliente. Es muy importante que cada una de las partes o historia de usuario que componen un producto sean validadas por el cliente en la demo del sprint presentada por las personas del equipo que las han elaborado.

Una vez que se haya finalizado el Mínimo Producto Viable que permitirá al cliente comenzar a trabajar en su funcionalidad básica, se continuará el ciclo Agile a partir de las historias de usuario Extras que permitan una mejora incremental sobre el producto.

Metodología Agile

Actores y funciones: ¿Quién interviene y cómo?

En este apartado pondremos un nombre propio a todos los actores, que deben participar de forma activa cumpliendo los objetivos de las reuniones a las que sean convocados.

  • Product Owner: Representante del equipo de usuarios finales, es el responsable de definir las historias de usuario que debe incluir el producto final, de refinarlas con el equipo de desarrollo y de validar las versiones parciales de producto que se presentan en cada demo. Hasta ahora lo hemos nombrado cliente.

Product Owner

  • Scrum Master: Se encarga de facilitar y supervisar el trabajo del equipo de desarrollo, de la coordinación y del liderazgo de las reuniones, de la comunicación con el product owner en caso de conflictos y para concretar historias de usuario, de la gestión de impedimentos que afecten a cualquiera de los implicados, de la coordinación con el equipo de desarrollo del ciclo de vida de los sprints…

Scrum Master

  • Equipo de Desarrollo: Ejecutan el ciclo de vida de producción del producto (definición, elaboración, pruebas), participan en las reuniones del sprint y mantienen informado al scrum master del estado de sus tareas y de los posibles impedimentos que surjan al realizarlas.

Equipo de desarrollo

  • Product Manager: Se ocupa de la priorización entre equipos, es el responsable de la estrategia comercial del producto, de lidiar ante conflictos entre los equipos, del seguimiento y del reporte de KPI´s.

Project Manager

Ceremonias: ¿Qué procesos se deben ejecutar en Agile?

El scrum master debe ser el responsable de convocar y liderar todas estas ceremonias (en caso contrario debe acordarlo con el resto de los participantes).

1. Refinamiento: El objetivo de un refinamiento es que el equipo de desarrollo tenga claro los requisitos que el product owner necesita para su producto.

  • El product owner debe transmitir los requisitos al equipo de desarrollo de forma previa a la reunión.
  • El equipo de desarrollo debe enviar las dudas/puntualizaciones sobre estos requisitos para que el product owner pueda prepararlas de forma previa.
  • Durante la ceremonia se revisarán todos los puntos y se establecerán responsables para los que queden pendientes de resolver.
  • En caso de que la historia de usuario no sea viable por el motivo que sea, debe exponerse al product owner con sus motivos y posibles soluciones alternativas que se acerquen lo máximo posible a sus necesidades.

2. Sprint Planning: El objetivo del sprint planning es acordar el backlog (conjunto de historias de usuario) de trabajo en el que el equipo trabajará durante un sprint.

  • El primer paso es realizar un sprint planning interno, donde el scrum master revisará con los miembros del equipo las tareas a llevar a cabo y su prioridad. Es importante que estas tareas hayan sido refinadas previamente y no tengan ninguna duda pendiente de resolver.
  • El propio equipo debe ser el que indique cuánto tiempo contempla para realizar cada una de las tareas del sprint, por conocimiento de la tarea, por aprendizaje de tareas similares o en último caso por su complejidad funcional/técnica, considerando valores pre-estimados de muy alta / alta / media / baja.
  • No se debe planificar al 100% el tiempo disponible del equipo, se debe considerar un 10% de falta de eficiencia y un % de tiempo para imprevistos. Estos imprevistos pueden ser incidencias, priorizaciones, tareas periódicas que se deben realizar en todos los sprints, etc.… Estos imprevistos se deben calcular en base al aprendizaje de sprints anteriores.
  • En ocasiones los sprints pueden incluir tareas que no aportan valor de forma visible al usuario final, pero son necesarias para avanzar. Estas tareas se deben también comentar al product owner para que sea consciente de todo lo que se está trabajando.
  • Una vez que se haya acordado el contenido del sprint dentro del equipo de desarrollo se debe transmitir éste al product owner. El product owner podría solicitar el cambio de alguna prioridad o de alguna tarea por otra (siempre que esta tarea ya haya sido refinada y tenga una estimación de tiempo similar).
  • Es muy importante que nunca se supere el tiempo total del sprint y que todas las tareas hayan sido refinadas.
  • Es responsabilidad del scrum master que siempre exista backlog de trabajo refinado suficiente para cubrir el sprint; en caso contrario debe avisar al product owner con una antelación de al menos dos sprints para que genere nuevo backlog.

3. Daily’s: El objetivo de esta reunión es que el scrum master tenga conocimiento del estado de cada una de las tareas, si existe algún impedimento para el equipo de desarrollo y si existe riesgo para cumplir las tareas del sprint.

  • Para ello cada miembro del equipo deberá comentar lo que realizó en la tarea el día anterior, lo que tiene que realizar durante el día en curso y si existe algún impedimento para llevar a cabo su tarea en el tiempo planificado.
  • Es importante que esta ceremonia se realice sobre una herramienta de apoyo visual, tipo tablero (puede ser web o material). Debe asegurar que no se queda ninguna tarea en el olvido y que dé una visión general del estado de cada una de las historias de usuario planificadas.

4. Demo: El objetivo de esta reunión es la validación de las historias de usuario realizadas durante el sprint.

  • Cada miembro del equipo debe explicar las historias de usuario que ha elaborado al product owner mostrándolas en el producto.
  • El product owner debe validar que la historia se ha elaborado de forma correcta.
  • En caso de que no se haya podido finalizar alguna de las tareas incluidas en el sprint planning, el scrum master debe explicar los motivos y, en caso de que aplique, las tareas que se han realizado en su lugar.
  • La demo se debe ensayar con anterioridad para generar un hilo conductor y dar confianza al equipo.

5. Retrospectiva: El objetivo es que el desempeño global del equipo mejore.

  • La retrospectiva podría ser liderada por una persona externa al equipo con objetivo de no “generar conflictos” con el scrum master y que el equipo hable con más confianza.
  • Cada miembro del equipo debe comentar: lo “mejor del sprint”, qué cosas se han hecho mejor que en sprints anteriores y en qué puntos se debe mejorar, con una línea de trabajo y un responsable para cada una de las líneas de mejora.

Metodología Agile

Es importante que cada una de las ceremonias no se salga de los objetivos definidos para no ocasionar ineficiencias. El scrum master debe identificar cualquier tema susceptible de esto, para no continuar tratándolo e invitar a los interlocutores a revisarlo en otra reunión independiente sólo con las personas afectadas.

¿Sigues teniendo dudas sobre cómo aplicar esta metodología y qué beneficios podría aportar a tu proyecto? ¿La has intentado utilizar con anterioridad y tienes miedo de que se vuelvan a producir los mismos problemas? No te preocupes lo resolvemos en la segunda parte de este artículo.