You are on page 1of 30

Estimación de Costos de Proyectos de Software

CIMAT
Septiembre 27, 2007

Dr. Ricardo Valerdi


rvalerdi@mit.edu

CIMAT Zacatecas 1
Agenda
1.Descripción del modelo
COCOMO;
2.Explicación de los factores de
tamaño y costo;
3.Oportunidades y Limitaciones;

CIMAT Zacatecas 2
CIMAT Zacatecas 3
Organizaciones Afiliadas (34)
• 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)
CIMAT Zacatecas 4
Principales Definiciones
Calibració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ón
del costo
Estimación del costo: predicción del esfuerzo y duración
de un proyecto de software
Factor: un parámetro que tiene influencia en la cantidad
de esfuerzo de software
Paramétrico: una ecuación aproximada por un grupo de
parámetros
Escala de valores: un rango de valores que representan
el impacto matemático de un factor
SLOC: Líneas de Código (Software Lines of Code)
CIMAT Zacatecas 5
¿Cuánto cuesta el software?
• Necesidad de estimar el esfuerzo y tiempo
requeridos para desarollar sistemas de
software
– Las estimaciones basadas principalmente en
el modelado del proyecto actual y su
comparación con proyectos anteriores
– Podemos usar modelos económicos como
COCOMO para estimar el costo

CIMAT Zacatecas 6
Modelos de Costo
• El uso de modelos es tan antiguo como la ingeniería
– Antes de construir el producto, los ingenieros construyen
modelos y aprenden de ellos
– Antes de comprometer el dinero y los recursos, los ejecutivos
necesitan información del costo
• Algunas características deseables de un modelo
– Comprensible
– Preciso
– Predictivo
– Barato
– Sencillo
– Realista

CIMAT Zacatecas 7
Ejemplos de Modelos de Costo
Nombre 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

CIMAT Zacatecas 8
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

CIMAT Zacatecas 9
Historia de COCOMO
ƒ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 utilizado
ƒEn 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

CIMAT Zacatecas 10
Evolución de la familia COCOMO

Modelos de Software DBA COCOMO


Modelos Independientes
2004
COCOMO 81 COCOMO II COCOTS COSYSMO
1981 2000 COINCOMO 2000 2002
2004
COSoSIMO Costing Secure
2004 System 2004

iDAVE COPLIMO COPSEMO Security


COQUALMO
2003 2003 1998 Extension 2004
1998

Extensiones de Software COPROMO CORADMO


1998 1999

Legend:
Model has been calibrated with historical project data and expert (Delphi) data
Model is derived from COCOMO II
Model has been calibrated with expert (Delphi) data
CIMAT Zacatecas Fecha indica año de publicación del modelo 11
COCOMO II
ƒPermite estimar el esfuerzo, costo y duración de
cualquier proyecto de software
ƒEs 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 programadores
ƒ Complejidad del producto
ƒ Restricciones de tiempo de ejecución, memoria,
equipos de trabajo …
ƒEtc …

CIMAT Zacatecas 12
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

CIMAT Zacatecas 13
Concepto Operacional COCOMO II

SLOC;
Function Points;
Application Points
Tamaño
Esfuerzo
Factores de Escala COCOMO II
Multiplicadores Duración
de Esfuerzo
- Atributos de Producto
- Atributos de Plataforma Calibración
- Atributos de Personal
- Atributos de Proyecto

CIMAT Zacatecas 14
Relación Matemática de Estimación
de Costo en COCOMO

Donde:
A = constante derivado a través de los resultados de proyectos
anteriores
Size = tamaño del software
SF = factores de escala
EM = multiplicador de esfuerzo

CIMAT Zacatecas 15
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

CIMAT Zacatecas 16
Factores de Escala
Factores
de Muy Bajo Bajo Normal Alto Muy Alto Extra Alto
Escala
Extremadamente Muy nuevo Novedoso de Familiar Muy familiar Extremadamente
PREC nuevo alguna familiar
manera
SFj: 6.20 4.96 3.72 2.48 1.24 0.00
FLEX Riguroso Relajación Alguna Conformidad Alguna Metas generales
ocasional relajación general conformidad
SFj: 5.07 4.05 3.04 2.03 1.01 0.00
RESL Poco (20%) Algo (40%) A menudo Generalmente Casi Siempre (100%)
(60%) (75%) Siempre
(90%)
SFj: 7.07 5.65 4.24 2.83 1.41 0.00
Interacciones Interacciones Interacciones Bastante Altamente Alto nivel de
TEAM muy difíciles algo difíciles cooperativas cooperativos cooperativos interacción
básicas
SFj: 5.48 4.38 3.29 2.19 1.10 0.00
SW-CMM Nivel SW-CMM SW-CMM SW-CMM SW-CMM SW-CMM Nivel
PMAT 1 Bajo Nivel 1 Alto Nivel 2 Nivel 3 Nivel 4 5
SFj: 7.80 6.24 4.68 3.12 1.56 0.00
O la madurez estimada del proceso (EMPL)

CIMAT Zacatecas 17
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

CIMAT Zacatecas 18
Multiplicadores de Esfuerzo
• 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
CIMAT Zacatecas 19
Multiplicadores de Esfuerzo
• 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

CIMAT Zacatecas 20
Proceso de estimación con COCOMO II

Paso 1: Estimar Paso 4: Necesidad


tamaño SI de más ajustes

Paso 2: Establecer
factores de escala y NO
esfuerzo

Paso 3: Estimar Paso 5: Asignar


esfuerzo y esfuerzo al plan
tiempo de trabajo

CIMAT Zacatecas 21
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

CIMAT Zacatecas 22
Solución 1
• Esfuerzo = 568.61 personas·mes
• Tiempo de desarrollo = 29.7 meses
• Personal necesario = 19.75 personas ≈ 20
personas

CIMAT Zacatecas 23
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

CIMAT Zacatecas 24
Procedimiento de Estimación
Paso 1: Estimar el
Requisitos tamaño del trabajo

Paso 2: Estimar el esfuerzo utilizando


una 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
CIMAT Zacatecas 25
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
CIMAT Zacatecas 26
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

CIMAT Zacatecas 27
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

CIMAT Zacatecas 28
Limitaciones de COCOMO II
1. Factores cualitativos son difíciles de
modelar
2. Calibración utilizando proyectos
exitosos
3. Es fácil manipular el modelo para
obtener los resultados deseados

CIMAT Zacatecas 29
Contacto
Ricardo Valerdi
Massachusetts Institute of Technology
rvalerdi@mit.edu
+1 (617) 253-8583
http://web.mit.edu/rvalerdi/www

CIMAT Zacatecas 30

You might also like