Estimación de proyectos de software
-
Upload
visual-mart-herbert-patzan-carrillo -
Category
Education
-
view
2.772 -
download
2
description
Transcript of Estimación de proyectos de software
Estimación de Estimación de Proyectos de SoftwareProyectos de Software
Fines de las EstimacionesFines de las Estimaciones
• Ventas– Cotizar
• Planificación
2
– Y control
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!
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
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
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
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
PROBEPROBE
PROxy Based Estimation
PROBEPROBE
• Formalmente propuesta por Watts Humphrey– PSP: Personal Software Process
• Sin embargo, tiene antecedentes en
9
• Sin embargo, tiene antecedentes en otras áreas
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
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
Proxies en Otras ÁreasProxies en Otras Áreas
• Metros cuadrados de construcción– Tipo A, B, C…
• Páginas (para lectura)
12
• Diapositivas• …
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
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
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 +…
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