Es importante tener en cuenta que el Refinamiento del Product Backlog es una forma de colaboración entre el Product Owner y el resto del equipo y se puede realizar de muchas maneras, en función de los diferentes contextos en los que se use Scrum.
Según la Scrum Guide, el Refinamiento es:
“El acto de añadir detalle, estimaciones y orden a los ítems del Product Backlog”. Este es un proceso continuo en el que el Product Owner y el Development Team colaboran en los detalles de los ítems del Product Backlog.
A diferencia de los eventos del Sprint, que tienen pautada el momento del Sprint en el que ocurren, su asistencia y elementos que se inspeccionan y adaptan, el refinamiento es una actividad de soporte que si bien no es obligatoria en Scrum, son sesiones clave que nos sirven para clarificar todas las ideas y la información correspondiente sobre cada una de las historias de usuario, generando conversaciones y colaboración con la finalidad de generar un entendimiento necesario para estar “listos” para la ejecución de estos elementos.
¿Qué se hace en el refinamiento?
Como define Scrum, en el Refinamiento se trabaja en dar detalle a los ítems del Product Backlog que se realizarán en los próximos Sprints. Para dar detalle se realizan múltiples actividades como:
- Entender el alcance de los ítems (p.e. características o requisitos a incorporar al producto).
- Identificar las dependencias funcionales y técnicas entre ítems.
- Analizar funcionalmente los ítems, usualmente considerando dichas dependencias.
- Diseñar técnicamente las soluciones escogidas para realizar los ítems.
- Definir criterios y pruebas de aceptación, ya sean más laxos o más estrictos.
- Estimar el coste de realización de los ítems, ya sea en tiempo o en tamaño relativo (p.e. puntos/historia).
El Refinamiento es una actividad continua que debemos realizar con cadencia para aprovechar de mejor manera la colaboración del equipo.
¿Quién hace el refinamiento?
Existe una visión muy extendida que hace al Product Owner responsable exclusivo de definir los ítems y pasárselos al Development Team para que los convierta en software, derivada de la idea que estos últimos son básicamente técnicos (programadores, testers, etc.) y que no tienen capacidad de análisis. Esta visión como única opción es falsa, y va contra la idea de un Equipo Scrum colaborativo.
El refinamiento es una acción colaborativa y necesaria para un entendimiento compartido de las necesidades y todos los miembros del equipo son responsables y forman parte importante en su ejecución.
Tipos de refinamiento:
Identificamos de manera general 3 tipos de refinamiento que podemos incorporar dentro de nuestra organización:
- Refinamiento de negocio
- Refinamiento funcional
- Refinamiento técnico
Refinamiento de negocio:
Este refinamiento es un proceso continuo que se realiza entre el Product Owner y el cliente o Stakeholders, en el cual cada uno de los elementos dentro del Backlog es definido y revisado, de manera que se genere un entendimiento compartido del valor necesario para el producto, mismo que será transmitido al resto de los miembros del equipo.
Refinamiento funcional:
Este refinamiento se lleva a cabo entre el Product Owner y los expertos de desarrollo, en el cual se trabaja de manera colaborativa con el fin de maximizar el valor del producto, es aquí donde el equipo conoce el planteamiento para cada uno de los elementos del Product Backlog, en el cual, se revisan las historias de usuario y los criterios de aceptación que incluyen, despejando posibles dudas e integrando mejoras.
Refinamiento técnico:
Es un proceso muy importante dentro del desarrollo de la iniciativa, ya que en él, el equipo analiza y determina, en conjunto con los expertos, los ajustes técnicos necesarios como cambios de arquitectura, infraestructura o estructura de datos, que puede implicar el desarrollo de cada historia de usuario, de manera que se pueda estar “preparado” para su ejecución.
Como podemos darnos cuenta, cada uno de los refinamientos nos aporta una visión más adecuada y fluida de cada elemento que forma parte del Product Backlog.
Fuente: Ballarin, A. (2022, June 28). El refinamiento del backlog en scrum, a Fondo. ITNOVE.com – Cursos oficiales Scrum.org y Kanban. Retrieved February 23, 2023.