Primeros pasos con las estimaciones

Las primeras veces que tenemos que estimar historias se nos hace muy cuesta arriba. ¿Cómo empiezo? ¿Y si me equivoco? ¿Hemos de estimar tiempo, complejidad o ambas? ¿Cómo demonios sé lo que voy a tardar en hacer algo? En este post hablaré de estimación en días ideales vs. puntos de historia y del concepto de velocidad, de las estrategias que podemos seguir al hacer estimaciones y alguna cosa que he aprendido al aplicar todo esto en proyectos reales.

Días ideales (DI) vs. Puntos de historia (PH)

La forma más intuitiva de estimar una tarea es con días ideales. A bote pronto, si te preguntan cuándo tendrás lista alguna tarea, seguramente pensarás en el tiempo que te va a llevar completarla, siempre que no tengas interrupciones. Este detalle es importante, y es por lo que decimos días ideales. No podemos tener en cuenta el tiempo que tardamos en contestar al teléfono, gestionar los e-mails, ocuparse de imprevistos, tomar café, etc. Además de ser intuitiva, con esta forma de estimar es relativamente fácil -aunque no especialmente preciso- dar plazos de entrega a gente ajena al equipo.

Los puntos de historia son un concepto un poco más difícil de entender. Para empezar, son una medida de tamaño, no de tiempo. Y, además, no significan nada de forma individual, sino que son una medida relativa: una historia estimada en 5 puntos es más pequeña que una estimada en 13, y más grande que una estimada en 3. De hecho, los PH no tienen unidad, son simplemente PH. Pero entonces, ¿cómo sabemos el tiempo que vamos a tardar en completar una historia a partir de su tamaño en PH?

Velocidad

Para eso utilizamos el concepto de velocidad. La velocidad del equipo es la cantidad de puntos de historia que somos capaces de finalizar en un sprint. De esta manera, si en los 4 últimos sprints hemos tenido una velocidad de 43 (una media de 43 PH finalizados por sprint), y tenemos 150 PH en las historias del backlog, podemos predecir que tardaremos otros 4 sprints en acabarlas (150/43=4).

La principal diferencia respecto a la estimación en días ideales es que no estimamos directamente el tiempo, sino que estimamos el tamaño y derivamos el tiempo a partir de la velocidad del equipo. ¿Qué ventajas nos reporta esta separación?

  • En primer lugar, las estimaciones hechas en puntos de historia no se degradan a medida que el equipo gana experiencia. A medida que el proyecto avance, cada vez tardaremos menos tiempo en realizar las tareas, lo cual nos obligará a revisar a la baja las estimaciones hechas en días ideales. En cambio, las estimaciones hechas en PH no tienen por qué revisarse, puesto que lo que se ve afectado al ir más rápido es la velocidad del equipo (vaya perogrullada :P), no el tamaño de las historias.
  • Este efecto de la velocidad se puede aplicar también de forma individual: no todos los miembros del equipo son igual de rápidos, entre otras cosas porque cada miembro del equipo tiene diferentes habilidades. Estimar el tamaño fuerza al equipo a pensar de una forma global, sin caer en sumar días ideales de distintos miembros del equipo.
  • El hecho de que los PH sean una medida pura de tamaño permite estimar por comparación con otras historias -lo cual es muy rápido y preciso- huyendo de la tentación de identificar día ideal con día real. El vínculo entre estimación y realidad es la velocidad del equipo medida de forma empírica, no una asociación inconsciente 1 a 1 absolutamente irreal.

Además, la velocidad sirve para corregir los errores de estimación que podamos cometer, puesto que a medida que vayamos completando los sprints la velocidad se irá ajustando al desempeño real del equipo. De esta forma, a medida que el proyecto avanza cada vez podemos ser más precisos en las previsiones de plazos de entrega.

Estrategias para estimar

Cuando nos enfrentamos a la tarea de estimar una historia, podemos seguir varias estrategias. La más elemental es dividir una historia grande en varias más pequeñas y manejables. No es necesario que todas las historias del Product Backlog (PB) estén divididas al mismo nivel: podemos ir dividiendo y estimando de forma más precisa las historias del PB a medida que se vaya acercando el momento de incluirlas en el sprint. Como siempre, no se trata de hacerlo perfecto al inicio, sino de ir rehaciendo y ajustando las estimaciones a medida que avanzamos y sabemos más sobre el proyecto y el equipo.

Una vez tenemos historias con un tamaño confortable, podemos optar por dos formas de estimarlas:

  • Opinión experta: Se trata de que un experto en el tema analice la historia y basándose en su experiencia y/o intuición haga la estimación. El principal problema de esto es la amplitud de conocimientos que ha de tener el experto:  piensa por ejemplo en una historia que comprenda desde diseñar la UI hasta hacer las consultas SQL.
  • Analogía: En este caso, comparamos la historia con otras que ya hayamos realizado, o que estemos estimando en el mismo momento. En este caso, el razonamiento es: como esta historia es algo más grande que la historia X de 5 PH, pero más pequeña que la Y (13 PH), pues serán 8 PH. La gran ventaja de este método es que no se requiere un experto omnipotente, y que las estimaciones serán cada vez mejores en base a comparar con todas las historias pasadas.

En mi opinión, el primer paso es dividir las historias hasta que sean manejables y estemos confortables con ellas. A partir de ahí, por mi experiencia, casi siempre los equipos  empiezan utilizando días ideales y opinión experta para, poco a poco, acabar trabajando con puntos de historia y por analogía con otras historias.

Parece una evolución lógica desde una gestión de proyectos más clásica, donde un Jefe de proyecto (opinión experta) estima tiempos para cada tarea y elabora un diagrama de Gantt precioso😉 de obligado cumplimiento, hacia una gestión ágil, en un equipo multidisciplinar, donde no importa tanto la planificación inicial como la habilidad para ir ajustando el plan a medida que el proyecto avanza.

Hasta la próxima  :)

Esta entrada fue publicada en Gestión de proyectos y etiquetada , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s