viernes, octubre 23, 2020

Dos poderosas razones por las cuales la productividad en equipos Scrum depende más del Product Owner que del Equipo de Desarrollo



Hola a todos

Muchos equipos ágiles y organizaciones siguen viendo la productividad como:
  • cantidad de historias por sprint
  • puntos por sprint
  • horas por sprint
y parte de este malentendido que arrastramos en la construcción de productos viene del enfoque basado en manufactura, donde eres más productivo entre más unidades por fracción de tiempo seas capaz de construir.

Considerando que en Scrum tienes Product Owner (PO), Equipo de Desarrollo y Scrum Master (SM), correctos y competentes, quisiera compartirte dos razones por las que considero que en un PO es la clave de la productividad de todo el Equipo Scrum, apartando la idea que esta es responsabilidad del Equipo de Desarrollo, veamos:


Por el Enfoque en el Valor

En el Mundo del Desarrollo Ágil, es decir, de Creación de Productos de Software, hacer más por unidad de tiempo no implica que estés generando más valor por unidad de tiempo, es posible que estés generando una buena cantidad desperdicio a muy buen ritmo, y ninguno de tus usuarios estén usando la solución creada o el producto construido generando el retorno de la inversión esperado.

En el Mundo Ágil, Productividad es construir el producto correcto

Y como muchos agilistas y textos dicen:

Es mejor a poca velocidad en la dirección correcta, que a mucha velocidad en la dirección incorrecta

En el primer escenario te estarás acercando a tu objetivo y en el segundo escenario cada vez te alejarás más por más rápido que vayas.

Ahora, dentro de un equipo Scrum, el rol responsable de determinar "el qué" es el PO, por lo tanto, él es el encargado de definir que cualquier cosa que se construya sea de altísimo valor y cumpla con las expectativas de la comunidad de usuarios y de los interesados, indistintamente si se construye o no a alto ritmo.

Por el Tamaño en los ítems de Backlog (Historias de Usuario)

Ahora, partamos de la base que tenemos un grupo de profesionales del mundo del desarrollo de software, un equipo multidisciplinario, con buenas prácticas de desarrollo de software, y un PO, que prioriza constantemente su producto orientado al valor.

¿el generar rápidamente resultados de valor de forma incremental dependerá del Equipo de Desarrollo?

En esencia, ¡NO! la respuesta depende más de del tamaño de los ítems que van a construir, 

Veamos,
  • si los ítems o historias de usuario son muy grandes les tomará mucho esfuerzo transformarlas en incrementos de valor, muchas veces hasta varios sprints, generando inconformidad, pues "ese equipo trabaja y trabaja y nada que entrega". Un ejemplo de esto son historias de tamaño superior a 10 días-persona para alcanzar la definition of done.
  • un tamaño óptimo fluirá apropiadamente a través del equipo de desarrollo, ejemplo: historias de usuario de 2 a 3 días-persona para alcanzar la definition of done (esto es fruto de la experiencia, me encantaría que lo validaras). En DevOps esto se llama trabajar en Lotes Pequeños o Small-Batches. (Visita este ejemplo si quieres ver un tamaño de historia de usuario razonable -clic aquí-)
  • un ítem de backlog demasiado pequeño implicará que el equipo de desarrollo será altamente eficiente construyendo piezas de valor muy pequeñas con alto esfuerzo de manipulación (imagínate escribir una historia de usuario por cada campo de un formulario o de un reporte, desgastante, ¿No cierto?)
Esto es representado en la siguiente gráfica de Donald Reinersten


En el siguiente video, se puede visualizar cómo tener un lote grande - de 10 ítems - (podría asimilarse a una historia de usuario con muchas funcionalidades) es más lento de transportar que un lote pequeño - de 1 ítem - (podría a asimilarse a una historia de usuario, pequeña y de tamaño óptimo)



Unos Consejos 

A continuación, unos consejos para cerrar:
  • La priorización por valor y la construcción de un producto que genere valor es la clave del enfoque ágil. Como lo he compartido antes: 
    • "Ágil es sobre gestión de valor y no gestión de alcance"
    • "El alcance es un medio para generar valor"
  • un buen tamaño de historia de usuario permitirá la fluencia del equipo y entregar funcionalidades de forma continua 
  • mi experiencia me ha demostrado que un buen tamaño es de 2 a 3 días-persona en alcanzar la Definition of  Done, sugiero lo experimentes y lo compartas en la zona de comentarios.
  • la división, refinamiento o "splitting" de historias de usuario es una excelente práctica requerida ya que permite a los equipos alcanzar buena velocidad en la construcción del producto (1)
  • Un buen sprint backlog debe contar aproximadamente con 6 a 10 historias de tamaño similar (1)

Unas preguntas que Invitan a la Acción

  • Como PO
    • ¿sabes cuál es el producto correcto?
    • ¿sabes cuándo estás construyendo el producto incorrecto? ¿tienes poder para corregir el camino?
    • ¿sabes hacer división o refinamiento de historias de usuario?
    • ¿logras que las historias de usuario queden de tamaño pequeño para el sprint planning de modo que al equipo le tome 2 a 3 dias-persona lograr la definition of done?
  • Como SM
    • ¿sabes guiar a tu PO en los aspectos mencionados anteriormente?



Notas, Referencias, Aclaraciones, Comentarios y Observaciones

  1. Leído y Recomendado: Patrones de División de Historias de Usuario o Cómo Dividir una Historia de Usuario (clic aquí)

1 comentario: