Está en la página 1de 7

COMBINACION DE ALTERNATIVAS PARA LA

ESTIMACION DE PROYECTOS SOFTWARE


Gramajo, E., Garca-Martnez, R., Rossi, B., Claverie, E. y Britos, P.
CAPIS - CENTRO DE ACTUALIZACION PERMANENTE EN INGENIERIA DE SOFTWARE

RESUMEN
La utilizacin de metodologas tradicionales para la estimacin de proyectos software
ha resuelto correctamente la necesidad de conocer la duracin de un proyecto como
una variable dependiente de los recursos a emplear. Se propone en este trabajo la
combinacin de las tcnicas de Puntos de Funcin y COCOMO para establecer una
estimacin dependiente de un conjunto de variables consideradas en un proyecto para
establecer una estimacin mas precisa del mismo. Se plantean en el trabajo aspectos
crticos que necesitan ser profundizados a fin de obtener un aprovechamiento mayor de
los mtodos descriptos.
Palabras Clave
Puntos de Funcin Estimacin de proyectos COCOMO Duracin proyecto
Orientado a Objetos
1. INTRODUCCIN
Actualmente se dispone de tcnicas para estimacin de proyectos que permiten la
realizacin de evaluaciones ms precisas que las obtenidas a travs de mtodos
tradicionales (orientadas a calcular individualmente el esfuerzo correspondiente a cada
una de las actividades del mismo).
Se analizarn dos de ellas, Puntos de Funcin (International Function Point users
Group. Function Point Counting Practices Manual) y COCOMO (Londeix B, Cost
Estimation for Software Development) a fin de examinar no solo sus ventajas sino
tambin sus aspectos crticos con el propsito de mostrar que mediante la interaccin
de ambas pueden subsanarse algunos de ellos.
Por ltimo se presentar como caso de estudio un anlisis comparativo de la
estimacin de un proyecto en funcin de diferentes lenguajes de programacin a
utilizar, para la implementacin del diseo, con la finalidad de comparar su variacin
respecto de las variables mencionadas.
2. MTODO TRADICIONAL
Las distintas metodologas tradicionales de estimacin de (Bem B.W.,Software
Engineering Economics) proporcionan un dato bsico (horas hombre) a aplicar al
proyecto, entendindose por sta a cantidad de horas a utilizar, a partir de lo cual y
mediante la utilizacin de diversos ratios tales como pesos/hora u horas/persona
pueden deducirse otros valores de estimacin como el costo, personal involucrado, etc.

Basndonos en la experiencia recogida en la actividad profesional (ITBA-CAPIS.


Carpetas de la Carrera de Posgrado en Ingeniera del Software) se plantean
basicamente dos situaciones (que son ejemplificadas en la figura 1, en la cual se
muestra el proceso de estimacin de acuerdo al enfoque tradicional que determina las
horas hombre necesarias a partir de las que se calculan los costos y en funcin de los
plazos de entrega acordados, se llega finalmente a establecer la cantidad de personal
a utilizar).
Primera Situacin: Tiene que ver con el costo estimado del proyecto (a partir de
estimar horas hombre) el cual est directamente relacionado al
ratio utilizado y considerando los plazos de entrega se converge a
un valor que satisfaga a las partes involucradas.
ESTIMAR

ESTIMAR

HORAS

EL

HOMBRE

COSTO

DETERMINAR

DETERMINAR

PLAZOS

EL PERSONAL

DE ENTREGA

INVOLUCRADO

Figura 1: Enfoque tradicional para estimacin de proyectos

Segunda Situacin: Est ntimamente relacionado con la estimacin del tiempo total del
proyecto ya que es determinado por dos criterios que normalmente
se oponen segn nos refiramos al punto de vista del usuario o del
desarrollador.
Para explicar mejor la idea y simplificndola podemos sintetizar que el desarrollador
tratar de extender el proyecto lo mximo posible a fin de asegurar su cumplimiento y
el usuario, por el contrario pretender reducirlo.
Dado que los mtodos tradicionales proporcionan una medida de las horas hombre
necesarias para aplicar al proyecto, la discusin se centra en la asignacin de personal
de manera de acortar proporcionalmente el tiempo total en funcin de aumentar aquella
variable.
Si bien para los desarrolladores es claro que ello no es as (normalmente se recurre a
analogas del estilo de ... si una persona puede pintar una habitacin en diez das no
puede pensarse que diez personas pudieran hacerlo en un da ...), stos no disponen
de argumentos con base cientfica que puedan explicar esta situacin cuando se trata
de proyectos de desarrollo de software.
Esto lleva invariablemente a la utilizacin de explicaciones que tienen mas que ver con
el sentido comn y la experiencia que con justificaciones elaboradas con fundamento.
Dicha situacin acarrea un inconveniente adicional producido por el establecimiento de
fechas de entrega que pueden resultar imposibles de cumplir cuando se acuerdan bajo
la presin del usuario o bien por la necesidad del desarrollador de cumplir
anticipadamente un proyecto.
Como sntesis de lo expresado sera deseable utilizar tcnicas que no solamente
posibilitaran calcular las horas hombre a aplicar al desarrollo de un proyecto sino

tambin estimar un valor de la duracin del mismo dado por sus caractersticas
intrnsecas independientemente de los recursos a emplear.

3. MTODOS ALTERNATIVOS
La utilizacin de dos mtodos, Puntos de Funcin (Park R.E, Checklist and Criteria for
Evaluating the Cost and Schedule Estimating Capabilities of Software organizations) y
COCOMO (Burril C.W, Modern Project Management) en forma conjunta permitira
mejorar la situacin descripta en la seccin precedente.
El mtodo COCOMO permite determinar los valores de las siguientes dos variables:

meses/hombre a aplicar al proyecto


meses totales del proyecto (dependiendo de factores tales como los
atributos de fiabilidad requerida del software, tamao de la base de datos,
complejidad del producto, limitaciones en el tiempo de ejecucin, limitaciones de
memoria principal, volatilidad de la mquina virtual, frecuencia de cambio en el
modelo de explotacin del ordenador, capacitacin de los analistas, experiencia
en aplicaciones, capacitacin de los programadores, experiencia en la mquina
virtual, experiencia en el lenguaje de programacin, prcticas modernas de
programacin, uso de herramientas para el desarrollo del software y limitaciones
en la planificacin).

En la figura 2 se presenta un esquema de estimacin que proporciona adems de las


horas hombre a emplear el tiempo total del proyecto (basndose para ello en el
conocimiento previo de la cantidad de sentencias de cdigo del proyecto) lo que
permite determinar el plazo de entrega. Mostrndose, adems, como a partir de estos
dos valores (horas hombre y tiempo total) y simplemente por el cociente de ambos se
obtiene la cantidad de recursos (personas) para llevarlo a cabo. A partir de all se
puede elaborar el costo mediante la aplicacin de ratios, de igual forma que en las
metodologas tradicionales.
Determinar
lneas de
cdigo
ESTIMAR

ESTIMAR

TIEMPO

HORAS

TOTAL

HOMBRE
ESTABLECER
PLAZO DE
ENTREGA
DETERMINAR

ESTIMAR

EL PERSONAL

EL

INVOLUCRADO

COSTO

Figura 2: Estimacin de proyectos por mtodo COCOMO

Debe tenerse en cuenta que la duracin total del proyecto es un valor terico y que
puede disminuirse incrementando los recursos (personas) a emplear aunque el

impacto, en razn de lo expresado anteriormente, ser menor (puede alcanzar a un


20% menos) que el esfuerzo aplicado a tal efecto.
Esta tcnica requiere de un dato elemental determinado por la cantidad de sentencias
de cdigo del proyecto a la que posteriormente se aplican diferentes algoritmos que
varan de acuerdo al modelo de desarrollo elegido (Orgnico, Semilibre o Libre) (ITBACAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software. Imprenta del
ITBA) para entallarlo finalmente de acuerdo a factores de ajuste seleccionados a partir
de las caractersticas especficas del proyecto.
Esta informacin se convierte en el aspecto crtico del mtodo ya que ese valor es un
parmetro difcil de determinar con exactitud y puede variar considerablemente segn
las metodologas de desarrollo utilizadas (Burril C.W, Modern Project Management).
El camino para resolver este aspecto crtico es mediante la aplicacin de otra tcnica,
la de Puntos de Funcin (Bem B.W.,Software Engineering Economics).
Segn se puede observar en la Figura 3 correspondiente a la metodologa de
estimacin por el mtodo de Puntos de Funcin, se obtienen los Puntos de Funcin del
sistema que son ajustados de acuerdo a factores predefinidos (Bem B.W.,Software
Engineering Economics) tales como atributos de comunicacin de datos, frecuencias
distribuidas, rendimiento, configuraciones fuertemente utilizadas, frecuencia de
transacciones, entrada on-line de datos, diseo para la eficiencia del usuario final,
actualizacin on-line, procesos complejos, utilizacin en otros sistemas, facilidad de
instalacin, facilidad de operacin, instalacin de mltiples sitios y facilidad de cambio,
posibilitando a partir de all el establecimiento, de acuerdo a ratios especficos, de la
cantidad de sentencias de cdigo del sistema software.
Este mtodo calcula los puntos de funcin de un sistema descomponiendo al mismo en
cinco funciones principales (entradas, salidas, consultas, ficheros internos y externos),
asignndoles valores de acuerdo a su complejidad y en funcin de la cantidad de cada
uno de ellos se llega a determinar, mediante su sumatoria, los puntos de funcin, que
son posteriormente ajustados de acuerdo a las caractersticas especficas del proyecto
(International Function Point users Group).
PUNTOS DE
PUNTOS DE
FUNCIN SIN

FUNCIN
AJUSTADOS

AJUSTAR

LNEAS DE CDIGO
DEL SOFTWARE

RATIO
LNEAS DE CDIGO
POR PUNTO DE FUNCIN

Figura 3: Estimacin de Proyectos por el mtodo de Puntos de Funcin

Sobre la base de este valor calculado se obtiene mediante la aplicacin de ratios


asociados a las caractersticas del lenguaje a utilizar (Cobol, 4GL, etc.) medidos en
cantidad de sentencias de cdigo por punto de funcin los valores totales.
Estos ratios permiten establecer la cantidad de instrucciones del software posibilitando
de esta forma obtener el dato que es punto de partida para el mtodo COCOMO
previamente descripto.

En opinin de los autores el mtodo de Puntos de Funcin presenta un aspecto crtico


en lo referido a la reutilizacin de mdulos preexistentes (por ejemplo varias salidas
similares que poseen una misma estructura con variaciones propias de cada una de
ellas).
En este caso el mtodo las considera a todas diferentes y se miden de la forma
descripta anteriormente con lo que se considera que la cantidad de puntos de funcin
dara una cifra superior a la real deformando el nmero final con la consabida
incidencia (nmero de sentencias de cdigo del software) en la aplicacin del mtodo
COCOMO.
A ttulo ilustrativo se muestra en la Tabla 1 la estimacin de un proyecto por los
mtodos de Puntos de Funcin y COCOMO analizando la incidencia de los diferentes
lenguajes de programacin.
IDENT.

I N D I C A DORES

FORMULA

ASEMBLER

FORTRAN
COBOL

PASCAL

ADA

4GL

GENERATOR

CODE

PUNTOS DE FUNCION
FP

Puntos de Funcin sin ajustar

TDI

Grado de influencia

AF

Factor de ajuste

FPA Puntos de Funcin ajustados

810

810

810

810

810

810

40

40

40

40

40

40

( TDI * 0,01) + 0,65

1.05

1.05

1.05

1.05

1.05

1.05

FP * AF

851

851

851

851

851

851

300

100

90

70

20

15

255,150

85,050

76,545

59,535

17,010

12,758

255

85

77

60

17

13

3.00
1.12
2.50
0.35

3.00
1.12
2.50
0.35

3.00
1.12
2.50
0.35

3.00
1.12
2.50
0.35

3.00
1.12
2.50
0.35

3.00
1.12
2.50
0.35

1488

435

386

292

72

52

1.06

1.06

1.06

1.06

1.06

1.06

1,578

461

410

309

76

55

LCO Lneas de cdigo por FP


LCOT Lneas de cdigo totales

LCO * FPA

KDSI Miles de lneas de cdigo

LCOT / 1000

COCOMO
CO1
PO1
CO2
PO2

Modelo MM coeficiente
Modelo MM exponente
Modelo TDEV coeficiente
Modelo TDEV exponenete

MM

Esfuerzo

FA

Coeficiente esfuerzo

C01 * (KDSI ** P01)

MMF Esfuerzo final

MM * FA

TDEV Tiempo de desarrollo

C02 * (MMF ** P02)

33

21

21

19

11

10

NPER Cantidad de personas

MMF / TDEV

48

22

20

17

2,500

2,500

2,500

2,500

2,500

2,500

3,944,375 1,152,398 1,024,127

772,880

190,001

137,665

CPRO Costo mensual por persona


CTOT Costo final

CPRO * NPER

Tabla 1: Estudio Comparativo de la estimacin


para diferentes lenguajes de codificacin

Para este ejemplo se seleccion un proyecto de software referido a un sistema cuyo


objetivo es mejorar el servicio de reclamaciones de clientes de una empresa de salud
que dio como resultado un valor de 810 Puntos de Funcin, analizando la variacin de
lneas de cdigo de acuerdo al lenguaje utilizado (Pressman R.S, Ingeniera del
Software) y su incidencia en los diferentes valores de la estimacin (meses hombre,
tiempo total y costo).

Por otra parte se utiliz para la estimacin por COCOMO un modo Semilibre modelo
intermedio (ITBA-CAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del
Software) y cabe hacer notar que en los valores obtenidos no se consider la incidencia
producida por la reutilizacin de mdulos preexistentes lo que hubiera significado una
disminucin considerable de los valores resultantes.
Del anlisis de la referida tabla y tomando como referencia los valores extremos, es
decir considerando la implementacin sobre un lenguaje ensamblador (columna 1) y un
generador de cdigo (columna 6) surgen algunas consideraciones importantes de
destacar:

Las sentencias de cdigo por punto de funcin (LCO) se reducen a la treinta ava
parte.

El esfuerzo final (MMF) correspondiente a la cantidad de meses hombre a


emplear en el proyecto mantiene una relacin aproximada a la descripta
anteriormente.

El costo final (CTOT) tambin se reduce en la misma proporcin.

El Tiempo (TDEV) correspondiente al tiempo total del Proyecto solamente se


reduce a la tercera parte.

Este anlisis podra extenderse a cualquier combinacin de los diferentes lenguajes de


implementacin del diseo con resultados similares.
Puede concluirse, entonces, que el tiempo total de duracin de un proyecto est
relacionado con las caractersticas propias del mismo y no depende directamente de el
lenguaje de implementacin del diseo como as tampoco de la cantidad de personal a
utilizar, sino que esta ltima es una consecuencia directa de los dos valores estimados
por el metodo (Meses Hombre Totales MMF y Tiempo Total del Proyecto TDEV).
A fin de complementar el anlisis se han determinado valores estimativos del costo por
persona para obtener una estimacin econmica del proyecto en cuestin.

4. CONCLUSIONES
Si bien existen dos factores fundamentales a examinar en la estimacin de un proyecto
software, su duracin y costo, la importancia cada vez mayor que toma la informacin
como factor estratgico ha determinado que sea la duracin de un proyecto uno de los
aspectos mas prioritarios en su realizacin.
Como sntesis de lo expresado anteriormente puede decirse que el aspecto crtico de
los mtodos tradicionales de estimacin de proyectos software radica en la
imposibilidad de establecer una unidad de medida para la estimacin de la duracin
total del proyecto como un valor dependiente de las caractersticas del mismo y no solo
en funcin de los recursos humanos a emplear.
Como alternativa se propuso en este trabajo la utilizacin combinada de dos mtodos
(Puntos de Funcin y COCOMO) tendientes a proporcionar una estimacin mas precisa
tratndolos de la siguiente forma:

Primero la aplicacin del mtodo de Puntos de Funcin para determinar las sentencias
de cdigo del proyecto software, la cual mantiene una distorsin, producida por no
considerar esta tcnica la reutilizacin de mdulos preexistentes.
En segundo lugar la aplicacin del mtodo COCOMO partiendo de la informacin
producida por el anterior (sentencias de cdigo) para llegar a una estimacin precisa de
las horas hombre a aplicar y fundamentalmente a la estimacin de la duracin total del
proyecto.
Finalmente y basndonos en que el paradigma de objetos considera la reusabilidad
como un factor bsico y entendiendo que el mtodo descripto (PUNTOS DE FUNCIN)
pareciera no tomar en cuenta estas caractersticas, queda planteado a partir del
presente trabajo, una lnea de investigacin tendiente a analizar la incidencia de las
metodologas orientadas a objetos en esta tcnica de estimacin a fin de elaborar los
factores de ajuste necesarios para reducir la distorsin provocada.

5. REFERENCIAS
Bem B.W.,Software Engineering Economics, Prentice Hal. 1981
Burril C.W, Modern Project Management, Burril-Ellsworth Associates. 1980.
International Function Point users Group. Function Point Counting Practices Manual.
Release 4.0. 1994.
ITBA-CAPIS. Carpetas de la Carrera de Posgrado en Ingeniera del Software. Imprenta
del ITBA. Edicin 1996.
Londeix B, Cost Estimation for Software Development, Addison-Wesley Publishers
Company. 1997.
Park R.E, Checklist and Criteria for Evaluating the Cost and Schedule Estimating
Capabilities of Software organizations. CMU/SEI-95-SR-005. Enero 1995.
Pressman R.S, Ingeniera del Software. Un enfoque prctico. Mc Grow Hill. 1994

También podría gustarte