1 votos

Suma de estimaciones de trabajo con probabilidades

Cuando me preguntan cuánto tiempo llevará una tarea de desarrollo de software, he empezado a dar estimaciones con una probabilidad de que se complete dentro de esa estimación. Esto me permite comunicar una confianza en la estimación, es decir, un 80% de probabilidad de arreglar un error en 3 días. Si sé poco sobre el trabajo que hay que hacer, la confianza puede ser mucho menor, hasta el punto de que hay que hacer algo de trabajo sólo para poder hacer una estimación más útil.

Esto es útil para una tarea a la vez, pero ¿pueden combinarse útilmente múltiples estimaciones y probabilidades?

Por ejemplo: $$ \begin{array}{c|c} \text{days} & \text{percent}\\ \hline 3& 50\\ 9& 80\\ 6& 90\\ 2& 20\\ 5& 60\\ \end{array} $$ Mi primer pensamiento es sumar los días y promediar las probabilidades para dar 25 días y 60%, pero esto parece que es darle demasiado peso a la tarea pequeña.

¿Existe algún método establecido en el que deba fijarme? ¿Debo proporcionar más información con las estimaciones de las tareas? Se aceptan más lecturas.

1voto

No creo que se pueda obtener una estimación significativa del tiempo total, con una probabilidad de terminación en ese tiempo, mediante un cálculo basado en esos datos para las tareas individuales. Pero hay una manera de hacerlo. Primero hay que asumir una forma de distribución de probabilidad para los tiempos de las tareas individuales. A partir de estas distribuciones, obtenga una distribución para el tiempo total, que le permitirá dar una estimación que sea alcanzable con una probabilidad deseada.

Una forma fácil, aunque aproximada, de hacerlo sería asumir distribuciones normales para los tiempos de las tareas individuales. Aunque esto es bastante irreal, tiene dos grandes virtudes: en primer lugar, el error de esta elección de modelo tenderá a disminuir a medida que aumente el número de tareas; en segundo lugar, y quizás más importante, la distribución del tiempo total y las estimaciones con las probabilidades asociadas pueden calcularse por simple aritmética a partir de tablas estándar.

Los detalles sobre cómo hacerlo son ampliamente conocidos, y yo (o muchos otros colaboradores de este sitio) podría proporcionárselos si lo desea.

Editar: Suponemos que $n$ las tareas se realizan en un orden determinado, y la distribución de los tiempos de cada tarea está condicionada a que se hayan realizado las tareas anteriores. Los tiempos de la tarea $i$ se modelan como de distribución normal: $T_i \sim \mathrm N(\mu_i, \sigma_i^2)$ , para $i=1 ,..., n$ , donde $\mu_i$ es el tiempo previsto para la realización de la tarea $i$ , en este caso el tiempo en el que hay un 50% de probabilidades de que se complete, y $\sigma_i^2$ es la varianza asociada, que es una medida de la incertidumbre de $T_i$ . Para calcular $\mu_i$ y $\sigma_i$ (la raíz cuadrada de la varianza, es decir, la desviación estándar), se necesitan dos números, que se pueden estimar en tiempos de finalización para dos probabilidades. Lo más conveniente es tomar estas probabilidades como el 50% y el 84,134% (como sucede). Entonces, $\mu_i$ es el tiempo en el que hay un 50% de probabilidades de que se complete, y $\mu_i+\sigma_i$ es el tiempo en el que hay un 84,134% de probabilidades de que se complete. A partir del segundo tiempo, se obtiene $\sigma_i$ restando $\mu_i$ .

Con estos $\mu_i$ y $\sigma_i$ , calcule $\mu=\mu_1+\cdots+\mu_n$ y $\sigma^2=\sigma_1^2+\cdots+\sigma_n^2$ . Ahora el tiempo de toda la tarea se modela como una variable aleatoria $T$ con $\mathrm N(\mu, \sigma^2)$ distribución. Para estimar un tiempo de finalización dentro de la tarea completa con una probabilidad dada $p$ En este caso, se necesita una tabla de probabilidades acumulativas para la distribución normal estándar, utilizando la llamada puntuación z: $$Z=\dfrac{T-\mu}{\sigma}.$$ Tomando el valor de $Z$ correspondiente a su elección $p$ en la tabla, y haciendo $T$ el tema de la fórmula anterior, encontramos que toda la tarea puede ser completada dentro del tiempo $T=\mu+\sigma Z$ con probabilidad $p$ .

La crítica obvia al procedimiento anterior es que los tiempos de finalización de las tareas de la vida real no son normales: en concreto, hay un tiempo mínimo de finalización incluso cuando la tarea se desarrolla de la forma más fluida posible (el problema del truncamiento), mientras que los tiempos distribuidos normalmente son ilimitados, incluso con "tiempos" negativos; además, a veces hay retenciones inesperadas que hacen que la tarea dure mucho más de lo habitual (el problema de la cola gruesa). Sin embargo, la magia del teorema del límite central de la estadística disminuye la relevancia de esta crítica cuando se suman los tiempos de varias tareas. En condiciones bastante débiles, la distribución de los tiempos de ejecución de una tarea completa tiende a la normalidad, incluso si los tiempos de las tareas que la componen no son en absoluto normales, a medida que aumenta el número de componentes. Además, el comportamiento de la distribución para tiempos pequeños (o negativos) no es relevante para la estimación superior del tiempo de finalización que se desea realizar.

La teoría en la que se basa el procedimiento anterior puede encontrarse en cualquier libro de texto estándar de estadística. Si se desea una modelización más precisa utilizando distribuciones truncadas de cola gruesa, habrá que consultar obras avanzadas de especialistas en estadística aplicada. Pero dudo que el esfuerzo que conlleva suponga un retorno proporcional en forma de mayor precisión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X