16
Estimación de Estimación de Proyectos de Software Proyectos de Software

Estimación de proyectos de software

Embed Size (px)

DESCRIPTION

Fines de estimación, Tecnincas de estimación, Wideband, Delphi, Probe, Proxy, Flexibilidad, Variables, Herbert, Patzan

Citation preview

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