Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · –...
Transcript of Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · –...
![Page 1: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/1.jpg)
1
Estimación
Ingeniería de softwareEduardo Ferreira, Martín Solari
![Page 2: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/2.jpg)
2
Temario
• Estimación• Modelos paramétricos• Proceso y ajuste de las estimaciones
![Page 3: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/3.jpg)
3
Estimación
• Estimar: predecir valores de entidades y sus atributos que sean relevantes para el proyecto.– Predecir: anticipar con cierto grado de
certeza.
– Entidades: en software son procesos, productos y recursos.
– Atributos: características de las entidades.
– Relevantes: las que implican mayor riesgo.
![Page 4: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/4.jpg)
4
Estimación
• ¿Cuándo estimar?– Etapas preliminares:
• Para cotizar para un contrato.• Para realizar estudios de factibilidad.
– Durante el proyecto:• Un patrón contra el cual medir, ajustar el
desempeño, y anticipar riesgos.
– Al final del proyecto:• Extrapolar resultados a otros proyectos.
![Page 5: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/5.jpg)
5
Estimación
• ¿Porqué estimar?– Sin una estimación precisa, no se puede
gestionar los recursos en forma efectiva.
• ¿Qué estimar?– Tamaño– Esfuerzo– Tiempo (Cronograma)– Recursos– Defectos
![Page 6: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/6.jpg)
6
Estimación• Proceso de estimación típico
Estimar TAMAÑONo. de líneas de códigoo puntos de función
Estimar ESFUERZOmeses-hombre
Estimar CRONOGRAMA enmeses calendario
![Page 7: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/7.jpg)
7
Estimación
• Elementos que influyen en la estimación de un proyecto de software– Experiencia del equipo
– Proceso utilizado– Lenguajes
– Tamaño del software– Hábitos y horas extra
![Page 8: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/8.jpg)
8
Estimación• Problemas de las estimaciones
– Inexactas, nunca hay dos proyectos iguales.
– Falta de datos históricos sobre productividad.– Modelos para estimar tamaños y complejidad
sensibles a factores subjetivos.
![Page 9: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/9.jpg)
9
Estimación
• Fuente de error común son los datos históricos incompletos:– No incluir todas las actividades realizadas.– No incluir todos las clases de trabajadores
participantes.– No incluir horas extras no pagas.– Ciclos de vida incompletos, dejar fura integración o
actividades de capacitación.– Se omite el costo del trabajo técnico de los usuarios:
especificar requerimientos, validaciones o pruebas.– Se registra el trabajo luego de comenzado el
proyecto.
![Page 10: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/10.jpg)
10
Estimación
• Formas de estimar– Estimación por analogía o juicio experto
– Estimación descomposición.– Estimación paramétrica.
![Page 11: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/11.jpg)
11
Estimación
• Estimación por analogía o juicio experto– También conocida como estimación top-down.– Considera todo el proyecto con otros de similares
características o se usa el juicio de un experto.– Poco costosa.– Menos precisa.
![Page 12: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/12.jpg)
12
Estimación
• Estimación por descomposición– Se descompone el proyecto en unidades de trabajo
(funciones, módulos o actividades) que son fáciles de estimar.
– Ejemplo: esfuerzo de desarrollo de un caso de uso.– Más precisa que la anterior.– Más costosa que la anterior.
![Page 13: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/13.jpg)
13
Modelos paramétricos
![Page 14: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/14.jpg)
14
Estimación
• Modelos paramétricos– Usa modelos estadístico – matemáticos donde se
ingresan los parámetros del proyecto que se va a medir.
– También se llaman modelos empíricos, cuando surgen de la experiencia acumulada de muchos proyectos.
– Ejemplos:• Putnam: Ecuación del software• COCOMO (Constructive Cost Model) para software.
![Page 15: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/15.jpg)
15
Modelos paramétricos• COCOMO (Constructive Cost Model), Boehm 1981.• COCOMO 2, 1999.• Básico.
– Calcula esfuerzo y costo en función de KLOC.– Bueno para estimación rápida, temprana, de proyectos
medianos o pequeños
• Intermedio.– Calcula esfuerzo y costo en función de KLOC y conductores
de costo (restricciones de hardware, experiencia del personal, etc.)
• Avanzado.– Calcula esfuerzo y costo en función de KLOC y
considerando el impacto de los conductores de costo en cada fase (IR, DISEÑO, etc.).
![Page 16: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/16.jpg)
16
Modelos paramétricos
• Orgánico.– Pequeños, sencillos, buena experiencia en el
dominio, requerimientos poco rígidos. (< 50 KLOC)
• Semiacoplado.– Intermedios (tamaño y complejidad), distintos niveles
de experiencia, requerimientos semirígidos.
• Embebido.– Requerimientos muy rígidos en función de hardware
y software de base. (pocos cientos de KLOC)
![Page 17: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/17.jpg)
17
Modelos paramétricos
• Aclaraciones sobre COCOMO– El periodo de desarrollo abarcado por COCOMO
comienza al principio de la fase de diseño (luego de validación de requisitos) y finaliza al final de la fase de integración y prueba.
– Considera tareas de gerenciamiento y documentación.
– Excluye esfuerzo de entrenamiento del usuario, planificación de instalación y conversión, personal del centro de cómputos, secretarias.
– Considera 1 mes-hombre = 152 horas-hombre.
![Page 18: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/18.jpg)
18
Modelos paramétricos
• Ecuaciones de COCOMO– Esfuerzo.
• Cantidad de trabajo requerido para completar una actividad medido en meses-persona.
• E = a(KLOC)b
– ESFUERZO en meses-hombre– KLOC miles de líneas de código
– Duración.• Tiempo de desarrollo en meses cronológicos.• D = c(E)d
![Page 19: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/19.jpg)
19
Modelos paramétricos
Tipo de Proyecto a b c dOrgánico 2,40 1,05 2,50 0,38Semiacoplado 3,00 1,12 2,50 0,35Embebido 3,60 1,20 2,50 0,32
Coeficientes
![Page 20: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/20.jpg)
20
Modelos paramétricos�COCOMO Básico
– Ejemplo (Software Engineering Economics, p.62)• Una compañía de productos químicos planea desarrollar un
nuevo software para el seguimiento de los materiales. Seráelaborado por equipo de programadores de la empresa que han estado desarrollando programas similares durante varios años. Un estudio inicial estimó que el producto tendrá 32.000 LOC.
• Aplicando ecuaciones de proyecto orgánico:
Esfuerzo = 2,4 ( 32 ) = 91 meses-hombre
Duración = 2,5 ( 91 ) = 14 meses
![Page 21: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/21.jpg)
21
Modelos paramétricos
• COCOMO Intermedio– Esfuerzo.
• Cantidad de trabajo requerido para completar una actividad medido en meses-persona.
• E = a(KLOC)b x FAE
– Duración.• Se mantiene la misma fórmula pero utilizando el
esfuerzo ajustado.
![Page 22: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/22.jpg)
22
Modelos paramétricos
• FAE = valoración de 15 atributos conductores de costo.
• Se clasifican en 4 categorías de atributos.– Del producto.– Del hardware.– Del personal.– Del proyecto.
• Se valoran según escala discreta desde muy bajo hasta extra alto.
• Se multiplican los 15 valores entre sí.
![Page 23: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/23.jpg)
23
Modelos paramétricos
�COCOMO Avanzado– Predictores de costo sensitivos por fase
• Algunas fases (diseño, programación, pruebas) están más afectadas por un predictor que otras. Cada predictor toma distintos valores dependiendo de su efecto en cada fase
– Ej: Poca experiencia en la aplicación pesa más al principio
– Tres niveles jerárquicos del producto: módulo, subsistema y sistema
• Los predictores de costo se hacen pesar en el nivel en que tienen mayor influencia
– Considera reutilización código
![Page 24: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/24.jpg)
24
Modelos paramétricos
• Modelo de Putnam– Asume una distribución específica del
esfuerzo a lo largo del ciclo de vida.– Se tomo a partir de la recolección de métricas
de apr’oximadamente 4.000 proyectos.
![Page 25: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/25.jpg)
25
Modelos paramétricos
• Ecuación del software.– Esfuerzo = [LOC x B0,333 / P]3 x (1/t4)– Medido en meses-persona.
– B = factor especial de destrezas.• Considera habilidad de gestión y garantía de calidad según tamaño
del proyecto.• B = 0,16 para 5 <= KLOC <= 15.• B = 0,39 para KLOC > 70.
– P = parámetro de productividad.• Refleja madurez del proceso, grado de aplicación de IS,
habilidades, experiencia, herramientas de desarrollo, complejidad de la aplicación, etc.
• P = 2000, sist. en TR.• P = 10.000, telecom. y soft. de sist.• P = 28.000, aplicaciones comerciales.
![Page 26: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/26.jpg)
26
Proceso y ajuste de las estimaciones
![Page 27: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/27.jpg)
27
Estimación
• Presentación de la estimación– Calificador más/menos
– Rangos– Cuantificación según riesgos
– Casos– Períodos
– Factor de confianza
![Page 28: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/28.jpg)
28
Estimación
• Precisión vs. exactitud– Al estimar considerar la diferencia entre los
conceptos de precisión y exactitud.– 3,67321 puede ser un número de mayor
precisión pero 3,1 es una mejor aproximación al número PI.
– Esta diferencia es importante porque puede producir resultados engañosos al estimar.
![Page 29: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/29.jpg)
29
Estimación
• Validar la estimación con juicio experto:Método Delphi.– Cada experto propone: valor esperado y límites superior e
inferior. Se calculan valores como promedios de:• estimado = (mínimo + 4 x más probable + máximo) / 6.
– Se divulgan y discuten las estimaciones en el grupo. Se repite la estimación tomando en cuenta los acuerdos logrados
– El proceso termina cuando se llega a un valor aceptado por el grupo
• También es una forma de lograr compromiso con las estimaciones.
![Page 30: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/30.jpg)
30
Estimación
• Validación de la estimación basada en la analogía– Seleccionar las métricas que se compararán.
– Elegir proyecto usado como patrón.– Identificar factores en que difieren y
cuantificarlos.• 10% más de listados, p. ej.
– Aplicar extrapolación o interpolación lineal excepto para duración.
![Page 31: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/31.jpg)
31
Estimación
• Recalibrar la estimación– Cuando se realiza un ajuste de la estimación a
partir del progreso realizado y su comparación con la estimación previa, surgen tres opciones:
1. Considerar que la diferencia se compensará en otro momento del proyecto.
2. Agregar o quitar la diferencia de la estimación total.3. Multiplicar la estimación por el factor de diferencia.
![Page 32: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/32.jpg)
32
Estimación
• Recalibrar la estimación– Dado un proyecto estimado en 4 meses. En el
segundo mes se lleva una semana de atraso.• Se compensara la semana porque la productividad inicial es
menor.• Se suma una semana a la estimación de 4 meses.• Se multiplica los cuatro meses por el 1.12.
– Los errores en la estimación en general se deben a razones sistémicas, por lo que la mejor opción es la tercera.
![Page 33: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/33.jpg)
33
Estimación
• Prácticas recomendadas– Evitar estimaciones superficiales.
– Permitir tiempo para estimar, planificar la estimación.
– Utilizar información de proyectos previos, objetivamente obtenida.
– Comparar estimaciones, walk-trhough
– Estimar a nivel de detalle
![Page 34: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/34.jpg)
34
Estimación
• Prácticas recomendadas– No omitir tares comunes.
– Herramientas de software.– Usar distintas técnicas de estimación,
comparar resultados.– Cambiar las prácticas de estimación con el
progreso del proyecto.
![Page 35: Estimación - Prof. Gabriel Matontegabrielmatonte.ueuo.com/materiales/05.Estimacion.pdf · – Calcula esfuerzo y costo en función de KLOC y cond uctores de costo (restricciones](https://reader033.fdocuments.net/reader033/viewer/2022052515/5a74ea6c7f8b9a0d558c059b/html5/thumbnails/35.jpg)
35
Referencias
• Capítulo 4, Ingeniería del Software, 4ta. Edición, Pressman.
• Capítulos 11 y 12, Software Engineering, Shari Pfleeger.• Software Engineering Economics, Bohem.• Estimating Software Costs, Capers Jones.