Sunteți pe pagina 1din 8

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002

LA PLANIFICACIN EN LOS PROYECTOS DE DESARROLLO DE


SOFTWARE
Jos Luis Fernndez Snchez

RESUMEN
Los jefes de proyecto son los responsables de la estimacin y gestin de los
presupuestos del proyecto. No realizar una estimacin o una mala estimacin del
esfuerzo de desarrollo son causa de muchos fracasos en proyectos de desarrollo
software.
La estimacin de coste es una actividad repetitiva que se inicia en la fase de
preparacin de ofertas y continua a lo largo de la vida del proyecto.
La precisin de la estimacin depende de la fase del ciclo de vida del proyecto. La
incertidumbre inicial es debida a las variaciones en las entradas utilizadas en el
cmputo de la estimacin. En fases ms avanzadas del proyecto, la incertidumbre
en la estimacin est ligada a los modelos de estimacin utilizados.
En el artculo se describen varias tcnicas de estimacin del esfuerzo de desarrollo
de proyectos software y su aplicabilidad en las diversas fases del ciclo de vida del
proyecto.
ABSTRACT
Software project managers are responsible for estimating and controlling project
budgets. No effort estimation or bad effort estimation are causes of project failure.
Software cost estimation is a continuing activity, which stars at the proposal stage
and continues through the lifetime of a project.

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


The estimation accuracy varies based on the software development stage. Early
uncertainty is based on variances in the input parameters to the estimate. Later
uncertainty in the estimate is based on the variances to the estimating models.
We will cover various techniques of software effort estimation and their applicability
on the software development life cycle.
1.INTRODUCCIN
La estimacin y planificacin incorrecta constituyen la principal causa de fracaso de
los proyectos de desarrollo software, en mayor medida que los tpicos problemas
tcnicos, los debidos al equipo de desarrollo o los causados por inadecuadas
relaciones con el cliente.
Esta situacin podra ser evitada si el jefe de proyecto utilizar una serie de tcnicas
de estimacin de esfuerzo de desarrollo que pueden ser aplicadas de un modo
riguroso y repetitivo. Por consiguiente, se puede considerar que la estimacin del
esfuerzo de desarrollo es una ciencia y no una actividad subjetiva sujeta a multitud
de incertidumbres.
En el artculo se analizan diversas tcnicas de estimacin del esfuerzo de desarrollo
de un proyecto, ya sea teniendo en cuenta el alcance de ste, las funcionalidades o
los requisitos a implantar, o el tamao de la propia implementacin.
Se considera la clasificacin de Boehm [1] para las tcnicas de estimacin:

Tcnicas basadas en la utilizacin de expertos (Mtodo Delphi Extendido)

Estimacin por analoga

Ley de Parkinson

Tcnicas basadas en la descomposicin funcional

Tcnicas algortmicas (COCOMO 81 y COCOMO II)

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


No todas las tcnicas analizadas se pueden considerar equivalentes. No todas se
pueden aplicar en el mismo momento de desarrollo debido a que los datos
requeridos por cada una de ellas son distintos, as mismo no todas ellas conllevan la
misma precisin en los resultados. Por consiguiente, es muy importante disponer de
recomendaciones como las presentadas en este artculo que permitan al usuario de
la tcnica seleccionar la ms apropiada segn la situacin y datos disponibles.
El artculo tiene dos partes fundamentales. En la primera parte se describe el modelo
de estimacin y su aplicacin durante el ciclo de desarrollo del software. En la
segunda parte, se analizan las tcnicas de estimacin mencionadas anteriormente y
su aplicabilidad.
2. MODELO DE ESTIMACION
La figura 1 describe un modelo de estimacin donde esta actividad se repite durante
varias veces en el ciclo de vida del proyecto de desarrollo del software. El objetivo
de repetir la estimacin es mejorar la precisin de sta a medida que se poseen
datos ms exactos del proyecto en cuestin.

Estimacin basada en
el Alcance

Estimacin basada en
la Funcionalidad

Estimacin basada en
la Implementacin

Figura 1. La Estimacin y el Ciclo de Vida del Proyecto

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002

Las tcnicas de estimacin basadas en el alcance del proyecto, tienen como ventaja
que se pueden aplicar en las primeras etapas del proyecto incluso en la preparacin
de ofertas. Estas tcnicas tienen el inconveniente de que su precisin es del orden
del 50%. Las tcnicas tpicas a aplicar en esta fase del proyecto son las basadas en
estimacin por analoga y la utilizacin de la opinin de expertos. Ambas se
describirn en el siguiente apartado del artculo.
Las tcnicas de estimacin basadas en las funcionalidades o requisitos a implantar
requieren, como es obvio, un anlisis detallado de los requisitos funcionales de la
aplicacin a desarrollar. Con estas tcnicas de estimacin, la precisin de la
estimacin de esfuerzo de desarrollo se mueve en un rango del 25%. Las tcnicas
tpicas a aplicar en esta fase son aquellas relacionadas con la descomposicin
funcional y los puntos funcin.
Las tcnicas de estimacin basadas en el tamao de la implementacin utilizan
como entrada a la estimacin, las lneas de cdigo de la aplicacin. Estas tcnicas
para ser precisas requieren un grado de avance mayor en el proyecto, pudiendo ser
aplicables despus de la fase de diseo preliminar o arquitectura. Por otra parte son
ventajosas porque su precisin est en un rango del 10%. En esta fase del proyecto
las tcnicas a aplicar seran las algortmicas como COCOMO.
El proceso habitual ser la utilizacin de una herramienta de estimacin del coste
de desarrollo del software, que aplicando la aproximacin descrita anteriormente,
permita estimar el esfuerzo de desarrollo y la duracin del proyecto. Con estas
entradas, una herramienta de gestin de proyectos convencional, permitir un ajuste
fino de la planificacin y programacin de las actividades del proyecto, as como de
la asignacin de recursos, principalmente los recursos humanos. Como se indic
anteriormente, este proceso de utilizacin de ambos tipos de herramientas es
repetido: en la fase de licitacin, despus de la especificacin de los requisitos y
despus de la fase de arquitectura del software, o bien despus del diseo
detallado.

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


3. TCNICAS DE ESTIMACIN
En este apartado se describen las tcnicas de estimacin ms utilizadas con
especial mencin de su aplicabilidad en el ciclo de vida del proyecto.
3.1 Tcnicas basadas en la utilizacin de expertos
Estas tcnicas se basan en el consenso de un conjunto de ingenieros con
experiencia en proyectos similares al que se va a desarrollar.
Para facilitar el proceso de decisin se utiliza el mtodo Delphi extendido donde se
siguen una serie de pasos: Planificacin, reunin de lanzamiento, trabajo individual,
reunin de estimacin, consolidacin de resultados y revisin de resultados.
El proceso se ejecuta cclicamente con el fin de buscar el consenso del grupo de
estimacin. Se da por finalizado cuando el conjunto de estimaciones se encuentra
dentro de un rango determinado.
Esta es una tcnica de estimacin basada en alcance, por ello se puede aplicar en
las primeras etapas del proyecto incluso en la preparacin de ofertas.
3.2 Estimacin por analoga
Se basa en comparar el proyecto a realizar con otros similares desarrollados
previamente por la empresa.
Esta tcnica requiere disponer de una base de datos o repositorio de mtricas de
proyectos, lo cual no es habitual en empresas con niveles bajos de madurez en el
desarrollo de software, conocidos como niveles CMM (Capability Maturity Model)
Esta es una tcnica de estimacin basada en alcance, con lo que se puede aplicar
en las primeras etapas del proyecto incluso en la preparacin de ofertas.
3.3 Ley de Parkinson
La ley de Parkinson establece que el esfuerzo de desarrollo se reparte en el tiempo
disponible.

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


Esto implica que el esfuerzo se determina a partir de los recursos disponibles. Por
ejemplo si el proyecto tiene un plazo de 12 meses y disponemos de 5 personas el
esfuerzo sera de 60 personas mes.
Esta es una tcnica de estimacin basada en los recursos disponibles y no en el
alcance, que se puede aplicar en las primeras etapas del proyecto incluso en la
preparacin de ofertas, pero que conlleva riesgos importantes.
3.4 Estimacin basada en descomposicin funcional
La estimacin se establece considerando la funcionalidad completa de la aplicacin
software a desarrollar y cmo esta funcionalidad es proporcionada por las
subfunciones de ms bajo nivel.
El mtodo ms utilizado en este caso es el conocido como mtodo de los puntos
funcin [3].
Para estimar el nmero de puntos funcin de una aplicacin, se computan varios
elementos que se pueden obtener de la especificacin de requisitos software de
dicha aplicacin: entradas externas, ficheros de interfaz externos, salidas al exterior,
consultas y tablas lgicas. De modo simplificado diramos que los puntos funcin de
una aplicacin se calcularan tal como se indica en la figura 2.

Entradas Externas x 4
Ficheros de Interfaz Externos x 7
Salidas al Exterior x 5

Puntos Funcin no Ajustados

Consultas Externas x 4
Tablas Lgicas x 10
Figura 2, Entradas al Mtodo de los Puntos Funcin

Se utiliza un factor de ajuste, que se multiplica por el valor de puntos funcin no


ajustados, para obtener el valor final de puntos funcin para la aplicacin a

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


desarrollar. El factor de ajuste se calcula mediante la identificacin 14 caractersticas
generales del sistema.
Estas son tcnicas de estimacin basadas en las funcionalidades o requisitos a
implantar, por ello son aplicables cuando se dispone de una especificacin detallada
de los requisitos de la aplicacin; por consiguiente, esta tcnica es aplicable
despus de la fase de anlisis en el ciclo de vida del proyecto.
3.5 Tcnicas algortmicas
Las tcnicas algortmicas suministran uno o varios algoritmos matemticos, que
producen una estimacin como funcin de un nmero de variables consideradas
como factores de coste. Boehm clasifica estas tcnicas en modelos lineales,
modelos

multiplicativos,

modelos

analticos,

modelos

tabulares

modelos

compuestos [1]. De estos ltimos, COCOMO (COnstructive COst

MOdel)

desarrollada por el propio Boehm, es la tcnica ms utilizada en la industria.


COCOMO establece que el esfuerzo nominal es funcin del tamao de la aplicacin
a desarrollar en miles de lneas de cdigo, segn la siguiente expresin:
Esfuerzo = a x Tamaob , donde a y b son constantes que cambian segn el tipo de
proyecto segn se describe posteriormente.
En COCOMO se consideran tres tipos de proyecto de desarrollo: Orgnico,
Intermedio y Empotrado. El modo orgnico caracteriza a aplicaciones de proceso
batch, cmputo cientfico y cmputos econmicos o financieros. ( a= 3.2 y b=1.05).
El modo intermedio es caracterstico de los sistemas transaccionales. ( a= 3.0 y
b=1.12). El modo empotrado es representativo de los sistemas de tiempo real de
tamao y complejidad elevados. ( a= 2.8 y b=1.20).
Una vez realizada la estimacin inicial, segn la formula anterior, sta se ajusta
utilizando 15 multiplicadores de esfuerzo que son dependientes de 15 atributos del
proyecto clasificados segn caractersticas de la aplicacin a desarrollar,
caractersticas del hardware a utilizar, caractersticas del personal de desarrollo y
atributos del proyecto.

VI Congreso Internacional de Ingeniera de Proyectos, Barcelona 2002


Actualmente existe una versin de COCOMO denominada COCOMO II, sta incluye
aspectos no contemplados en el mtodo original como son cohesin del equipo de
desarrollo, rotacin del personal, reutilizacin del software, nivel de madurez en el
desarrollo de software, documentacin y desarrollo en ubicaciones diversas [2].
Estas tcnicas para ser precisas requieren un grado de avance mayor en el
proyecto, pudiendo ser aplicables despus de la fase de diseo preliminar o
arquitectura. Estas tcnicas estn soportadas por herramientas de estimacin
comerciales.
4. CONCLUSIONES
La planificacin de los proyectos de desarrollo software puede ser realizada de
forma rigurosa, si es apoyada por el conjunto de tcnicas de estimacin aqu
contempladas. Estas tcnicas no son aplicables en el mismo momento del ciclo de
vida del proyecto, ni manejan la misma informacin de entrada; por lo que es
aconsejable la aplicacin de varias de ellas y la repeticin del proceso de estimacin
en tres momentos: despus de definir el alcance, despus de la especificacin de
los requisitos y despus del diseo.
REFERENCIAS
1. Software Engineering Economics
B. Boehm
Prentice Hall 1981
2. Software Cost Estimation with COCOMO II
B. Boehm/C. Abts
Prentice Hall 2000
3. Software Sizing and Estimating: Mark II Function Points (Function Point Analysis)
C Simons
John Wiley & Sons 1991
CORRESPONDENCIA
Jos Luis Fernndez Snchez
Ctedra de Proyectos/ E.T.S. de Ingenieros Industriales
C/ Jos Gutirrez Abascal 2, 28006 Madrid
Telfono/Fax: 34 91 3363146. Correo Electrnico: jlfdez@ingor.etsii.upm.es

S-ar putea să vă placă și