Articles

El experimento de cono de incertidumbre

El cono de incertidumbre es una herramienta poderosa que representa la incertidumbre sobre el tiempo requerido para completar un proyecto, basado en la cantidad de conocimiento (o falta de conocimiento) al comienzo de un proyecto. En este artículo, exploramos un experimento realizado por un equipo de personas en Codebots para determinar cómo la aplicación de un cono de incertidumbre podría mejorar las estimaciones de proyectos.

Como parte de nuestra serie de estimaciones de software, exploramos la importancia de gestionar las expectativas como parte de cualquier proyecto de software. Este artículo se centrará en el cono de incertidumbre, una poderosa herramienta para mitigar los riesgos involucrados en el proceso de análisis y estimación. En esencia, es una representación de la incertidumbre sobre el tiempo requerido para completar un proyecto, basado en la cantidad de conocimiento (o falta de conocimiento) al comienzo de un proyecto. En última instancia, explica el riesgo de que el proyecto explote debido a incógnitas, y el hecho de que cuanto más lejos en el futuro intente estimar, más probable es que se equivoque. Es una paradoja interesante donde queremos predecir el futuro con precisión, sin embargo, no podemos ser verdaderamente precisos porque es solo una estimación.

Image

En caso de que aún no lo haya hecho, le recomiendo que se familiarice con un experimento anterior que realizamos aquí en Codebots para descubrir cómo podríamos administrar mejor los riesgos en el software. La motivación de ese ejercicio fue el sobreoptimismo frecuente de nuestros equipos de software a la hora de realizar estimaciones.

Habiéndonos equipado con el mejor procedimiento para proponer un experimento, identificamos un problema en nuestras estimaciones de alcance fijo. Cada cotización contenía una variación mínima del 80% del trabajo realizado, sin importar la duración del proyecto. Como no aplicamos un cono de incertidumbre, nuestra capacidad de proporcionar a nuestros clientes estimaciones realistas y gestionar sus expectativas se vio obstaculizada significativamente.

Paso 1: Entender el problema

Como se mencionó anteriormente, encontramos un problema en nuestras estimaciones, que ocurre cuando proporcionamos un precio de alcance fijo en la etapa de cotización. (Alcance fijo, es decir, entrega de los requisitos exactos dados, pero por un período de tiempo flexible). No importa la duración del proyecto, siempre pasamos por alto debido a que tenemos una gran cantidad de variaciones.

La causa raíz-no teníamos un cono de incertidumbre. No tuvimos en cuenta el hecho de que cuanto más lejos en el futuro se intenta predecir, mayor es el aumento de la varianza de tiempo. Esto se debe a la presencia de una serie de riesgos específicos, siendo los más graves las estimaciones inexactas, las variaciones de alcance y la participación del usuario final. Debido a que todo fue estimado al principio, no hubo oportunidad de alterar la estimación para tener en cuenta estos riesgos descubiertos. En cambio, el impacto de estos riesgos se agrava a lo largo de la vida útil del proyecto, lo que significa que cuanto más tiempo dure el proyecto, más intenta predecir y, por lo tanto, es más probable que se equivoque.

Paso 2: Desarrollar una hipótesis

Habiendo digerido el problema, a continuación trabajamos en el desarrollo de una hipótesis para probar cómo un cono de incertidumbre podría aplicarse con precisión a nuestras estimaciones de alcance fijo.

A partir de esto, se planteó la hipótesis de que se podría utilizar una fórmula para calcular el tamaño del Cono de Incertidumbre, dada la duración de un proyecto.

Paso 3: Planificar el experimento

Equipado con nuestra hipótesis, procedimos a planificar un experimento para probar nuestra proposición del Cono de Incertidumbre. Para ello, generamos una función cuadrática para simular nuestro cono, con un parámetro que representa el número de semanas de desarrollo previstas. Luego podríamos aplicar este multiplicador a nuestras estimaciones para tener en cuenta la varianza de tiempo, en función de cuán lejos en el futuro estábamos tratando de predecir.

Image

Si aplicamos esto a los datos de estimación de proyectos anteriores, podríamos determinar si un precio de alcance fijo con la variación hubiera sido más preciso.

Paso 4: Recopilamos los datos

Recopilamos datos de una variedad de proyectos, incluida información sobre el tiempo asignado y tomado, las historias completadas, el tiempo hasta la finalización, incluidas notas adicionales sobre el proyecto y los riesgos encontrados.

Tomando las estimaciones, calculamos un valor hipotético de alcance fijo para cada proyecto, utilizando el cono de incertidumbre. Utilizando esta información, pudimos examinar si el tiempo que realmente tardamos en desarrollar, terminando tanto el trabajo inicial como las variaciones adicionales, era comparable a los nuevos valores de estimación generados utilizando el cono de incertidumbre. Resulta que la estimación mejorada y el tiempo realmente tomado eran muy similares.

Paso 5: Tomar una decisión

Al final, los datos demostraron que si aplicamos el Cono de Incertidumbre a un alcance fijo, utilizando una fórmula que tiene en cuenta la duración de un proyecto, terminaríamos con una estimación que tendría en cuenta la varianza que se produce sobre el desarrollo del proyecto.

En última instancia, recomendamos que, en lugar de intentar estimar todo el proyecto, un equipo de desarrollo solo se centre y estime una pequeña cantidad de trabajo. Esto ayudará a reducir el impacto de las incógnitas y, por lo tanto, el tamaño del cono de incertidumbre. Esto también significa que a medida que el equipo trabaja en el proyecto, aprende más sobre él, y cuando se trata de estimar la siguiente parte del trabajo, pueden reducir la incertidumbre y hacer estimaciones más precisas.