Transcript
Page 1: Estimación de proyectos de software

Estimación de Estimación de Proyectos de SoftwareProyectos de Software

Page 2: Estimación de proyectos de software

Fines de las EstimacionesFines de las Estimaciones

• Ventas– Cotizar

• Planificación

2

– Y control

Page 3: Estimación de proyectos de software

Técnicas de EstimaciónTécnicas de Estimación

• La técnica del vendedor– Tiempo: ¿para cuándo lo quiere?– Costo: ¿de cuánto dispone?

• Experiencia y analogía• Wideband Delphi• Algoritmos de estimación

3

• Algoritmos de estimación– PROBE– Function Points– Use Case Points– Algoritmos comerciales

• COCOMO• Cost Xpert• Y muchos más!

Page 4: Estimación de proyectos de software

Wideband Delphi Wideband Delphi (Rand)(Rand)

• Examinar los requerimientos• Discutir los requerimientos• Grupo de expertos estiman anónimamente• Se promedian los valores

4

• Se promedian los valores• Los expertos comparan los datos anónimos

con el propio estimado• Se explican las diferencias• Se repite el ciclo hasta que converjan los

resultados

Page 5: Estimación de proyectos de software

Divide y VencerásDivide y Vencerás

• Descomponer un proyecto en unidades más pequeñas y estimar para ellas reduce el margen de error

5

• Porque estadísticamente los errores tienden a compensarse mutuamente

Page 6: Estimación de proyectos de software

Es una Estimación…Es una Estimación…

• … no una visión del futuro• Factores de error

– Optimismo– Esfuerzo � Progreso

6

– Estimados conservadores– Poco control de progreso– Ley de Brooks: "Añadir personal a un proyecto

retrasado lo retrasará aún más." – Poco control de requerimientos– Falta (o exceso) de calibración

de modelo

Page 7: Estimación de proyectos de software

Criterios para una Técnica de Criterios para una Técnica de EstimaciónEstimación

• Estructurada• Definida• Aplicable a lo largo de la vida del

proyecto

7

proyecto• Ajustable para futuros proyectos• Susceptible de análisis estadístico• Potencialmente automatizable• Basados en datos reales

Page 8: Estimación de proyectos de software

PROBEPROBE

PROxy Based Estimation

Page 9: Estimación de proyectos de software

PROBEPROBE

• Formalmente propuesta por Watts Humphrey– PSP: Personal Software Process

• Sin embargo, tiene antecedentes en

9

• Sin embargo, tiene antecedentes en otras áreas

Page 10: Estimación de proyectos de software

Proceso de EstimaciónProceso de Estimación

• Se elige un Proxy• Se recolecta información de proxies y

resultados reales• Se calcula una función de correlación

10

• Se calcula una función de correlación Proxy�Valor– Tiempo– Costo– Personal

• Se repite para nuevos proyectos, afinando los parámetros de correlación

Page 11: Estimación de proyectos de software

ProxyProxy

• Propiedad relacionada estrechamente con el esfuerzo de desarrollo

• Fácil de contar– Objetivamente

11

– Objetivamente

• Fácil de visualizar al principio del proyecto• Pueda ajustarse a las características de la

organización• Reflejar las variaciones que afectan el

esfuerzo

Page 12: Estimación de proyectos de software

Proxies en Otras ÁreasProxies en Otras Áreas

• Metros cuadrados de construcción– Tipo A, B, C…

• Páginas (para lectura)

12

• Diapositivas• …

Page 13: Estimación de proyectos de software

Proxies en SoftwareProxies en Software

• Pantallas• Tablas en la base de datos• Clases/objetos• Requerimientos

13

• Requerimientos• …

• La exactitud depende de la consistencia en el tipo de proyecto

Page 14: Estimación de proyectos de software

FlexibilidadFlexibilidad

• PROBE predice en función de los datos de la propia organización– Importancia de recolectar métricas

• Watts Humphrey lo basa en fórmula estándar y correlaciones estadísticas

14

estándar y correlaciones estadísticas– Categorizar proxies en pequeños, medianos y

grandes– Análisis de regresión lineal

• Sin embargo, la fórmula podría ser arbitrariamente compleja– Los demás métodos se convierten en variantes

más refinadas

Page 15: Estimación de proyectos de software

Múltiples VariablesMúltiples Variables

• Con frecuencia necesitamos usar múltiples variables– Pequeño, Mediano, Grande

• Requiere regresión múltiple

15

• Requiere regresión múltiple– V=a+b*p1+c*p2+d*p3 +…

Page 16: Estimación de proyectos de software

Ajuste del ModeloAjuste del Modelo

• Es recomendable actualizar periódicamente los valores de los parámetros– A más datos históricos, mayor precisión

• Observar que el error de los datos históricos se mantenga dentro de un límite razonable– Eliminar los “outliers” del set usado para calcular

16

– Eliminar los “outliers” del set usado para calcular parámetros

• Evitar “sobrerefinar” el modelo– Ver la contribución de variables individuales y descartar

las de menor relevancia• PROBE recomienda regresión lineal, pero

podríamos trabajar con funciones más complejas– Cálculo de coeficientes por métodos numéricos


Recommended