La guía de Scrum ha sido, desde su concepción, un referente de simplicidad y claridad. Es un documento muy rico en experiencia frase por frase. Ampliamente usado (aunque no estoy seguro si leído con el mismo ímpetu con el que se intenta usar) y también pródigamente malentendido. En este contexto surge el así llamado Paquete de Expansión de la Guía de Scrum, quizás para llenar el vacío que deja la guía al terminar de leerla, el “¿Qué diablos quisieron decir con todo esto?”
Este documento no reemplaza la guía, de hecho, no es una
nueva versión de la guía de Scrum, sino que la complementa, actuando como un
puente hacia el presente. Todavía es algo pronto para decidir si era necesario
algo así o no. Lo que sí es cierto es que la motivación de los autores detrás
del documento es auténtica. El mundo ha cambiado mucho en los últimos cinco
años y en todos los entornos hay mucha gente, muchos equipos, muchas
organizaciones que no han terminado de entender Scrum ni su guía formal.
Pero si tienes interés: léelo cuidadosamente (en español o
en inglés o en el idioma de tu preferencia —¡hay una versión en Klingon! —),
analiza si cada concepto, práctica o recomendación propuesta te aplica o no, y
comienza a adoptar uno a uno, experimentando, midiendo, aprendiendo.
Orgánicamente. No cometas el clásico error de “a partir del próximo sprint
todos los equipos deben hacer lo que dice aquí”. No. Así será un ejercicio que te
hará fracasar en grande.
Y a propósito de “uno a la vez”, empecemos con uno de los que
más me interesó. La Definición de Terminado. Sí, es evidente que un
sinnúmero de equipos sigue aplicando mal este compromiso. Se quedan en los
aspectos de calidad: que el incremento debe cumplir con Seguridad, que
Auditoría debe aprobar, que se hagan las pruebas de regresión, que se elabore
un acta o minuta firmada por todos los interesados y un largo etcétera. Y de
aquello nada.
¿Y aquello qué es? Valor. Impacto. Beneficio. Para el
cliente. Para el usuario. Para el negocio. Incluso para el equipo Scrum.
Los autores de este paquete de expansión, entre los que se
cuenta el mismísimo Jeff Sutherland, inventor de Scrum, nos traen una propuesta
interesante, dos definiciones de terminado: la Definición de Producto
Terminado cuya esencia es la Definición de Terminado existente en la guía; y la
Definición de Resultado Terminado. Estos nombres en español son una traducción
libre tal y como las interpreto. Vamos entonces por partes.
La Definición de Producto Terminado, que también se puede
llamar Definición de Entregable Terminado o Definición de Salida Terminada (en
la traducción oficial al español de Alex Ballarin se llama Definición de
Hecho de Producto) es el compromiso del Incremento:
• Describe
las medidas de calidad que expresan la debida diligencia para el
Incremento, asegurando que pueda ser entregado a los Stakeholders.
• Se
enfoca en el qué fue construido y su calidad, asegurando que está listo
para ser potencialmente lanzado.
• Mide
los estándares de calidad y las cualidades del Producto (técnicas y de
Producto) que el Incremento debe cumplir.
Entre tanto, la Definición de Resultado Terminado, que
también podemos llamar la “Definición de Valor Aportado”, puesto que el término
"Valor" es el fin último de cualquier producto. Este nombre me
gusta además porque deja claro que no estamos midiendo la funcionalidad
entregada (“output”), sino el beneficio real que esta aporta. Incluso “Definición
de Impacto Logrado” es buen nombre, ya que denota un cambio significativo en el
comportamiento del usuario o en las métricas del negocio (por ejemplo,
"aumentar la retención", "reducir las llamadas a soporte"),
y describe perfectamente la consecuencia de una salida exitosa. Son ideas. En breve,
esta Definición de Hecho de Resultado, como se llama en la traducción
oficial:
• Describe
las medidas observables (cuantitativas o cualitativas) que demuestran los beneficios
realizados o la validación de valor para los Stakeholders.
• Se
enfoca en el porqué del trabajo, es decir, si lo que se entregó generó
el impacto deseado y el valor real.
• Mide
el valor realizado y el impacto para los Stakeholders
(incluyendo clientes, usuarios, etcétera).
Ejemplos
Con un ejemplo se entiende mejor. Así que veamos este “paquetico”
de expansión al paquete de expansión de la guía de Scrum. Imaginemos un producto,
una plataforma de comercio electrónico para pequeños negocios. Una Definición
de Resultado Terminado puede contener aspectos como:
Para el Producto en general (impacto estratégico y de
negocio):
• Lograr
un aumento del 15 % en el Net Promoter Score (NPS) de los comerciantes
que utilizan la plataforma en los próximos 6 meses.
• Aumentar
la tasa promedio de conversión de visitantes a compradores en las tiendas de
los comerciantes de la plataforma en un 5 % en el próximo trimestre.
• Disminuir
la tasa de abandono de comerciantes (“churn rate”) en un 10 % en el semestre.
• Un
incremento del 20 % en el volumen total de transacciones procesadas a través de
la plataforma en los próximos 6 meses.
Para un Objetivo de Producto específico (por ejemplo,
"Mejorar la capacidad de los comerciantes para gestionar
inventarios"):
• Disminuir
el tiempo promedio que le toma a un comerciante actualizar y gestionar su
inventario en la plataforma en un 25 %.
• Reducir
en un 30 % la cantidad de quejas de clientes relacionadas con productos
"agotados" que aparecen como "en stock" en las tiendas.
• Un
50 % de los comerciantes activos han configurado y reciben alertas de bajo
stock para sus productos clave.
Mientras
que la Definición de Producto Terminado adyacente puede incluir:
• Código
revisado y aprobado
• Pruebas
unitarias exitosas con una cobertura mínima del 80 %.
• Pruebas
de integración y sistema pasadas
• Pruebas
de regresión automatizadas
• Desplegado
en el entorno de preproducción
•
Rendimiento y escalabilidad verificados
•
Seguridad validada
•
Compatibilidad con navegadores y dispositivos
principales (Chrome, Firefox, Safari, iOS, Android).
•
Documentación técnica actualizada
Nada que no esté incluido en una Definición de Terminado típica.
Diferencias clave
En esta
tabla te dejo de manera sucinta algunos aspectos que te pueden ayudar a
entender sobre el enfoque, el alcance, la validación y el momento de
verificación de cada una de estas definiciones de Terminado.
Definition of Output Done (Definición
de Producto Terminado) |
Definition of Outcome Done (Definición
de Resultado Terminado) |
|
Enfoque |
Se enfoca en la calidad de la entrega (el
"qué" se construyó) |
Se centra en el valor o impacto logrado (el
"porqué" se construyó). |
Alcance |
Aplica a un Incremento específico,
asegurando que está listo para ser potencialmente lanzado. |
Aplica al Producto en general o a una meta
estratégica, midiendo si el Producto genera los beneficios esperados a lo
largo del tiempo. |
Validación |
Se valida mediante criterios de calidad internos
y técnicos (pruebas, revisiones de código). |
Se valida mediante evidencia observable de
impacto en los Stakeholders (métricas de negocio, comportamiento del
usuario, encuestas de satisfacción) una vez que el output ha sido liberado y
utilizado. |
Momento de Verificación |
En cada Sprint para cada Incremento. |
Proceso continuo que ocurre a medida que el
Producto interactúa con el mercado y los usuarios a lo largo del tiempo. |
Entregar un producto perfecto que no genera valor es el
fracaso más elegante del mundo. Inapelable. Si hoy tienes una Definición de Terminado con la que has
tenido éxito entregando valor e impactando el negocio sprint tras sprint,
entonces quizás no necesites nada de lo que hay aquí. Aun así, es una buena propuesta.
Si, por el contrario, tus usuarios o clientes continúan sin
ver los beneficios de lo que les entregas, entonces quizás sea buena idea empezar
a usar estos dos compromisos por separado. Como te dije al principio: empieza experimentando
en pequeño, con un equipo, observa los resultados, las reacciones del entorno,
aprende. Reflexiona. Y adáptate.
Si tienes algún inconveniente, siempre puedes contactarme y,
en la medida de mis posibilidades, con gusto te ayudo.