• Smoking Brains

¿Cómo hacer estimaciones?

Actualizado: 20 de may de 2019

Hay mucha literatura acerca de las estimaciones en la generación de software. No sólo hablamos de cómo estimar sino también de movimientos como #noEstimates que van un paso más allá. ¿Es necesario estimar el trabajo? ¿Podemos predecir cuánto nos va a costar hacer algo? ¿Es todo demasiado complejo? ¿Sirve de algo todo esto? ¿Estimar es simplemente una pérdida de tiempo y energía? ¿Podríamos vivir felizmente sin estimar simplemente entregando valor?

Vayamos por pasos: ¿qué nos dice la Real Academia de la Lengua Española?

estimación

Del lat. aestimatio, -ōnis.

1. f. Aprecio y valor que se da y en que se tasa y considera algo.

2. f. Aprecio, consideración, afecto. Ha merecido la estimación del público. Es objeto de mi estimación.

3. f. desus. Instinto de los animales.


Estimar no es más que un mecanismo para predecir cuándo algo va a estar terminado y, en el fondo, a todos nos gusta planificar de una forma u otra:

  • Si hacemos un viaje nos gusta saber más o menos cuánto nos vamos a gastar y cuánto tiempo vamos a invertir allá donde vayamos.

  • Si preparamos una barbacoa para los amigos necesitamos saber cuánta gente va a venir y cuánta comida vamos a tener que comprar.

  • Si hacemos obras en el baño seguramente nos gustará saber cuándo más o menos se van a terminar.

  • Si nos tienen que operar es posible que nos interese conocer cuánto tiempo se supone que va a durar la intervención y cuánto tiempo estimado tendremos que estar en el hospital.

¿Por qué nos cuesta tanto entonces decir cuánto tiempo vamos a invertir en terminar una tarea? ¿Es nuestra tarea más compleja que gestionar una vuelta al mundo, una operación o una reforma de la cocina? ¿Realmente es tan difícil nuestro trabajo? En todos los casos que nos imaginemos pueden surgir imprevistos que modifiquen nuestra estimación inicial pero, aún así, somos capaces de predecir.


Es bien conocido el cono de la incertidumbre a la hora de cuán precisa es una predicción a lo largo de la vida de un proyecto.


Cuanto más avanzamos en el tiempo más fácil nos es decir cuánto costaría introducir una nueva feature. Esto parece cierto siempre y cuando conozcamos las tripas del software, claro.


¿Nos interesa poder predecir?

  • Si pensamos en nosotros mismos: podemos ver una evolución en nuestra forma de trabajar cuando nos enfrentemos a tareas similares.

  • Si pensamos en nuestro equipo: podemos ver y entender distintos puntos de vista. Estimar todos juntos propicia la discusión, la aparición de posibles problemas y la generación de ideas.

  • Si pensamos en otros departamentos: pueden tener una idea de cuánto nos puede llevar hacer algo y actuar en consecuencia, evitando sorpresas.

Saldrán imprevistos, recordemos que Murphy forma parte de nuestro equipo.

Fallaremos estimando, estimar no es sencillo y jugamos siempre con el factor de lo desconocido.


Pero lo hagamos mejor o peor, tendremos una herramienta más sobre la que ir aprendiendo y sobre la que adaptarnos a los cambios.


Así que, ¿cómo estimamos?

Busquemos el método que nos vaya mejor. En Scrum se acostumbran a utilizar puntos de historia, usando normalmente, planning poker. Utilizar una unidad que no coincide con el tiempo real nos ayuda a definir tareas relativamente a otras tareas. Si pensamos en tallas de camisetas (S, M, L, XL, XXL) una tarea L costará menos que una tarea XXL y más que una tarea S. ¿Cuánto tiempo dura cada talla? No lo sabemos, pero sí sabemos que el equipo es capaz de realizar tantas camisetas en tanto tiempo. ¿Nos inventamos otra medida que nos guste más? ¿Nos cuentas si has encontrado otra forma de medir? :)







Barcelona © 2015 - 2019