Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de...
Transcript of Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de...
![Page 1: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/1.jpg)
1CIMAT Zacatecas
CIMATSeptiembre 27, 2007
Dr. Ricardo [email protected]
Estimación de Costos de Proyectos de Software
![Page 2: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/2.jpg)
2CIMAT Zacatecas
Agenda1.Descripción del modelo
2.Explicación de los factores de tamaño y costo;
3.Oportunidades y Limitaciones;
COCOMO;
![Page 3: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/3.jpg)
3CIMAT Zacatecas
![Page 4: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/4.jpg)
4CIMAT Zacatecas
• Commercial Industry (15)– Daimler Chrysler, Freshwater Partners, Galorath, Group
Systems.Com, Hughes, IBM, Cost Xpert Group, Microsoft, Motorola, Price Systems, Rational, Reuters Consulting, Sun, Telcordia, Xerox
• Aerospace Industry (6)– BAE, Boeing, Lockheed Martin, Northrop Grumman,
Raytheon, SAIC
• Government (8)– DARPA, DISA, FAA, NASA-Ames, NSF, OSD/ARA/SIS,
US Army Research Labs, US Army TACOM
• FFRDC’s and Consortia (4)– Aerospace, JPL, SEI, SPC
• International (1)– Chung-Ang U. (Korea)
Organizaciones Afiliadas (34)
![Page 5: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/5.jpg)
5CIMAT Zacatecas
Principales DefinicionesCalibración: el procedimiento que permite determinar
con suficiente exactitud el valor de los errores del modelo
CER: relación matemática que ayuda con la estimacióndel costo
Estimación del costo: predicción del esfuerzo y duraciónde un proyecto de software
Factor: un parámetro que tiene influencia en la cantidadde esfuerzo de software
Paramétrico: una ecuación aproximada por un grupo de parámetros
Escala de valores: un rango de valores que representanel impacto matemático de un factor
SLOC: Líneas de Código (Software Lines of Code)
![Page 6: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/6.jpg)
6CIMAT Zacatecas
¿Cuánto cuesta el software?
• Necesidad de estimar el esfuerzo y tiemporequeridos para desarollar sistemas de software– Las estimaciones basadas principalmente en
el modelado del proyecto actual y sucomparación con proyectos anteriores
– Podemos usar modelos económicos comoCOCOMO para estimar el costo
![Page 7: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/7.jpg)
7CIMAT Zacatecas
Modelos de Costo• El uso de modelos es tan antiguo como la ingeniería
– Antes de construir el producto, los ingenieros construyenmodelos y aprenden de ellos
– Antes de comprometer el dinero y los recursos, los ejecutivosnecesitan información del costo
• Algunas características deseables de un modelo– Comprensible– Preciso– Predictivo– Barato– Sencillo– Realista
![Page 8: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/8.jpg)
8CIMAT Zacatecas
Ejemplos de Modelos de CostoNombre Diseñador
Constructive Cost Model USC
PRICE-Hardware PRICE Systems
PRICE-Software PRICE Systems
Raytheon SE Resource Forecasting Tool Raytheon
SEER-Hardware Galorath
SEER-Software Engineering Model Galorath
Small Satellite Cost Model The Aerospace Corporation
Unmanned Satellite Cost Model Los Angeles Air Force Base
Hardware Software
![Page 9: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/9.jpg)
9CIMAT Zacatecas
Ventajas de Usar Modelos• Ayudar a entender un problema complejo a través de
análisis y simulación• Investigar y comparar soluciones alternativas• Comunicar idas acerca de un problema o una solución• Demonstrar al cliente que el sistema es viable• Detectar errores y omisiones en el diseño• Generar un plan de implementación• Negociar cambios al sistema y cuantificar los impactos
económicos
![Page 10: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/10.jpg)
10CIMAT Zacatecas
Constructive Cost Model (Modelo Construc-tivo de Costo)
Desarrollado en 1981 por el Dr. Barry Boehm en UCLA/TRW
Software Engineering Economics (1981)
Es el modelo de estimación de costos más utilizadoEn 2000 se publicó la versión COCOMO II
Software Cost Estimation with COCOMO II (2000)
El equipo liderado por Boehm (Centro de Ingeniería en Sistemas y Software) pretende mejorar, ampliar y adaptar modelos a los nuevos estándares de desarrollo de software
Historia de COCOMO
![Page 11: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/11.jpg)
11CIMAT Zacatecas
COQUALMO1998
COCOMO 811981
COPROMO1998
COSoSIMO2004
Legend:Model has been calibrated with historical project data and expert (Delphi) dataModel is derived from COCOMO IIModel has been calibrated with expert (Delphi) data
COCOTS2000
COSYSMO2002
CORADMO1999
iDAVE2003
COPLIMO2003
COPSEMO1998
COCOMO II2000
DBA COCOMO2004
COINCOMO2004
SecurityExtension 2004
Costing SecureSystem 2004
Modelos de Software
Extensiones de Software
Modelos Independientes
Fecha indica año de publicación del modelo
Evolución de la familia COCOMO
![Page 12: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/12.jpg)
12CIMAT Zacatecas
Permite estimar el esfuerzo, costo y duración de cualquier proyecto de softwareEs un modelo algorítmico basado en una serie de
fórmulas matemáticas que producen una estimación en función de un conjunto de variables ƒ(x1, x2,... xn):
Líneas de código (lógicas en lugar de físicas)Capacidad de analistas y programadoresComplejidad del productoRestricciones de tiempo de ejecución, memoria,
equipos de trabajo …Etc …
COCOMO II
![Page 13: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/13.jpg)
13CIMAT Zacatecas
Parámetros de COCOMO II• El parámetro principal para la estimación de
costo es “Software Lines of Code”– La estimación cubre únicamente un conjunto definido
de fases• Incepción• Elaboración• Construción• Transición
– Incluye todos los costos directos del proyecto, pero no los indirectos
– El esfuerzo se mide en “Person-Month”• 1 PM = 19 persona-días = 152 persona-horas
![Page 14: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/14.jpg)
14CIMAT Zacatecas
COCOMO IITamaño
Multiplicadoresde Esfuerzo
Esfuerzo
Calibración
SLOC; Function Points; Application Points
- Atributos de Producto- Atributos de Plataforma- Atributos de Personal- Atributos de Proyecto
Concepto Operacional COCOMO II
DuraciónFactores de Escala
![Page 15: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/15.jpg)
15CIMAT Zacatecas
Relación Matemática de Estimaciónde Costo en COCOMO
Donde: A = constante derivado a través de los resultados de proyectosanterioresSize = tamaño del software SF = factores de escalaEM = multiplicador de esfuerzo
![Page 16: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/16.jpg)
16CIMAT Zacatecas
Tamaño del Software• Alternativa #1: Líneas de Código
– Líneas de código fuente– Líneas de código fuente entregadas
• Productividad es diferente en Basic, Java, C++, etc.
• Alternativa #2: Puntos de Función– Una vez calculados,
se convierten a líneas de código
![Page 17: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/17.jpg)
17CIMAT Zacatecas
Factores de EscalaFactores
de Escala
Muy Bajo
Bajo
Normal
Alto
Muy Alto
Extra Alto
PREC
Extremadamente nuevo
Muy nuevo Novedoso de alguna manera
Familiar Muy familiar Extremadamente familiar
SFj: 6.20 4.96 3.72 2.48 1.24 0.00 FLEX Riguroso Relajación
ocasional Alguna
relajación Conformidad
general Alguna
conformidad Metas generales
SFj: 5.07 4.05 3.04 2.03 1.01 0.00 RESL Poco (20%) Algo (40%) A menudo
(60%) Generalmente
(75%) Casi
Siempre (90%)
Siempre (100%)
SFj: 7.07 5.65 4.24 2.83 1.41 0.00
TEAM Interacciones muy difíciles
Interacciones algo difíciles
Interacciones cooperativas
básicas
Bastante cooperativos
Altamente cooperativos
Alto nivel de interacción
SFj: 5.48 4.38 3.29 2.19 1.10 0.00
PMAT SW-CMM Nivel
1 Bajo SW-CMM
Nivel 1 Alto SW-CMM
Nivel 2 SW-CMM
Nivel 3 SW-CMM
Nivel 4 SW-CMM Nivel
5 SFj: 7.80 6.24 4.68 3.12 1.56 0.00
O la madurez estimada del proceso (EMPL)
![Page 18: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/18.jpg)
18CIMAT Zacatecas
Multiplicadores de Esfuerzo• Atributos de Producto
– RELY: Confiabilidad requirida– DATA: Tamaño de la base de datos– DOCU: Documentación necesaria– CPLX: Complejidad del producto– RUSE: Reusabilidad requerida
![Page 19: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/19.jpg)
19CIMAT Zacatecas
• Atributos de Plataforma– TIME: Restricciones de tiempo de ejecución– STOR: Restricciones de almacenamiento– PVOL: Cambio de plataforma
• Atributos de Personal– ACAP: Capacidad de los analistas – AEXP: Experiencia de los analistas– PCAP: Habilidad de los programadores– PEXP: Experiencia en este tipo de plataforma– LEXP: Experiencia con el lenguaje de software – PCON: Continuidad de personal
Multiplicadores de Esfuerzo
![Page 20: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/20.jpg)
20CIMAT Zacatecas
• Atributos de Proyecto– TOOL: Herramientas que soportan las actividades de
análisis y diseño– SITE: Coordinación entre sitios– SCED: Compresión o extensión de la duración del
proyecto
Multiplicadores de Esfuerzo
![Page 21: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/21.jpg)
21CIMAT Zacatecas
Proceso de estimación con COCOMO II
Paso 1: Estimartamaño
Paso 2: Establecer factores de escala y esfuerzo
Paso 3: Estimaresfuerzo ytiempo
Paso 4: Necesidadde más ajustes
Paso 5: Asignaresfuerzo al plan de trabajo
NO
SI
![Page 22: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/22.jpg)
22CIMAT Zacatecas
Ejercicio 1• Estimar el esfuerzo y el tiempo de desarrollo
para un proyecto con 100 KSLOC– La sumatoria de los multiplicadores de esfuerzo son
1.0– La sumatoria de los factores de escala es de 24
![Page 23: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/23.jpg)
23CIMAT Zacatecas
Solución 1• Esfuerzo = 568.61 personas·mes• Tiempo de desarrollo = 29.7 meses• Personal necesario = 19.75 personas ≈ 20
personas
![Page 24: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/24.jpg)
24CIMAT Zacatecas
Lista de Actividades de Trabajo(Work Breakdown Structure)
DESARROLLAR SOFTWARE• Determinar Requisitos Software• Desarrollar software (usando un paradigma selec.)
– Diseño de Arquitectura (especificación de– Implantación– Integración y Pruebas
• Realizar Gestión de Proyectos– Planificación y seguimiento– Gestión de riesgos
• Mantener Control de Configuración– Control de versiones/línea base– Actividades del CCC
• Realizar Aseguramiento de la Calidad
![Page 25: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/25.jpg)
25CIMAT Zacatecas
Procedimiento de EstimaciónPaso 1: Estimar el tamaño del trabajo
Paso 2: Estimar el esfuerzo utilizandouna primera aproximación (WBS, etc.)
Paso 3: Estimar el esfuerzo utilizando una segunda aproximación (COCOMO,etc.)
Paso 4: Comparar estimaciones, conciliar diferencias y generar la estimación final
Requisitos
![Page 26: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/26.jpg)
26CIMAT Zacatecas
Ejercicio 2 (I)• La empresa aseguradora “El Castañazo” está
pensando construir un nuevo software para la gestión de sus pólizas de seguro para el que se ha estimado un tamaño de 184 puntos de función
• El lenguage de programación que se utilizarápara su programación es Visual Age 2.0
• Determinar esfuerzo, duración y personal necesario para desarrollar el proyecto, teniendo en cuenta que se deben considerar los siguientes factores de escala
![Page 27: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/27.jpg)
27CIMAT Zacatecas
Ejercicio 2 (II)• Todo el código que se desarrolle para este proyecto es de nueva
elaboración• La organización se encuentra en el nivel 1 de madurez de su
capacidad• Es la primera vez que se va a utilizar el entorno de programación
Visual Age 2.0• Se han desarrollado varias aplicaciones para la gestión de
polizas de seguro• El equipo de proyecto estará formado por 6 personas de las
cuales 3 son de nueva contratación• Existe una necesidad muy alta de que el software cumpla con
los requisitos pre-establecidos para el software a construir• El factor de escala RESL no deberá ser tenido en cuenta para la
realización de estimaciones
![Page 28: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/28.jpg)
28CIMAT Zacatecas
Solución 2• PREC(A), FLEX(MB), TEAM(B), RESL(N),
PMAT(VL)• Esfuerzo = 13.9 personas·mes• Tiempo de desarrollo = 8.7 meses• Personal necesario = 1.6 personas ≈ 2 personas• Productividad = 277.8 SLOC/p·m
![Page 29: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/29.jpg)
29CIMAT Zacatecas
Limitaciones de COCOMO II
1. Factores cualitativos son difíciles de modelar
2. Calibración utilizando proyectosexitosos
3. Es fácil manipular el modelo paraobtener los resultados deseados
![Page 30: Estimación de Costos de Proyectos de Software - … · Estimación de Costos de Proyectos de Software. CIMAT Zacatecas 2 Agenda ... de un proyecto de software Factor: un parámetro](https://reader035.fdocuments.ec/reader035/viewer/2022062402/5b8b6e7c09d3f227638b66ec/html5/thumbnails/30.jpg)
30CIMAT Zacatecas
ContactoRicardo ValerdiMassachusetts Institute of [email protected]+1 (617) 253-8583http://web.mit.edu/rvalerdi/www