freeCodeCamp/guide/spanish/agile/actual-time-estimation/index.md

5.7 KiB
Raw Blame History

title localeTitle
Actual Time Estimation Estimación del tiempo real

Estimación del tiempo real

La estimación del tiempo real es el proceso de predecir la cantidad de esfuerzo más realista (expresada en términos de horas por persona o dinero) necesaria para desarrollar o mantener software basado en información incompleta, incierta y ruidosa. Las estimaciones de esfuerzo se pueden utilizar como información para los planes de proyecto, planes de iteración, presupuestos, análisis de inversión, procesos de precios y rondas de licitación.

Estado de practica

Las encuestas publicadas sobre la práctica de la estimación sugieren que la estimación de expertos es la estrategia dominante al estimar el esfuerzo de desarrollo de software.

Por lo general, las estimaciones de esfuerzo son demasiado optimistas y existe una gran confianza en su precisión. El exceso de esfuerzo medio parece ser de alrededor del 30% y no disminuye con el tiempo. Para una revisión de las encuestas de error de estimación de esfuerzo, vea. Sin embargo, la medición del error de estimación es problemática, ver Evaluación de la precisión de las estimaciones. El fuerte exceso de confianza en la precisión de las estimaciones de esfuerzo se ilustra con el hallazgo de que, en promedio, si un profesional de software tiene un 90% de confianza o está "casi seguro" de incluir el esfuerzo real en un intervalo mínimo-máximo, la frecuencia observada de incluir el esfuerzo real es solo 60-70%

Actualmente, el término "estimación de esfuerzo" se usa para denotar como conceptos diferentes el uso más probable del esfuerzo (valor modal), el esfuerzo que corresponde a una probabilidad del 50% de no exceder (mediana), el esfuerzo planificado, el esfuerzo presupuestado o El esfuerzo utilizado para proponer una oferta o precio al cliente. Se cree que esto es desafortunado, porque pueden surgir problemas de comunicación y porque los conceptos sirven para diferentes objetivos.

Historia

Los investigadores y profesionales de software han estado abordando los problemas de estimación de esfuerzo para proyectos de desarrollo de software desde al menos la década de 1960; Véase, por ejemplo, el trabajo de Farr y Nelson.

La mayor parte de la investigación se ha centrado en la construcción de modelos formales de estimación del esfuerzo de software. Los primeros modelos se basaban típicamente en análisis de regresión o se derivaban matemáticamente de teorías de otros dominios. Desde entonces, se ha evaluado un gran número de enfoques de construcción de modelos, tales como enfoques basados en razonamiento basado en casos, árboles de clasificación y regresión, simulación, redes neuronales, estadísticas bayesianas, análisis léxico de especificaciones de requisitos, programación genética, programación lineal, producción económica. modelos, computación suave, modelado lógico difuso, arranque estadístico y combinaciones de dos o más de estos modelos.

Los métodos de estimación quizás más comunes en la actualidad son los modelos de estimación paramétrica COCOMO, SEER-SEM y SLIM. Tienen su base en la investigación de estimación realizada en los años 70 y 80 y desde entonces se actualizan con nuevos datos de calibración, siendo la última versión principal COCOMO II en el año 2000. Los enfoques de estimación basados en medidas de tamaño basadas en la funcionalidad, por ejemplo, funcionan puntos, también se basa en investigaciones realizadas en las décadas de 1970 y 1980, pero se recalibran con medidas de tamaño modificadas y diferentes enfoques de conteo, como los puntos de caso de uso o puntos de objeto en la década de 1990 y COSMIC en la década de 2000.

La estimación del tiempo real es un método basado en el tiempo para estimar el trabajo de desarrollo.

Es de vital importancia poder estimar el tiempo hasta la finalización de un proyecto Agile; desafortunadamente, también es una de las partes más difíciles de la planificación de un proyecto Agile.

Su intención es aproximar mejor la cantidad de tiempo requerido para completar una tarea de desarrollo determinada.

Una técnica que puede usar es estimar el tiempo que tomará completar las historias de los usuarios. Cuando esté haciendo esto, recuerde consultar con otros miembros de su equipo ágil. Para cada historia de usuario, asegúrese de estimar un tiempo que sea realista y factible, pero no tanto que el cliente esté sobrecargado por un trabajo simple. Consulte a los miembros de su equipo para que pueda aprovechar su experiencia para poder comprender cuánto trabajo se requiere y cuánto tiempo tomará. Cuando tiene un consenso para cada historia de usuario, puede sumar los tiempos para llegar a una estimación de tiempo.

A medida que los requisitos del proyecto cambian con el tiempo, puede actualizar la estimación. Si un proyecto pierde algunos recursos asignados originalmente a él, es posible que tenga que recortar las historias de usuario para poder completarlas en la misma cantidad de tiempo total. Del mismo modo, si desea mejorar la calidad de la aplicación, es posible que deba asignar más tiempo a cada historia de usuario para asegurarse de que su equipo tenga tiempo para finalizar la aplicación con la calidad deseada.

En general, estas estimaciones se calculan utilizando las horas de ingeniería ideales.

Ejemplos:

Esta tarea se completará en 10 días.

O…

Esta tarea se completará el 10 de enero.

O…

Esta tarea requerirá 25 horas de desarrollo para completarla.

Más información: