martes, 14 de noviembre de 2017

¿En Scrum utilizamos colchones en las estimaciones?

Durante unos cuantos años fui jefe de proyecto tradicional, y como tal utilicé los colchones para acercar las estimaciones de los desarrolladores a lo que yo creía como factible, a lo que me decía mi experiencia, o al menos de eso estaba convencido.

Los colchones resultaron en una trampa: yo le pedía una estimación a un desarrollador y él me decía 4 horas por ejemplo, mi experiencia me decía que por lo menos iban a ser 6, y como no podía llevar dos contabilidades de las estimaciones registraba 6 horas en el gestor de tareas y planificaba 6 horas en mi hermoso y perfecto gantt. Cuando le llegaba la tarea al desarrollador este veía 6 horas, y convencido de que eran 4, dedicaba las primeras 2 horas a cerrar otras tareas, contestar emails, etc. Finalmente se ponía con la tarea justo cuando le quedaban las 4 horas, lo que había estimado, pero como algo de razón llevaba yo acababa necesitando 5 horas... Los colchones son algo engañoso, ya que, aunque introduciendo el colchón daría tiempo de sobras para realizar la tarea, nunca resultaba así, siempre falta alguna hora. Y así esas pequeñas desviaciones se acumulan y escalan con implicaciones mayores por la complejidad y las interdependencias propias de un gantt...

Slack time o aire provee de margen de capacidad para hacer posible la cadencia
Y después conocí Scrum y me di cuenta que por mis venas corría Agilidad. En Scrum tenemos el concepto de "slack time", holgura o aire, que permite que haya ritmo. Scrum, Kanban, Agilildad y Lean buscan imprimir flujo de forma sostenible a la construcción de cosas. El flujo viene a ser el ritmo con el que progresan las tareas o el trabajo. El flujo recorre la cadena de valor y puede estar afectado por impedimentos como los cuellos de botella, las restricciones y las políticas empresariales.

La cadencia, que viene a ser marcar un ritmo de tiempo fijo a nuestras tareas, hace que acometamos estas de principio a fin maximizando el ratio de entrega y calidad, como lo hacemos con los sprints de Scrum. La cadencia nos permite poner flujo a tareas que tengan alta variabilidad, como lo son las tareas en el desarrollo TI. Para hacer posible la cadencia necesitamos pequeñas holguras o aire con cada golpe de ritmo, entre cada sprint, no podemos concebir un solo de batería sin silencios.

Para crear un sistema que funcione es necesario que los tres elementos, flujo, cadencia y aire trabajen de forma conjunta. La respuesta al post es que necesitamos aire, no colchones, entre sprint y sprint, un concepto algo distinto. El aire es algo transparente que forma parte del método, el colchón es algo con tendencia a que lo ocultemos, ya que pondría a la luz nuestra ignorancia sobre el flujo real de nuestro plan.

Si no tuviéramos aire nos costaría cada vez mas cumplir con nuestras tareas y el sistema entraría en estrés. He observado una y otra vez como compañías que intentan llenar al 100% los sprints con tareas, se sumergen en un estrés que escala y que por ende hace que los proyectos fracasen:
  • Se produce una carencia en la absorción de variabilidad, lo que impacta fuertemente la predecibilidad
  • No hay innovación, los equipos se encuentran en constante situación de urgencia
  • La deuda técnica crece de forma incontrolada
  • Los miembros de los equipos se queman
  • No hay tiempo para planificar, revisar ni mejorar de forma conjunta
En un marco de Scrum escalado sería imposible trabajar sin espacios de aire, en un marco escaldo hemos de garantizar la entrega a final de sprint, ya que si falla un equipo pueden fallar todos aquellos que trabajen en el mismo producto, y eso es un riesgo demasiado grande correrlo.

Hemos visto la importancia de inyectar aire, pero si ese aire no fuera necesario para absorber cambios y accidentes, ¿qué hacer en ese tiempo?
El aire permite que haya cadencia, mejora continua,
grandes ideas y serendipia - Cortesía de Pixabay
Uno de los pilares de Scrum es la mejora continua, y para que se produzca esta es necesario espacios de tiempo que nos permitan reflexionar y hacer aquellas cosas que nunca hacemos porque parecen poco importantes, pero resulta que mejoran sensiblemente nuestra forma de trabajar: siempre suele haber actualizaciones pendientes, herramientas que probar, mejoras que queremos hacer pero no encontramos el tiempo, ideas y experimentos que queremos realizar, artículos que leer...

Hay más beneficios que de otra manera no se darían: team-building realizando una actividad de la que disfrutamos y que compartimos con nuestros compañeros, propicia la confianza dado que los temas ocultos pueden emerger, espacio para que ocurra la serendipia, esas ideas y descubrimiento inesperados y geniales que ocurren cuando se está buscando otra cosa... ese aire o slack time tiene muchos beneficios, nos da la posibilidad de hacer cosas creativas y grandes.

Mis agradecimientos a José, os animo a leer su post "Reservas de contingencia y reservas de gestión", refuerza y enriquece este post desde la gestión de proyectos en cascada, en la que el concepto paralelo de reservas se trata desde hace tiempo :-)

6 comentarios:

  1. Muy buena lección Alexander. Aunque no lo apliquéis, conviene estudiar metodologías de gestión de proyectos, porque esa lección hace años que la tienen aprendida en frameworks como PMBOK. Y es perfectamente equivalente con lo que planteas. En gestión clásica se le llaman "reservas" en vez de "aire". Y los colchones (o el padding) están marcados como una mala práctica. Precisamente por los mismos motivos que tú has indicado. Por si queréis un brevísimo resumen sobre reservas: Reservas de contingencia y reservas de gestión

    ResponderEliminar
    Respuestas
    1. Muchas gracias José,

      Uno de los trainers con los que colaboro me decía que es importante conocer a fondo las metodologías clásicas como el PMBOK, porque así puedes comparar y enriquecer. Quizá debiera cursar el PMP de PMI y enriquecer mis conocimientos...

      Muchas gracias, he añadido un agradecimiento y un link al artículo que porpones al final del post :-)

      Alex

      Eliminar
    2. No te digo prepararte para sacar un PMP, pero sí echarle un vistazo. Son muchos años de experiencia. Luego toca separar la paja (que hay varios kilos) y encontrar el oro. Ánimo. ¿Estás seguro de que has comentado? No lo veo.

      Eliminar
    3. Si me propongo sacar un PMP lo haré, con un vistazo nunca encontraré el tiempo... preferiré escribir un post, leer algo relacionado con Agile... me conozco, jajaja.

      Mira al final del post con letra más pequeña, en el cuerpo del post :-)

      Mil gracias, saludos,

      Alex

      Eliminar
    4. Ahora.... Creía que te referías a que habías comentado en mi blog poniendo algún link al tuyo. Ya me estaba mosqueando por si algo me fallaba en los comentarios, jeje. Un detallazo. Por cierto, me has inspirado y he escrito uno específico sobre colchones, y como es de bien nacidos ser agradecido, sales en él. Pero hay 40 artículos pendientes de salir antes que ese... así que pasarán unos meses. Un saludo, y me tendrás pululando por aquí a menudo.

      Eliminar
    5. Muchas gracias José, estaré pendiente :-)

      Eliminar