35
1 Estimación Ingeniería de software Eduardo Ferreira, Martín Solari

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

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.