Scrum (Software Development)">
Diccionario Scrum 2020
Diccionario Scrum 2020
Diccionario Scrum 2020
Diccionario
Scrum: El 3-5-3
Por
Marcelo Garcia
Octavio Levy
Introducción
Los equipos Scrum que desean recibir el retorno de la inversión asociado con un
buen Scrum deben tener un método inmediato para verificar si están
implementando las mismas prácticas observadas en los equipos documentados de
alto rendimiento.
Para apoyar esto, los animamos a que se comparen con los elementos
fundamentales de Scrum:
● 3 roles
● 5 eventos
● 3 artefactos.
Scrum es un marco de trabajo liviano que puede ser aplicado en cualquier industria
y dominio. Sin embargo, mientras que Scrum es adaptable a diferentes contextos,
el núcleo del marco permanece igual en todas las implementaciones.
1
El Product Owner
Definición
El Product Owner es uno de los 3 roles del marco de trabajo Scrum, cada rol en
Scrum tiene su objetivo. El objetivo del Product Owner es maximizar el valor del
producto entregado por el equipo, es quien debe lograr que entreguemos el
producto «correcto», el producto que quiere el mercado y stakeholders. Para ello
contará con grandes responsabilidades como por ejemplo el ordenamiento del
Product Backlog.
La visión es lo que nos define hacia donde va nuestro producto. Básicamente en
una visión tienen que quedar en claro: quienes son nuestros clientes, qué problema
les vamos a resolver y beneficios clave del producto.
Expresado claramente: sus ítems Product Backlog Items (PBIs) deben estar
especificados de manera clara y estar lo suficientemente detallados para ser
entendidos por el equipo.
Ordenado: debe estar ordenado de manera que maximice el valor del producto
creado por el equipo.
2
Una de las principales y más importantes responsabilidades del Product Owner es
la priorización del Product Backlog. A la hora de priorizar consideraremos la
conocida «Regla de Pareto», buscaremos encontrar el 20% de características del
producto que aportan el 80% del valor, lo cual no es una tarea fácil.
Cuando hablamos de valor de producto es importante considerar que ese valor no
sólo es el valor de mercado que le aporta a nuestros usuarios, sino también el valor
de aprendizaje (cuánto podemos aprender de nuestro contexto y reducir riesgos
con esos PBIs) y el valor de desarrollo de competencias (qué competencias
podemos desarrollar con esos PBIs).
Es importante considerar que la única persona que tiene la última palabra en el
ordenamiento del Product Backlog es el Product Owner. No puede aparecer otra
persona que fuerce al equipo a trabajar en algo diferente a lo priorizado por el
Product Owner.
El Product Owner pasa gran parte de su tiempo con los stakeholders (interesados),
teniendo conversaciones sobre el producto, su visión, características y
funcionalidades. La comunicación efectiva es una competencia clave en un
Product Owner ya que tiene que poder comunicarse efectivamente con múltiples
stakeholders y el equipo.
Por otro lado el Product Owner no es el único que debe comunicarse con los
stakeholders, eso es algo que sucede frecuentemente y se le llama: «El Product
Owner Proxy», quien es un intermediario de la comunicación del equipo con
stakeholders. El Product Owner debe ser un facilitador de esas conversaciones, de
manera que exista comunicación directa y efectiva entre las partes.
3
El Product Owner tiene un plan de entregas en el cual refleja la visión del producto
a lo largo del tiempo. Un Relese Plan contiene entre otras cosas:
Un Release Burndown Chart que muestre de qué manera avanzamos hacia la
entrega del release.
El Release Plan no es fijo sino que cambia de manera contínua y se adapta a los
cambios de contexto.
4
El Equipo de Desarrollo
Definición
El Equipo de Desarrollo (o Development Team) es uno de los tres roles en Scrum y
se compone de todas las personas que se encargan de construir el Incremento de
Producto en cada Sprint.
Las personas del Equipo de Desarrollo pueden especializarse en ciertas áreas pero
la responsabilidad de los objetivos pertenece al Equipo de Desarrollo como un todo.
5
Scrum esta relación directa se produce principalmente durante el evento del Sprint
Review donde el equipo de desarrollo recibe el feedback del Incremento sin ningún
tipo de filtro de comunicación por parte de terceros.
Por el otro lado, tener más de nueve personas hace que aumente
considerablemente los canales de comunicación, lo que implica mayor
complejidad y al final requiere demasiada coordinación para que un proceso
empírico sea útil.
Buenas prácticas
Perfiles multidisciplinarios
Dentro del sistema de producción de Toyota existen algunos conceptos que tienen
como objetivo la mejora en las diferentes etapas del proceso productivo. Uno de
ellos es «Muri» que significa sobrecarga. Este concepto se refiere a cualquier
actividad que requiere un estrés o esfuerzo muy alto por parte de cierta persona o
equipo, provocando cuellos de botella o tiempos muertos.
Equipos estables
Los equipos estables tienden a conocer mejor su capacidad, lo que hace posible
que la organización tenga cierta previsibilidad. La recomendación es dedicar a los
miembros del equipo a un solo equipo siempre que sea posible.
6
El Scrum Master
¿Qué es un Scrum Master?
El Scrum Master es uno de los 3 roles del marco de trabajo Scrum. Scrum define los
siguientes roles: Equipo de Desarrollo, Product Owner y Scrum Master, cada rol
tiene un objetivo diferente lo cual crea un equilibrio saludable en el equipo Scrum.
El Scrum Master cumple este rol frecuentemente en el Sprint, cada evento de
Scrum (Sprint Planning, Daily Scrum, Sprint Review y Retrospectiva) es facilitado
por el Scrum Master.
7
8
Remover impedimentos es una tarea que requiere mayor esfuerzo del Scrum
Master en contextos de mayor complejidad, en los cuales múltiples equipos
trabajan en el mismo producto o servicio.
9
10
El Product Backlog
Definición de PRODUCT BACKLOG
El Product Backlog (o Lista de Producto) es una lista ordenada de todo lo que se
conoce que es necesario que un producto o servicio cumpla. Es uno de los 3
artefactos de Scrum. También es la única fuente de requisitos para cualquier
cambio. El Product Backlog es emergente durante todo el proyecto, es decir, nunca
está completo sino que es dinámico; cambia constantemente para identificar lo
que el producto necesita para ser competitivo y útil en el mercado que se
encuentra.
Me parece interesante aclarar en este punto que el ROI no tiene que estar solo
relacionado al dinero, sino que se trata de valor: El valor no solamente es el que
11
Una empresa también puede valorar la retención de los empleados, las buenas
relaciones con los clientes, una buena imagen pública o muchos otros objetivos
que quedan fuera de la teoría económica del valor.
Considerando esto, podemos decir que el Product Owner debe ordenar la lista de
manera tal que queden arriba los ítems que aportan mayor ROI y hacer esos
primero.
Principios INVEST
Los principios o criterios INVEST son una lista de 6 cualidades que nos ayudan a
comprobar la calidad de una User Story:
«T»estable (comprobable): Debe ser posible verificar que la misma está completa
una vez desarrollada. Para ello debe tener claros criterios de aceptación con los
cuales verificamos que esté realmente lista.
12
Si bien en la mayoría de los casos este acuerdo se aplica a todos los elementos de la
lista podríamos identificar elementos que requieran tener su propia definición. Por
ejemplo, podríamos tener un DoD para todos los elementos que sean de nuevas
funcionalidades y otro DoD solamente que se aplique a los requerimientos de
documentación legal.
Podemos decir que el Product Backlog está «Ready» cuando tiene suficientes PBIs
en su parte superior para llenar un Sprint y que están en «Ready».
13
El Sprint Backlog
Definición del SPRINT BACKLOG
El Sprint Backlog es la suma de todos los elementos del Product Backlog elegidos
para el Sprint, más un plan de cómo crear el Incremento de Producto que permita
alcanzar el Sprint Goal (Objetivo del Sprint). Es uno de los 3 artefactos de Scrum y es
el que se construye durante la segunda parte de la Sprint Planning.
Tablero Kanban
Si bien la guía Scrum no define cómo implementar este artefacto, creo que una
manera recomendada de hacerlo es a través de la implementación de un tablero
Kanban.
El tablero Kanban es una herramienta compuesta por columnas para representar el
estado de una tarea y filas que representan diferentes tipos de actividades. Cada
tablero de Kanban tiene al menos tres columnas con estados base:
14
Si bien soy partidario de tener este artefacto de manera física para fomentar la
comunicación cara a cara, hoy en día, existen soluciones de tableros Kanban
digitales como Trello muy buenas en especial para equipos remotos.
A este tablero se le pueden agregar más columnas como por ejemplo «QA» (En
etapa de pruebas)
Cuando los elementos del plan se consideran innecesarios, se eliminan. Solo el
Equipo de Desarrollo puede cambiar su Sprint Backlog durante un Sprint.
Para determinar cuántos PBIs incluir en el Sprint Backlog nos basamos en la
velocidad de los últimos Sprints del Equipo de Desarrollo.
¿Asignar tareas?
Los SPIs no se asignan o pre-asignan en Scrum. Hacer esto fomenta que el equipo
disminuya su responsabilidad compartida sobre el Objetivo del Sprint, ya que cada
persona se siente más responsable por cumplir sus SPIs asignados (tareas, etc) que
en contribuir al cumplimiento del Objetivo del Sprint.
Otra contra que he observado en pre-asignar tareas es que el equipo baja su nivel
de auto-organización y comunicación para resolver problemas y crear un
incremento de valor.
15
Incremento de Producto
Definición del INCREMENTO DE PRODUCTO
El Incremento de Producto («Increment» o «Product Increment» en inglés) es la
suma de todos los ítems del Product Backlog (PBIs) completados durante un Sprint
y el valor de los incrementos de todos los Sprints pasados. Es uno de los 3 artefactos
de Scrum y se presenta en cada Sprint Review.
El Incremento y el EMPIRISMO
Hay veces que puede ser complicado comprobar si el equipo ha creado valor en
cada Sprint. No obstante, el Product Owner quiere asegurarse de que el producto
aumente su valor en CADA Sprint.
El Product Owner desea crear un producto valioso de la forma más adecuada. El
mercado tiene distintas necesidades y siempre existe la posibilidad de un
desequilibrio entre ellas y los objetivos del Product Owner. Por lo tanto, el Product
Owner debe corroborar regularmente que las cosas que se desarrollaron estén en
buen camino para crear el valor que imaginó.
Haciendo uso de Scrum como marco de trabajo empírico, debemos buscar que
nuestro Incremento nos permita obtener información nueva y relevante sobre el
mercado y el contexto para poder adaptarnos rápidamente. Es por esto que
debemos prestar atención al momento de inspeccionar este artefacto, qué
hipótesis de negocio estamos validando y qué aprendimos del producto.
16
Desde mi punto de vista creo que este es uno de los mayores desafíos que vengo
observando en distintas organizaciones que intentan adoptar Scrum, dado que
suelen existir incentivos hacia las personas y equipos en especializarse en un área o
tecnología lo cual dificulta que un equipo solo pueda crear un Incremento de
Producto completo.
El incremento debe ser un paso hacia la visión del producto o algún objetivo que
responde a esa visión. En este sentido es muy útil tener bien presente el Objetivo
del Sprint a la hora de construir cada Incremento.
Incremento TERMINADO
Al final del Sprint, el nuevo Incremento debe estar Terminado, lo que significa que
debe estar en condiciones de uso y cumplir con la «Definition of Done» del Equipo
Scrum. El Incremento debe estar en condiciones de uso, independientemente de si
el Product Owner decide liberarlo.
17
El Sprint
¿Qué significa SPRINT en Scrum?
El Sprint es uno de los cinco eventos de Scrum y es el que contiene a los otros
cuatro (Planning, Daily, Review y Retrospectiva). Durante este evento se construye
un Incremento de Producto que es potencialmente entregable a los interesados
finales. Según la guía Scrum, es el corazón del marco Scrum.
¿Cuál es la DURACIÓN?
Los Sprints tienen una duración de tiempo de máximo un mes calendario.
Debemos considerar lograr un equilibrio entre lo suficientemente largo como para
poder producir un Incremento de Producto de valor y lo más corto posible como
para que el equipo Scrum obtenga feedback rápidamente.
18
Sprint Planning
Definición de Sprint Planning en Scrum
El SPRINT PLANNING (o planificación del Sprint) es uno de los cinco eventos de
Scrum y es el primero que haremos al comenzar cada Sprint.
En esta reunión vamos a planificar QUÉ es lo que vamos a hacer durante el Sprint y
CÓMO lo vamos a hacer.
El Scrum Master se debe asegurar de que este evento ocurra y se cumpla su
objetivo. También actuará como facilitador para evitar salirse del timebox asignado,
o evitar que ciertas personas acaparen todas las conversaciones y decisiones.
19
Sprint Planning 1
Para responder a ello, todo el Equipo Scrum analizará el Product Backlog, la
performance o velocidad del Equipo de Desarrollo de los últimos Sprints y la
capacidad proyectada para este Sprint.
La cantidad de ítems del Product Backlog a tomar depende solamente del Equipo
de Desarrollo.
Durante esta reunión el Product Owner debate con todo el equipo cuál es el
Objetivo del Sprint a alcanzar. Explica y se asegura de su correcto entendimiento,
de todos los detalles de los ítems del Product Backlog que deberían completarse
para cumplir dicho objetivo.
El Sprint Goal (u Objetivo del Sprint) es una meta establecida para el Sprint por
todo el Equipo Scrum que puede cumplirse a través de la implementación de PBIs
(ítems del Product Backlog). Brinda una referencia para el Equipo de Desarrollo
sobre el propósito de por qué crean el incremento que crean. También ayuda a
aumentar la unión del equipo y fomenta la colaboración de sus miembros a través
de trabajar enfocados y no en propuestas o proyectos separados.
20
Sprint Planning 2
Una vez que se ha establecido el objetivo y seleccionado los PBIs para el Sprint, el
Equipo de Desarrollo se reúne para decidir y planificar cómo construirán estas
funcionalidades para llegar a un Incremento de Producto terminado durante el
Sprint.
Dividir en tareas
Para construir este plan, el Equipo de Desarrollo toma los PBIs seleccionados y los
empieza a descomponer en partes más pequeñas a las que llamaremos tareas. Las
tareas son todas las actividades técnicas que tienen que completarse para que un
PBI cumpla con el Definition of Done (DoD). Al dividir los ítems en tareas se
recomienda considerar que una tarea debe poder completarse en un día de
trabajo.
Al conjunto de PBIs seleccionados para el Sprint y todas las tareas que los
componen se lo denomina Sprint Backlog.
Cabe destacar que durante esta etapa no es necesario tener planificado hasta el
último detalle, ya que durante el Sprint probablemente el contexto haga que las
cosas vayan cambiando y será tiempo desperdiciado. Lo que buscamos más bien es
tener listo el plan para los primeros días del Sprint y tener una noción de si vamos a
llegar a completarlo.
21
Daily Scrum
Definición del DAILY SCRUM
El Daily Scrum (o Scrum diario) es uno de los 5 eventos de Scrum con un bloque de
tiempo de 15 minutos para que el Equipo de Desarrollo se sincronice. Esta reunión
diaria se realiza a la misma hora y en el mismo lugar para reducir la complejidad.
Aquí se busca la transparencia y la inspección de lo realizado para tener una
oportunidad de adaptación para el día siguiente.
El Equipo de Desarrollo usa el Daily Scrum para evaluar su progreso hacia el Sprint
Goal y para evaluar qué tendencia sigue este progreso hacia la finalización del
trabajo del Sprint en curso.
Las personas ajenas al Equipo de Desarrollo pueden asistir a esta reunión diaria de
sincronización por invitación del Equipo de Desarrollo . El Equipo de Desarrollo
puede desear considerar que hay un espíritu de transparencia en Scrum. Pero, por
otro lado, los extraños pueden influir en la reunión por su propia presencia. En
cualquier caso, solo el Equipo de Desarrollo participa activamente en la reunión.
Esto se aplica tanto al Product Owner como a cualquier otra persona que no sea
miembro del Equipo de Desarrollo.
22
● ¿Qué hice ayer para ayudar a lograr el Sprint Goal (Objetivo del Sprint)?
● ¿Qué voy a hacer hoy para ayudar a lograr el Sprint Goal?
● ¿Veo algún impedimento que evite que el Equipo de Desarrollo o yo
logremos el Sprint Goal?
Cabe destacar que esas 3 preguntas son solo un ejemplo de cómo llevar a cabo
este evento. El Equipo de Desarrollo es el encargado de establecer la estructura de
la reunión y esta se puede conducir de diferentes maneras siempre y cuando se
enfoque en el progreso hacia el Sprint Goal.
Reduce el tiempo perdido porque el equipo hace que los impedimentos sean
visibles diariamente.
23
Sprint Review
Definición y OBJETIVO del SPRINT REVIEW
El SPRINT REVIEW (o Revisión del Sprint) es uno de los cinco eventos de Scrum y se
realiza al final del Sprint. Durante esta ceremonia se revisa el Incremento de
Producto, es decir, lo que se realizó durante el Sprint y se analizan los cambios que
tuvo el Product Backlog.
24
El Product Owner habla acerca del Product Backlog en su estado actual y proyecta
futuros objetivos y fechas de entrega basadas en esta nueva información.
TODOS los participantes debaten en base al análisis de cómo está el mercado y el
uso potencial del producto, sobre qué hacer a continuación. De este modo la Sprint
Review proporciona información de entrada valiosa para el próximo evento: la
Sprint Planning.
25
Retrospectiva
¿Qué es una retrospectiva?
Una retrospectiva es una reunión en la cual reflexionamos sobre la manera en la
que trabajamos en un periodo de tiempo. Es una oportunidad para capitalizar
aprendizajes y definir acciones de mejora a futuro.
Retrospectiva en Scrum
En Scrum la retrospectiva tiene lugar al final del Sprint, después de la Revisión de
Sprint y antes de la siguiente Planificación de Sprint. Se trata de una reunión de,
como máximo, tres horas para Sprints de un mes. En la práctica si trabajamos con
Sprints de 2 semanas, la duración será a lo sumo de 1 hora y media.
26
¿Quiénes participan?
Participa el equipo Scrum completo. En cuanto a personas externas generalmente
no es conveniente que participen, ya sea personas de otros equipos, líderes,
gerentes, etc. ya que puede afectar el espacio seguro que buscamos generar.
27