Documente Academic
Documente Profesional
Documente Cultură
de Sistemas de Informacin
Tema 8
GESTIN DE COSTES
EN
PROYECTOS SOFTWARE
UCLM-ESI
Objetivos
Ampliar los conocimientos elementales de
la gestin de costes ya estudiados en la
introduccin a la gestin de proyectos.
Conocer las aspectos principales que se
deben tener en cuenta al planificar los
recursos necesarios en un proyecto
software.
Estudiar las principales tcnicas utilizadas
en ingeniera del software para estimar los
costes de un proyecto.
UCLM-ESI
Indice
1. Introduccin.
2. Planificacin de recursos.
3. Estimacin de costes.
4. Elaboracin de presupuestos y control de gastos.
5. Introduccin a la estimacin del software.
5.1. Refinamiento en proyectos software.
5.2. Estimacin del tamao.
5.3. Estimacin del esfuerzo.
5.4. Estimacin de la planificacin.
5.5. Tipos de tcnicas para estimacin del software.
UCLM-ESI
Bibliografa bsica:
Boehm, B. y otros. "An Overview of the COCOMO
2.0 Software Cost Model", Software Technology
Conference, 1995. En
file://sunset.usc.edu/research/COCOMOII/Docs/stc
.pdf, recuperado el 15-3-2000.
Center for Software Engineering, University of
Southern California. COCOMO II Model Definition
Manual. En
ftp://ftp.usc.edu/pub/soft_engineering/COCOMOII/
cocomo98.0/modelman.pdf, recuperado el 15-32000.
Connell, S. Desarrollo y Gestin de Proyectos
Informticos. McGraw-Hill Interamericana.
Espaa 1997.
Cap. 8.
Project Management Institute, A Guide to the
Project Management Body of Knowledge, PMI
Communications, USA 1996.
Cap. 7.
UCLM-ESI
Introduccin
Proceso
Grupo
Gestin
de los
Costes
Planificacin
Planificacin
de Recursos
Estimacin de
Planificacin C: Costes Unitarios
Costes
T: Estimacin por Analoga (topdown)
Realizar
presupuesto de Planificacin T: Estimacin Bottom-up
costes
T: Modelos paramtricos (COCOMO)
O: Lnea base de costes (cost baseline)
Control de
Costes
Control
O: Estimacin de costes a la
conclusin
UCLM-ESI
Gestin de Costes:Introduccin
Objetivo:
asegurar que el proyecto es completado
dentro del presupuesto previsto
Procesos:
Planificacin de recursos: determinar los
recursos (personas, equipos, materiales) y las
cantidades de cada uno necesarias para realizar
las actividades.
Estimacin de costes: realizar una
aproximacin (estimacin) de los costes de los
recursos necesarios para completar las
actividades del proyecto.
Realizar presupuesto de costes: calcular el
coste global estimado de cada tarea individual.
Control de costes: controlar los cambios en el
presupuesto del proyecto.
En algunos proyectos pequeos, la planificacin de
recursos, la estimacin de costes, y la realizacin
del presupuesto se pueden ver como un nico
proceso, realizado por una nica persona en un
perodo de tiempo reducido.
UCLM-ESI
Planificacin de Recursos
- Entradas:
- WBS (diagramas de descomposicin de trabajos),
DFT (diagramas de flujos de trabajo): para
identificar los elementos del proyecto que necesitan
recursos.
- Informacin histrica: tipos de recursos requeridos
en proyectos anteriores similares.
- Declaracin del alcance: es importante tener en
cuenta la justificacin y los objetivos bsicos del
proyecto.
- Relacin de recursos disponibles: permite conocer
los recursos que estn potencialmente disponibles
para su utilizacin en el proyecto.
- Polticas organizacionales: referidas a temas de
personal y de adquisicin de suministros y
equipamiento.
- Herramientas y Tcnicas:
- Juicio de expertos,
- Identificacin de alternativas.
- Salidas:
- Recursos Necesarios: descripcin de los tipos de
recursos requeridos y en qu cantidad para cada
elemento del WBS.
UCLM-ESI
Estimacin de Costes
Entradas:
WBS, DFT, ...
Recursos Necesarios: obtenido en el proceso
anterior.
Costes unitarios: tasas de coste por unidad de
recurso utilizado (coste de una hora de
programador, de un litro de combustible, coste
mensual de amortizacin de un PC, ...).
Estimacin de la duracin de las actividades.
Informacin Histrica: referida a los costes de
las diversas categoras de recursos.
Tcnicas de Estimacin:
Estimacin por analoga.
Modelos paramtricos.
Estimacin Bottom-up.
UCLM-ESI
UCLM-ESI
10
Unidades de medida:
Generalmente se utilizan unidades monetarias
para permitir comparaciones.
Tambin se pueden utilizar otras unidades de
tipo horario (horas de trabajo x persona),
aunque tienen el riesgo de no estandarizar los
costes y dificultar las comparaciones (una hora
de administrativo no cuesta igual que una hora
de ingeniero).
En algunos campos, es habitual que la estimacin
de costes tenga distintos niveles de refinamiento a
lo largo del ciclo de vida del proyecto. Por ejemplo,
en la ingeniera civil, se hacen cinco estimaciones:
orden de magnitud, conceptual, preliminar,
definitiva y control.
Es frecuente que los costes se indican con un
intervalo de variacin: 6000$ 500$
UCLM-ESI
11
UCLM-ESI
12
PMI-79, fg 7-2
UCLM-ESI
13
Control de Gastos
Incluye las siguientes acciones:
Supervisar la realizacin de gastos para detectar
variaciones respecto de lo previsto.
Asegurar que todos los cambios son registrados
con exactitud.
Prevenir que cambios incorrectos, inapropiados,
o no autorizados, sean incluidos.
Informar adecuadamente a los clientes de los
cambios autorizados.
Los "porqus" de las variaciones, positivas o
negativas.
14
Estimaciones de Costes a la
Conclusin
Son previsiones de los costes totales del proyecto
basados en los gastos realizados hasta la fecha.
Existen tres tipos de clculos:
EAC = CA + PRP * FC,
siendo CA los costes actuales (hasta la fecha), PRP
el presupuesto restante del proyecto, y FC un
factor de correccin para tener en cuenta las
desviaciones producidas hasta el momento
(relacin entre los gastos actuales y los
planificados hasta la fecha).
EAC = CA + NEP,
siendo NEP una nueva estimacin realizada para
todo el trabajo pendiente.
EAC = CA + PRP
IEEE y PMI han definido un estndar para realizar
el seguimiento de un proyecto software y poder
extrapolar, tanto su coste como su duracin. Est
basado en el concepto de Sistema de Valor
Conseguido (Earned Value System).
Ver cap. 10 de Dolado, J. J. y Fernndez, L., Medicin
para la Gestin en la Ingeniera del Software.
UCLM-ESI
15
16
UCLM-ESI
17
10
4
2
1,5
1,25
1,1
1
0,67
0,8
0,91
0,5
0,25
0,1
De finic in inic ia l
de l produc to
UCLM-ESI
De finic in de l
produc to
a c a ba da
Espe c ific a c in
de
re que rimie ntos
P roduc to
te rmina do
18
UCLM-ESI
19
20
UCLM-ESI
21
Estimacin de la planificacin
El resultado es una estimacin de la
duracin en unidades temporales: das,
semanas, meses, ...
Los mtodos ms habituales para calcular
la duracin de un proyecto software a
partir de la estimacin del esfuerzo son:
utilizacin de datos anteriores de la
organizacin, o
utilizacin de tablas de estimacin para
convertir desde lneas de cdigo a esfuerzo y
duracin, o
utilizacin de funciones de equivalencia
semiempricas del tipo duracin = funcin del
esfuerzo, que incluyen diversos parmetros
cuyos valores se determinan empricamente.
Por ejemplo,
Duracin en meses = 3'0 x personas-mes ^(1/3)
22
23
UCLM-ESI
24
25
UCLM-ESI
26
Usuario
Consulta:
1. Cuantas palabras
llevamos procesadas
Comprobador
Ortogrfico
Salida:
1. Numero total de palabras revisadas
2. Numero total de errores detectados
3. Lista de palabras con errores ortogrficos
Archivo Interno:
1. Diccionario
UCLM-ESI
27
Entradas
Salidas
Consultas
Archivos
Interfaces
Nivel de
complejidad
Peso
Baja
Media
Alta
Baja
Media
Alta
Baja
Media
Alta
Baja
Media
10
Alta
15
Baja
Media
Alta
10
UCLM-ESI
Total
SUMA
28
UCLM-ESI
29
30
UCLM-ESI
31
UCLM-ESI
32
33
UCLM-ESI
34
UCLM-ESI
LDC/PF
40
71
49
32
91
128
64
128
29
19
91
29
320
213
64
105
34
80
6
53
80
40
23
36
91
49
16
64
32
34
20
35
COCOMO
UCLM-ESI
36
COCOMO 81
Tres modos de desarrollo software diferentes:
Orgnico: para proyectos de no ms de 50 KLDC,
sobre reas muy especficas y bien conocidas por el
equipo participante.
Semiempotrado (semilibre): cuando el nivel de
experiencia del equipo de desarrollo se sita en
niveles intermedios y suelen ser sistemas con
interfaces con otros sistemas, siendo su tamao
menor a 300 KLDC.
Empotrado (restringido): para proyectos de gran
envergadura, con una exigencia de altos niveles de
fiabilidad y en los que participan muchas personas.
37
TD=2,5(ED)0,38 m
Semiempotrado
Empotrado
ED=3,0(KLDC)1,12 pm
ED=3,6(KLDC)1,20 pm
TD=2,5(ED)0,35 m
TD=2,5(ED)0,32 m
Productividad
PR = LDC / ED
N medio de personas
a tiempo completo
Esfuerzo
EM = TCA x ED
de
Mantenimiento
PEM = EM / 12
UCLM-ESI
38
= 6,5 p
UCLM-ESI
39
UCLM-ESI
40
Composicin de
Aplicaciones
Integracin de
Sistemas
UCLM-ESI
41
Composicin de
Aplicaciones
Integracin de
Sistemas
42
UCLM-ESI
43
Modelo PAM:
Orientado a las etapas de desarrollo y
mantenimiento de un producto software.
Se debe conocer la arquitectura del ciclo de vida
para:
Proveer informacin ms exacta sobre los generadores
de costes, y
Permitir una estimacin de costes ms exacta.
44
UCLM-ESI
45
UCLM-ESI
46
PM nominal
B
= A * ( Size )
B = 0.91 + 0.01 * Wi
i =1
UCLM-ESI
47
BRAK
SizeBREAK = 1 +
* Size
100
UCLM-ESI
48
ESLOC = ASLOC *
100
( AA + AAF + SU *UNFM )
100
Con:
ASLOC = n LDCF adaptadas de software existente,
AA (assesment and assimilation) = grado de valoracin y
asimilacin necesarios para decidir cuando un mdulo software
reutilizado por completo es apropiado para la aplicacin,
SU (software understanding) = % de esfuerzo de reutilizacin
debido a la comprensin del software,
UNFM (programmer unfamiliarity) = indicador de la familiaridad
del programador con el software, y
AAF (adaptation adjustment factor) = factor de ajuste de la
adaptacin:
UCLM-ESI
49
ASLOC * ( AT / 100)
PM nominal = A * ( Size ) B +
ATPROD
siendo
AT: % de cdigo que es sometido a reingeniera mediante
traslacin automtica, y
ATPROD: productividad de las herramientas en LDCF/PM
(actualmente se estima en 2400).
SU
siendo
SizeM: el tamao de mantenimiento (en LDCF o PF),
Size aadido: las LDCF/PF a aadir,
Size modificado: las LDCF/PF a modificar,
UCLM-ESI
50
PM = PM nominal * EM i
i =1
51
UCLM-ESI
52
Factores de Escala
Afectan al exponente B en la ecuacin
principal de estimacin del esfuerzo:
PM nominal
B
= A * ( Size )
5
B = 0.91 + 0.01 * Wi
i =1
Con Wi:
PREC: Ausencia de Precedentes
(Precedentedness).
FLEX: Flexibilidad del desarrollo.
RESL: Resolucin Arquitectura/Riesgos
(mide una combinacin del uso de la gestin de
riesgos y de la minuciosidad al disear la
arquitectura del sistema).
TEAM: Cohesin del equipo de personas
participantes.
PMAT: Madurez del proceso (basado en
utilizar el modelo CMM - Capability Maturity
Model- del Software Engineering Institute).
UCLM-ESI
53
Estimacin de la Duracin
La estimacin del tiempo de desarrollo
TDEV (en meses), conocido el esfuerzo
estimado PM (en personas-mes), es:
TDEV = 3.67 * PM
100
siendo
PM el esfuerzo de desarrollo excluyendo el
multiplicador de esfuerzo de calendario SCED,
SCED% el porcentaje de reduccin o incremento en
el calendario nominal del proyecto (segn se
determin al calcular SCED).
Ejemplo:
Si PM = 50 personas-mes, con factor de escala
lineal (B=1.0) y SCED%=100
TDEV = 3.67 * 50 ^(0.30) * 1.00 = 11.9 meses
UCLM-ESI
54