Está en la página 1de 23

TECNICAS DE

ESTIMACIN EN
PROYECTOS DE
SOFTWARE

Antes de iniciar un proyecto de software, el gestor del proyecto
debe estimar el costo del software, para determinar el trabajo que
ha de realizarse, el tiempo que tomar hacerlo y cuales sern los
recursos necesarios, as como su cantidad.

Pero, Cmo el gestor del proyecto determina el costo del
software?, podemos responder que no existe una formula mgica,
muchas veces la experiencia y el trabajo realizados en proyectos
histricos, permite a los gestores manejar de mejor manera este
problema, sin embargo aqu se presentarn una tcnica de
descomposicin basada en el problema que nos ayudar a
determinar mejor una estimacin para proyectos de software.

E
s
t
i
m
a
c
i

n

d
e
l

P
r
o
y
e
c
t
o

S
o
f
t
w
a
r
e

Herramientas Automticas
de Estimacin
La decisin de desarrollar
comprar
Modelos empricos de
estimacin
Tcnicas de
Descomposicin
Estimacin Basada en el
Proceso
Estimacin Basada en el
Problema
LDC
PF
Tamao del Sw
Panorama General
Para la estimacin de duracin, esfuerzo y
costo pueden utilizarse:
Tcnicas de descomposicin: consiste en dividir
funcionalmente el sistema, y pronosticar el esfuerzo
asociado a cada funcin usando tanto la cantidad de
lneas de cdigo, como as tambin, los puntos de
funcin, luego agrupan todos los estimados en uno
general.
Modelos empricos de estimacin (prototipos):
por ejemplo COCOMO.
Herramientas automticas de Estimacin que
calculan el estimado.
La decisin de desarrollar comprar

QUE SON LAS TECNICAS DE
ESTIMACION?
La estimacin es un elemento importante del proceso de
planificacin y gestin de un proyecto. Permite evaluar y
determinar el posible resultado al que se puede llegar,
considerando el tamao, esfuerzo y costo (en ese orden).

Cuando se planifica un proyecto se tienen que obtener
estimaciones del esfuerzo humano requerido, de la duracin
cronolgica del proyecto y del costo. En la mayora de los
casos las estimaciones se hacen valindose de la experiencia
pasada como nica gua. Aunque en algunos casos puede
que la experiencia no sea suficiente.
QUE SON LAS TECNICAS DE
ESTIMACION?
Estas tcnicas de estimacin son una forma de resolucin de
problemas en donde, en la mayora de los casos, el
problema a resolver es demasiado complejo para
considerarlo como una sola parte. Por esta razn,
descomponemos el problema, re caracterizndolo como un
conjunto de pequeos problemas.
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.
Estimaciones del tamao
de un software
Para hacer estimaciones del tamao de un software se
utilizan tcnicas:

Directas: se utilizan las LDC para medir el tamao.
Indirectas: el tamao se representa mediante puntos de
funcin (PF).
Mediciones del
Software
Medidas Directas
Lneas de Cdigo
(LDC) producidas
Velocidad de
Ejecucin
Tamao de Memoria
Defectos informados
durante un periodo
de tiempo asociado
Mediciones del
Software
Medidas
Indirectas
Funcionalidad
Calidad
Complejidad
Eficiencia
Fiabilidad
Facilidad de
Mantenimiento
TECNICAS DE ESTIMACION
LDC
Los proyectos son constantemente utilizados dentro de la
organizacin, esto, porque constituyen el principal medio
de crecimiento para sta. Generalmente, los proyectos
han sido utilizados como un instrumento de accin para
manejar grandes inversiones en cualquier rea de la
organizacin. Por esto se busca una forma prctica para
estimar su esfuerzo y tiempo de ejecucin, para as
minimizar la inversin
Qu es una Lnea De
Cdigo?
Es una medida propuesta inicialmente cuando los
programas se escriban en tarjetas, con una lnea por tarjeta.
Actualmente los lenguajes permiten escribir varias
sentencias en una lnea, o una misma sentencia en varias
lneas
Qu miden las LDC?
Las LDC miden en forma directa el tamao del producto
de software. Se calculan simplemente contando las
instrucciones de cdigo fuente de cada componente del
producto de software excluyendo, generalmente, los
comentarios y blancos. Antes de adoptar esta mtrica
como estndar, la organizacin debe definirla en forma
exhaustiva. Esta definicin debe respetarse, ya que podra
atentarse contra la integridad de los datos de la base de
datos de los proyectos de la organizacin.
Esta tcnica trata de definir el tiempo
y el costo del proyecto en base a la
cantidad de lneas de cdigo se tienen
que escribir, cual es el costo por lnea
y cuantas lneas de cdigo
desarrollamos en un mes.
Pasos para el desarrollo
de LDC
Todo el proceso se desarrolla en una tabla como la
siguiente:

Funcin Optimi
sta
Mas
Proba
ble
Pesimista Esperad
as
Bsf./
Lne
a
Lneas/
Mes
Coste Meses
Pasos para el desarrollo
de LDC
Los pasos para desarrollar ese mtodo son los siguientes:
Descomponemos el problema en los mdulos importantes
que posea.
Estimar los valores para las columnas de lneas a escribir
optimista Ms Probable, Pesimista.
Calcular la columna esperada en base a la frmula
siguiente:
=
+4+
6


Pasos para el desarrollo
de LDC
Se coloca en la columna de "Bsf/lnea" el precio de cada lnea en cada
mdulo, esto generalmente se realiza basados en los costos de proyectos
anteriores.
La siguiente casilla pertenece a cuantas lneas se pueden escribir en un
mes.
La casilla de "Coste", nos permite tener el clculo de cuanto costara
cada mdulo, esto se obtiene de multiplicar la columna de "Bsf. por
lnea" con la de "Esperada".
Los meses se calculan multiplicando las "Lneas al mes" por "Esperada

Al totalizar las columnas calculadas tendramos en la columna de
"Esperada" la cantidad de lneas que se escribiran, en la de "Coste" el
costo estimado del proyecto y en la de "Meses" los meses que
demorara el proyecto.
Ventajas
Fcil de calcular
Base de Calculo de
modelos de estimacin de
costos de software
existentes
Existencia de literatura al
respecto
Fcil de automatizar

Desventajas
Dependencia del lenguaje
de programacin
Difcil de estimar en etapas
temprana del proyecto
Difcil de calcular en
lenguajes de programacin
no procedurales

Aplicaciones
Practiline Source Code Line Counter
Aplicaciones
CodeAnalyzer - Multi-plataforma Java Code
Analyzer
conclusiones
Se destaca el hecho de que para proyectos pequeos resulta efectivo el lograr un
prototipo rpido como tcnica de educcin de requisitos, que si bien al inicio demanda
de un esfuerzo y tiempo adicional, esto se ve claramente compensando al momento de
desarrollar el producto final, ya que redunda en conseguir una planificacin ms real, el
tener una documentacin efectiva y poco cambiante, arquitecturas y diseos mejor
logrados, pero por sobre todo, una mayor certeza de alcanzar lo que el usuario final
realmente desea y por lo que est dispuesto a pagar.


conclusiones
Para realizar la planificacin de un proyecto software, es necesario poseer una
estimacin certera del esfuerzo necesario para el desarrollo lo ms temprano posible,
idealmente, con slo la etapa de especificacin de requisitos cubierta. De ms est decir
que sin la especificacin de requisitos cualquier estimacin ser en la ms completa
incertidumbre, pues cmo estimar el costo de realizar algo que desconocemos? A esta
altura del desarrollo del software, difcilmente se puede realizar una estimacin certera
de la cantidad de lneas de cdigo que tendr la aplicacin, ya que en este nivel no tiene
por qu estar decidida la herramienta de desarrollo y la cantidad de lneas de cdigo que
sern necesarias para implementar una funcin del software dependen fuertemente del
programador y la herramienta de desarrollo.

conclusiones
Por otra parte, los puntos de funcin pueden ser estimados con mayor certeza a partir
de una buena especificacin de requisitos (aunque no con toda la certeza deseada).
Lamentablemente, cuando los proyectos se plantean sobre la base de especificaciones
vagas o inexistentes, es muy poco lo que se puede hacer. La tcnica de estimacin de
proyectos Puntos de Funcin es muy til pero se deben tener en cuenta varios
aspectos antes de ponerla en prctica con el objetivo de lograr un resultado lo ms
cercano posible a la realidad.

GRACIAS

También podría gustarte