Sei sulla pagina 1di 41

TECNICAS DE ESTIMACION DE

COSTOS DE PROYECTO SOFTWARE

PLANIFICACIN
La planificacin es una actividad de gran importancia, en la
que se establecen objetivos y metas de un proyecto,
adems de las estrategias, polticas y procedimientos para
alcanzarlos.
Una de las variables a calcular durante la planificacin del
proyecto es el esfuerzo, es decir, la fuerza de trabajo
requerida para el desarrollo, medida en meses hombre,
das-hombre, y en general, unidad de tiempo hombre.

Actividades de la planificacin:
Delimitacin del mbito(actividades o tareas) del

software
Estimacin de recursos necesarios (humanos,

hardware, software,..)

La estimacin de lo que costar el


desarrollo de un software es una de
las actividades de planeacin que
reviste especial importancia, ya que
una de las caractersticas que debe
tener un producto de software es que
su costo sea adecuado, de lo
contrario el proyecto puede fracasar.
4

QUE ES ESTIMACIN?
Apreciar, poner precio, evaluar algo
Diccionario de la lengua espaola

Estimar no corresponde a un objetivo


de negocio ni a un compromiso.
Estimar no corresponde a planear
5

Una estimacin es una prediccin basada en un


modelo
probabilstico,
no
un
modelo
determinativo; es decir, la cantidad que se est
estimando puede tomar no solamente un valor
sino distintos valores.

IMPORTANCIA DE LA ESTIMACIN
La realizacin de estimaciones adecuadas sobre

el tamao y esfuerzo requerido es una de las


caractersticas fundamentales de un proyecto de
desarrollo de software exitoso.
Las malas estimaciones o ms comnmente

las no estimaciones, son posiblemente una de


las principales causas de los fracasos.

Las estimaciones estn asociadas con el


esfuerzo, costo y el tiempo de las
actividades identificadas del proyecto.
El objetivo de la estimacin de proyectos es
reducir los costos e incrementar los niveles
de servicio y de calidad.

Preguntas importantes a tener en cuenta


al estimar

1. Cunto esfuerzo (personal necesario) se

requiere para completar una actividad?

2. Cunto

tiempo
se
necesita
completar una actividad?

para

3. Cul es el costo total de una actividad?


9

ESTIMACIN DEL PROYECTO


DE SOFTWARE
Para realizar estimaciones seguras de costos y
esfuerzos se tienen varias opciones:

10

1. Utilizar

tcnicas
de
descomposicin
relativamente sencillas para generar las
estimaciones de costos y esfuerzo del
proyecto. (divide y vencers) .

2. Desarrollar un modelo emprico para el clculo

de costos y esfuerzos del Software.

11

1.

Se han de establecer de antemano el mbito


del proyecto.

2. Como

bases para la realizacin de


estimaciones se usan datos de software de
proyectos pasados.

3. El proyecto se descompone en partes ms

pequeas que se estiman individualmente.

12

PRECISIN DE UNA ESTIMACIN:


Grado en que se ha estimado adecuadamente el tamao
del producto.
Grado en que el plan del proyecto refleja la capacidad del
equipo de desarrollo.
Habilidad para traducir la estimacin del tamao a:
Esfuerzo humano
Tiempo
Dinero
13

Antes de hacer estimaciones de esfuerzo y costo:


1. Conocer el mbito del software
2. Realizar una estimacin del tamao

14

Tamao del software


Dos tipos de enfoque:
Directo: se utilizan las LDC para medir el

tamao.
Indirecto: el tamao se representa mediante

puntos de funcin (PF).

15

ESTIMACIN LDC Y PF:


Las estimaciones de LDC y PF son tcnicas de
estimacin distintas:
LDC (Orientadas al tamao)
PF (Orientadas a la funcin)

Los datos de LDC y PF se utilizan de dos formas


durante la estimacin del proyecto de software.

16

Como una variable de estimacin que se utiliza

para dimensionar
software.

cada

elemento

del

Como mtricas de lnea base recopiladas de

proyectos anteriores

17

El valor esperado para la variable de


estimacin, E, puede obtenerse como una
media ponderada de las estimaciones LDC
o PF optimista (a), ms probable (m), y
pesimista (b) de las estimaciones LDC o PF
por ejemplo:

E = (a + 4m +
b)/6
18

Pasos:
1. Estimacin de un rango de valores para cada

funcin especificada en el mbito del software.


2. 3

valores para cada funcin: optimista, ms


probable y ms pesimista (indica el grado de
incertidumbre)

3. Tcnicas estadsticas: clculo de la desviacin de

las estimaciones.
4. Aplicacin de mtricas de proyectos anteriores (en

LDC o PF).
20

Puntos de Funcin
Traducir en un nmero el tamao de la funcionalidad que
brinda un producto de software.
Asignarle un valor numrico a la funcionalidad, respecto a la
complejidad.
Desde el punto de vista del usuario
Suma ponderada de caractersticas del producto:

20

Transacciones:

Nro de Entradas Externas (EE)

Nro de Salidas Externas (SE)

Nro de Consultas Externas (CE)

Datos:

21

Nro de Archivos Interfaz Lgicos (AIL)


Nro de Archivos Interfaz Externa (AIE)

Modelo para contar


PF
EE

Frontera de
la aplicacin

Archivos Lgicos
Internos (AIL)

CE

14
Caractersticas
generales de la
aplicacin

SE
Archivos de Interfaz
Externos (AIE)

Datos derivados
y/o afecta
comportamiento

transacciones
22

PF

datos
PFSA

Factor de Ajuste

Informaciones elaboradas por la aplicacin que son


transmitidas al usuario.
23

Clasificacin de los Ficheros Lgicos o Internos

24

Agrupaciones de datos, tal y como los percibe el


usuario

Clasificacin de los Ficheros de Interfaz

25

Factores de Ajuste de Complejidad:

Factor
Factor de
de peso
peso
Parmetro
Parmetro de
de medida
medida

Cuenta
Cuenta

Simple
Simple

Medio
Medio

evaluar cada factor de 0 a 5

Complejo
Complejo

Nmero
Nmero entradas
entradas usuario
usuario

xx

33

44

66

==

Nmero
Nmero salidas
salidas de
de usuario
usuario

xx

44

55

77

==

Nmero
Nmero peticiones
peticiones al
al usuario
usuario

xx

33

44

66

==

Nmero
Nmero de
de archivos
archivos

xx

77

10
10

15
15

==

Nmero
Nmero interfaces
interfaces externos
externos

xx

55

77

10
10

==

Cuenta
Cuenta total
total

PF
PF==Cuenta
CuentaTotal
Totalxx[0,65
[0,65++0,01
0,01xxSUM(F
SUM(Fi)]i)]
FFi : :valores
de ajuste de complejidad
i valores de ajuste de complejidad

26

0- Sin influencia 3- Medio


1- Incidental
4- Significativo
2- Moderado
5- Esencial

1. Requiere el sistema copias de seguridad fiables?


2. Se requieren comunicaciones de datos?
3. Existen funciones de procesamiento distribuido?
4. Es crtico el rendimiento?
5. Ser ejecutado el sistema en un entorno
operativo existente y utilizado?
6. Se requiere entrada de datos interactiva?
7. Requiere la entrada interactiva que las
transacciones de entrada se hagan sobre
mltiples pantallas o variadas operaciones?
8. Se actualizan los archivos maestros de forma
interactiva?
9. Son complejas las entradas, las salidas, los
archivos o las peticiones?
10.Es complejo el procesamiento interno?
11.Se ha diseado el cdigo para ser reutilizable?
12.Estn incluidas en el diseo la conversin y la
instalacin?
13.Se ha diseado el sistema para soportar
mltiples instalaciones en diferentes
organizaciones?
14.Se ha diseado la aplicacin para facilitar los
cambios y ser fcilmente utilizada por el usuario?

EJEMPLO PF
Desarrollo de un proyecto matemtico de mtodos numricos:
Datos :
Productividad = 1000 pf / per-mes
Sueldo = 3000 pesos / per-mes
NIVEL DE COMPLEJIDAD
TIPO DE FUNCION

SIMPLE

MEDIO

COMPLEJO

de

*3

18 * 4 = 72

*6

72

Salidas de Usuario

*4

25 * 5 = 125

*7

125

Archivos Internos

5 * 7 = 35

* 10

* 15

35

Archivos Externos

*5

2 * 7 = 14

* 10

14

Consultas
Usuario

*3

20 * 4 = 120

*6

120

Entradas
Usuario

de

Universidad de la Amazonia

27

TOTAL

TOTAL PF SIN AJUSTAR Planeacin


estratgica de SI

PF =

366

ESCALA DE GRADO DE
INFLUENCIA
No influye

Insignificante

Moderada

Medio

Significativa

Fuerte

Copia
Copiade
deseguridad
seguridadyyrecuperacin
recuperacin
Comunicaciones
33
Comunicaciones
Proceso
11
Procesodistribuido
distribuido
Rendimiento
44
Rendimientocrtico
crtico
Entorno
Entornooperativo
operativoexistente
existente
Entrada
55
Entradade
dedatos
datosonline
online
Transacciones
Transaccionesentrada
entradaen
envarias
variaspant
pant
Archivos
maestros
actualizados
online
Archivos maestros actualizados online
Complejidad
Complejidadvalores
valoresdominio
dominioinformacin
informacin
Complejidad
Complejidadprocesamiento
procesamientointerno
interno
Cdigo
Cdigodiseado
diseadopara
parareutilizacin
reutilizacin
Conversin
en
diseo
11
Conversin en diseo
Instalaciones
33
Instalacionesmltiples
mltiples
Aplicacin
Aplicacindiseada
diseadapara
paracambios
cambios

PF = Cuenta Total x [0,65 + 0,01 x SUM(Fi)]


PF = ( 366 )x [0,65 + 0,01x (2+3+1+4+4+5+1+2+3+3+4+1+3+5)]=
PF= (366)x( 1.06)= 387,96 pf

Universidad de la Amazonia
28

Planeacin
estratgica de SI

22

44

33
44
55

11
22
33

Calcular el costo estimado del proyecto:

Bs
Bs
per mes
CostoporPF
3
pf
pf
1000
per mes
3000

Costo del proyecto = PF * Costo por PF = 387,96 pf * 3Bs / pf


Costo del proyecto = 1163,88 Bs.

29

EJEMPLO: LDC
Considerar un paquete de software a desarrollar para
una aplicacin de diseo asistido por computador (CAD).
Revisando la especificacin del sistema encontramos
que el software va ejecutarse en una estacin de trabajo
de microcomputadora y se conectar con varios
perifricos grficos incluyendo ratn, digitalizador,
pantalla en color de alta resolucin, y una impresora de
alta resolucin.

30

La evaluacin del alcance indica que se requieren las


siguientes funciones principales para el software de CAD:
* Interfaz de usuario y facilidades de control (IUCF)
* Anlisis geomtrico bidimensional (AG2D)
* Anlisis geomtrico tridimensional (A3GD)
* Gestin de estructuras de datos (GED)
* Facilidades de visualizacin de grficos de computadora (FVGC)
* Control de perifricos (CP)
Mdulos de anlisis de diseo (MAD)
E = (a + 4m + b)/6

31

SOLUCION
Funcin

Optimista

Ms
probable

Pesimista

Esperado

$lnea

Lnea
/ mes

Costo

Meses

Control de interfaz de
usuario

1800

2400

2650

2340

14

315

32.760

7,4

Anlisis
en 2-D

geomtrico

4100

5200

7400

5380

20

220

107.600

24,4

Anlisis
en 3-D

geomtrico

4600

6900

8600

6800

20

220

136.000

30,9

Gestin
de
la
estructura de datos

2950

3400

3600

3350

18

240

60.300

13,9

Visualizacin
grficos
en
computadora

4050

4900

6200

4950

22

200

108.900

24,7

Control perifricos

2000

2100

2450

2140

28

140

59.920

15,2

Anlisis de diseo

6600

8500

9800

8400

18

300

151.200

28,0

de
la

33360
LDC
ESTIMADAS

32

$656.680
VALOR PY
ESTIMADO ($)

144,5
ESFUERZO
REQUERIDO
ESTIMADO

MODELOS EMPIRICOS
DE ESTIMACIN
EL MODELO COCOMO:
Modelo Constructivo de Costos
COCOMO es una jerarqua de modelos de
estimacin de costes de software que incluye
submodelos bsico, intermedio y avanzado.

33

TIPOS DE COCOMO

MODELO11(COCOMO
(COCOMObsico)
bsico)
MODELO
calculaelelesfuerzo
esfuerzoyyelelcoste
costedel
deldesarrollo
desarrolloen
en
calcula
funcindel
deltamao
tamaoestimado
estimadodel
delprograma
programa(LDC).
(LDC).
funcin
Seutiliza
utilizapara
parauna
unaaproximacin
aproximacinrpida
rpidaalalprincipio
principio
Se
delciclo
ciclode
devida.
vida.
del
ESFUERZO: EE==aabKLDC
KLDCbbbb
ESFUERZO:
b
TIEMPO: DD==ccbEEdbdb
TIEMPO:
b

34

MODELO22(COCOMO
(COCOMOintermedio)
intermedio)
MODELO
calculaelelesfuerzo
esfuerzoyyelelcoste
costeen
enfuncin
funcindel
deltamao
tamao
calcula
estimadodel
delprograma
programayyde
deun
unconjunto
conjuntode
deguas
guas
estimado
decoste
costeque
queincluyen
incluyenuna
unaevaluacin
evaluacin
de
subjetivadel
delproducto,
producto,hardware,
hardware,personal
personalyyatributos
atributos
subjetiva
delproducto
producto
del
ESFUERZO: EE==aaiKLDC
KLDCbibixxFAE
FAE
ESFUERZO:
i
(factorde
deajuste
ajustedel
delesfuerzo)
esfuerzo)
(factor

35

MODELO33(COCOMO
(COCOMOavanzado)
avanzado)
MODELO
incorporalas
lascaractersticas
caractersticasdel
delmod.
mod.22yyevala
evalaelel
incorpora
impactode
delos
losFAE
FAEen
encada
cadafase
fasedel
deldesarrollo.
desarrollo.
impacto

36

Tres tipos de proyectos:


Orgnicos: relativamente pequeos y sencillos, en los que
trabajan pequeos equipos con experiencia, sobre un conjunto
de requisitos poco rgidos.
Semicopados: proyectos intermedios (en tamao y
complejidad) en los que participan equipos con variados niveles
de experiencia, y que deben satisfacer requisitos poco o medio
rgidos.
Empotrados:
proyectos
que deben ser desarrollados en un
MODELO
MODELOCOCOMO
COCOMOBSICO
BSICO
conjuntoProyecto
de hardware,
restricciones operativas muy
aab software
bbb
ccb
dy
Proyecto
db b
b
b
b
restringid
Orgnico
2,4
Orgnico
2,4 1,05
1,05 2,5
2,5 0,38
0,38
Semiacoplado
Semiacoplado 3,0
3,0 1,12
1,12 2,5
2,5 0,35
0,35
Empotrado
3,6
Empotrado
3,6 1,20
1,20 2,5
2,5 0,32
0,32

37

EJEMPLO: COCOMO BASICO

38

Orgnico

Semiacoplado

Empotrado

Esfuerzo
estimado

ED=2,4(KLDC)1.05 h-m

ED=3.0(KLDC)1.12 h-m

ED=3,6(KLDC)1.20 h-m

Tiempo de
desarrollo

TD=2.5(ED)0.38 m

TD=2.5(ED)0.35 m

TD=2.5(ED)0.32 m

Productividad

PR = LDC / ED

N medio de
personas

PE = ED / TD h

Datos:
LDC = 33360
Sueldo = 6950$/m
El Esfuerzo
ED=2,4(KLDC)1.05 h-m 2.4 ( 33.36)1.05 = 95.41 h-m = 96 h-m
Tiempo de desarrollo
TD=2.5(ED)0.38 m TD=2.5(96)0.38 m = 14.16 m
Productividad
PR = LDC / ED PR = 33360 / 96 = 347.5 LDC/h-m
N mdio de personas
PE = ED / TD h PE = 96 / 14.16 h = 6.77 = 7 h

39

Calculando el costo de Py
Costo por LDC = 33360 / 347.5 = 20 $/LDC
Costo total del proyecto = 33360 * 20 =667200 $

40

CONCLUSIONES
La Estimacin del Proyecto de Software debe considerar cuatro

aspectos antes de que comience el proyecto:


Cuanto durara.
Cuanto esfuerzo.
Costo requerir.
Cuanta gente estar implicada.

Los modelos a pesar de su perfeccionamiento sobre diferentes

entradas para la estimacin de esfuerzo, costo, tiempo no modelan de


manera exacta.
Es necesario comparar con otros modelos y Proyectos para no

cometer errores en la estimacin que a la larga pueden causar


perdidas.
41

Potrebbero piacerti anche