Está en la página 1de 78

P ROYECTO DE GRADO

Presentado ante la ilustre UNIVERSIDAD DE L OS A NDES como requisito parcial para


obtener el Título de INGENIERO DE SISTEMAS

ESTIMACIÓN DE ESFUERZ O Y COSTO EN LA PRODUCCIÓN DE


SOFTWARE HECHO EN VENEZUELA: ESTUDIO DE CASOS.

Por

Br. Dixon Villarreal


Tutor: Prof. Vicente Ramírez
Co-tutor: Prof. Judith Barrios

Marzo 2007

©2007 Universidad de Los Andes Mérida, Venezuela


ESTIMACIÓN DE ESFUERZ O Y COSTO EN LA PRODUCCIÓN DE
SOFTWARE HECHO EN VENEZUELA: ESTUDIO DE CASOS.

Br. Dixon Villarreal

Proyecto de Grado — Investigación de Operaciones, 78 páginas

Resumen: En este proyecto se realiza una revisión bibliográfica de las técnicas de


estimación de esfuerzo en el desarrollo de software existentes, se seleccionan los modelos de
estimación más completos y actualizados. Se presenta un estudio del uso de técnicas de
estimación de esfuerzo en la industria de software local. Por medio de la aplicación de
encuestas a empresas de desarrollo de software se realiza un sondeo para conocer acerca de la
manera como estiman esfuerzo las empresas locales. Luego, se seleccionan 3 proyectos de
desarrollo de software ya concluidos realizados por las empresas encuestadas y se aplica a
cada uno de ellos los modelos de estimación de esfuerzo seleccionados para así comparar el
esfuerzo estimado por los modelos con el esfuerzo real requerido para la realización de
dichos proyectos. Finalmente se concluye: que los modelos de estimación de esfuerzo
COCOMO II y La Ecuación del Software son los más completos y actualizados. También
que la industria del software local usa la técnica de puntos de funcionalidad junto a la
experiencia propia para estimar esfuerzo y costo. Además, los modelos de estimación de
esfuerzo antes mencionados parecieran según los resultados no estimar apropiadamente el
esfuerzo en los proyectos desarrollados por las empresas locales.

Palabras clave: Estimación de esfuerzo, Producción de software, Evaluación, planificación.

ii
Dedicatoria

Al Dios Todopoderoso y a su Hijo Jesucristo que me han coronado de


favores y misericordias en mi vida.

A mis padres: Medadias y Cecilia, este es un regalo para ustedes.

iii
Tabla de contenido

Índice de Figuras .......................................................................................................................vi


Índice de Tablas ...................................................................................................................... vii
Agradecimientos .................................................................................................................... viii
Capítulo 1 Introducción

1.1 Antecedentes y motivación ................................................................................... 1


1.2 El problema ........................................................................................................... 2
1.3 Objetivo general.................................................................................................... 3
1.3.1 Objetivos específicos ................................................................................. 3
1.4 Metodología .......................................................................................................... 4
1.5 Organización del documento ................................................................................ 4

Capítulo 2 Modelos usados para medir esfuerzo

2.1 Introducción .......................................................................................................... 6


2.2 Técnicas de estimación de esfuerzo en el desarrollo de software......................... 6
2.2.1 Clasificación propuesta por Boehm ........................................................... 7
2.3 COCOMO II ....................................................................................................... 10
2.4 La ecuación del software..................................................................................... 18
2.5 Conclusiones ....................................................................................................... 20

Capítulo 3 Diagnóstico sobre uso de técnicas de estimación en la industria del software

3.1 Introducción ........................................................................................................ 21

iv
3.2 Elaboración de la encuesta .................................................................................. 22
3.2.1 Objetivo de la encuesta ............................................................................ 22
3.2.2 Selección de las preguntas de la encuesta ................................................ 22
3.2.3 Ambito de la aplicación de la encuesta.................................................... 23
3.3 Presentación y analisis de los resultados obtenidos............................................ 23
3.4 Conclusiones ....................................................................................................... 36

Capítulo 4 Evaluación de proyectos y comparación de los resultados obtenidos

4.1 Introducción ........................................................................................................ 37


4.2 Descripción de los proyectos .............................................................................. 37
4.3 Calculo del tamaño del sistema........................................................................... 40
4.3.1 Tamaño del proyecto 1............................................................................. 43
4.3.2 Tamaño del proyecto 2............................................................................. 44
4.3.3 Tamaño del proyecto 3............................................................................. 45
4.4 Cálculo del esfuerzo estimado............................................................................. 46
4.4.1 Usando COCOMO II ............................................................................... 46
4.4.2 Usando la ecuación del software.............................................................. 54
4.5 Cálculo del esfuerzo real..................................................................................... 59
4.6 Análisis de los resultados.................................................................................... 60
4.6.1 Análisis de sensibilidad............................................................................ 63
4.7 Conclusiones ....................................................................................................... 65

Capítulo 5 Conclusiones y recomendaciones

5.1 Conclusiones ....................................................................................................... 66


5.2 Recomendaciones................................................................................................ 67
Bibliografía ............................................................................................................................ 68

v
Índice de Figuras

Gráfico 1. Número de años que tienen trabajando las empresas encuestadas ....................... 24
Gráfico 2. Número de empleados de las empresas encuestadas ............................................ 25
Gráfico 3. Distribución porcentual de horas trabajadas de lunes a viernes ........................... 27
Gráfico 4. Distribución porcentual de horas trabajadas los sábados y domingos .................. 27
Gráfico 5. Formas de calcular costos de las empresas encuestadas ....................................... 28
Gráfico 6. Distribución porcentual del uso de técnicas utilizadas ......................................... 29
Gráfico 7. Distribución porcentual de los costos considerados ............................................. 30
Gráfico 8. Ajuste a la realidad de las estimaciones hechas por las empresas encuestadas.... 32
Gráfico 9. Almacenamiento de estadísticas de los proyectos realizados ............................... 33
Gráfico 10. Uso de herramientas de planificación de proyectos .......................................... 34
Gráfico 11. Persona encargada de la planificación de los proyectos ..................................... 35
Gráfico 12. Valores de esfuerzo para el proyecto 1 ............................................................... 60
Gráfico 13. Valores de esfuerzo para el proyecto 2 ............................................................... 61
Gráfico 14. Valores de esfuerzo para el proyecto 3 ............................................................... 62

vi
Índice de Tablas

Tabla 1. Factores de peso ....................................................................................................... 11


Tabla 2. Proporciones de productividad ................................................................................ 11
Tabla 3. Factores de escala estimados por Boehm................................................................ 13
Tabla 4. Conductores de costo para diseño inicial estimados por Boehm ............................. 14
Tabla 5. Conductores de costo en post-arquitectura estimados por Boehm .......................... 16
Tabla 6. Clasificación de la industria según el número de empleados .................................. 26
Tabla 7. Datos del proyecto 1 ................................................................................................ 38
Tabla 8. Datos del proyecto 2 ................................................................................................ 39
Tabla 9. Datos del proyecto 3 ................................................................................................ 40
Tabla 10. Factores de complejidad para los puntos de función ............................................. 41
Tabla 11. Conversión de los puntos de función a líneas de código ....................................... 42
Tabla 12. Puntos de función para el proyecto 1 ..................................................................... 43
Tabla 13. Puntos de función para el proyecto 2 ..................................................................... 44
Tabla 14. Puntos de función para el proyecto 3 ..................................................................... 45
Tabla 15. Tamaño estimado de los proyectos ........................................................................ 46
Tabla 16. Resultados de los factores de escala para el proyecto 1......................................... 47
Tabla 17. Resultados de los conductores de costo para el proyecto 1 ................................... 48
Tabla 18. Resultados de los factores de escala para el proyecto 2......................................... 49
Tabla 19. Resultados de los conductores de costo para el proyecto 2 ................................... 50
Tabla 20. Resultados de los factores de escala para el proyecto 3......................................... 51
Tabla 21. Resultados de los conductores de costo para el proyecto 3 ................................... 52
Tabla 22. Resultados del esfuerzo estimado por COCOMO II.............................................. 53
Tabla 23. Valores propuestos para B en relación al número de líneas de código .................. 55
Tabla 24. Valores propuestos para P...................................................................................... 55
Tabla 25. Valores de esfuerzo estimado por la ecuación del software .................................. 58
Tabla 26. Valores de esfuerzo real calculados....................................................................... 59
Tabla 27. Valores de esfuerzo obtenidos ............................................................................... 60
Tabla 28. Esfuerzo estimado con valores mínimo y máximo de PMAT ............................... 64

vii
Agradecimientos

En este momento de victoria en mi vida, deseo celebrar este triunfo con todas
aquellas personas que de una u otra manera me brindaron su apoyo para así lograr esta meta
alcanzada y de igual manera ofrecer mi agradecimiento por la valiosa ayuda prestada.

A mi Familia, que siempre han estado presentes y me han o frecido su apoyo incondicional.

A la Universidad de los Andes, por ser la casa de estudios que me brindo sus conocimientos
durante el trayecto de mi carrera que me permitieron la realización de este trabajo.

A la Escuela de Ingeniería de Sistemas, que me brindo la formación académica y profesional


que tengo actualmente.

A mi tutor Prof. Vicente Ramírez y co-tutor Prof. Judith Barrios, quienes han sido un apoyo
en el fortalecimientote los conocimientos necesarios para la realización de este proyecto.

A todos aquellos amigos, compañeros y panitas que vivieron junto a mi muchos momentos,
tanto de alegrías como de tristezas, brindándome apoyo y transmitiéndome confianza para
seguir adelante.

Y a todas aquellas personas que de una u otra manera hicieron posible la realización de este
trabajo.

viii
Capítulo 1

Introducción

1.1 Antecedentes y Motivación

Al planificar la creación de un software se debe realizar un conjunto de actividades,


entre las cuales tenemos la estimación del esfuerzo que involucrará llevar a cabo un proyecto
para el desarrollo de dicho software. Estimar es mirar al futuro aceptando resignados cierto
grado de incertidumbre, por lo cual la estimación es una actividad importante que no debe
llevarse a cabo de forma descuidada.

Al estimar el esfuerzo en la producción de software se toma en cuenta el


procedimiento técnico a utilizar, los recursos involucrados y la planificación. El Tamaño del
proyecto juega un papel muy importante ya que puede afectar la precisión de dichas
estimaciones. A medida que el tamaño aumenta, crece rápidamente la interdependencia entre
los distintos elementos del software. Por otra parte, una inadecuada estimación de esfuerzo
podría involucrar un riesgo en el fracaso del proyecto mismo.

Existen técnicas útiles par a la estimación de esfuerzo, dado que la estimación es la


base de todas las demás actividades de planificación del proyecto, debe realizarse con mucha
cautela. Cuando se usan técnicas para la estimación de costos se requiere experiencia y
acceso a una buena información histó rica que permitan confiar en medidas cuantitativas
cuando todo lo que existe son datos cualitativos.

1
Capítulo 1. Introducción 2

Para realizar estimaciones de esfuerzo hay varias opciones posibles. Aquí se exponen las
principales:

a) Basar la estimación en proyectos similares.


b) Utilizar técnicas de descomposición relativamente sencillas para generar estimaciones.
c) Desarrollar un modelo empírico.
d) Herramientas automáticas de estimación.

En resumen, el planificador de un proyecto de producción de software tiene que estimar tres


cosas antes de que comience el proyecto: cuánto durará, cuánto esfuerzo requerirá y cuá nta
gente estará implicada. Además, el planificador debe predecir los recursos de hardware y
software que va a requerir y el riesgo implicado.

Para obtener estimac iones de esfuerzo de un proyecto de desarrollo de software,


generalmente se utilizan al menos dos de las cuatro técnicas referidas anteriormente.
Mediante la comparación y la conciliación de las estimaciones obtenidas con las diferentes
técnicas, el planificador puede obtener una estimación más exacta. La estimación del
proyecto de software nunca será exacta, pero la combinación de buenos datos históricos y
técnicas puede mejorar la precisión de la estimación.

1.2 El Problema

Existe en la actualidad modelos propuestos por varios autores para estimar esfuerzo
en el desarrollo de software. En la creciente industria del software en nuestro país al igual
que ha pasado en otras latitudes se hace necesario la estimación de esfuerzo en el desarrollo
de software. En esta investigación se busca observar la pertinencia y relevancia de algunos
modelos de estimación de esfuerzo que han funcionado en otros países obteniéndose
Capítulo 1. Introducción 3

resultados satisfactorios. Esta observación se realizó a través de casos de estudios locales


seleccionados.

1.3 Objetivo general

Estudiar, a través de casos seleccionados, la relevancia en la aplicación de algunos


modelos de estimación de esfuerzo en la producció n de software hecho en Mérida.

1.3.1 Objetivos específicos

• Elaborar una encuesta para recolectar información acerca del uso de técnicas de
estimación de esfuerzo por parte de las empresas productoras de software.

• Realizar la recolección de información a través de la aplicación de la encuesta


elaborada.

• Seleccionar algunos casos de estudio de proyectos de producción de software


desarrollados.

• Aplicar algunos modelos para estimación de esfuerzo a los proyectos de software


seleccionados.

• Evaluar el desempeño de dichos proyectos a la luz de los hechos.

• Comparar los resultados del esfuerzo estimado por los modelos seleccionados con el
esfuerzo real obtenido al finalizar cada uno de los proyectos seleccionados.
Capítulo 1. Introducción 4

1.4 Metodología

Se elaboró una encuesta para la recolección de información acerca del uso de


técnicas de estimación de esfuerzo por parte de las empresas productoras de software.

Se visitaron empresas cercanas y se contactó vía Web a otras para la aplicación de la


encuesta.

Se realizó una selección de algunos proyectos de producción de software hechos en


Mérida ya concluidos.

Se analizaron las planificaciones hechas de estimación de esfuerzo para cada


proyecto.

Se aplicaron los modelos de estimación de esfuerzo seleccionados: COCOMO II y la


ecuación del software de Putnam, con el fin de obtener una idea del resultado que
propondrían dichos modelos.

Se evaluaron los proyectos seleccionados a la luz del esfuerzo real involucrado en la


ejecución.

Se compararon los resultados obtenidos en ambas evaluaciones para los casos


estudiados.

1.5 Organización del documento

El capítulo 2 presenta una descripción detallada de los modelos y herramientas usadas en esta
investigación para medir el esfuerzo de los proyectos de software seleccionados.
Capítulo 1. Introducción 5

En el capítulo 3 se presenta un diagnóstico de la situación actual de la industria del software


en Venezuela específicamente en la ciudad de Mérida sobre el uso de técnicas para la
estimación de esfuerzo a través del análisis de los resultados obtenidos de las encuestas
realizadas a las empresas de software.

En el capítulo 4 se realiza la evaluación de los proyectos seleccionados usando los modelos


de estimación descritos anteriormente para luego realizar comparaciones con los resultados
obtenidos.

Finalmente, en el capítulo 5 se presentan las conclusiones y algunas recomendaciones acerca


del uso de los modelos de estimación de esfuerzo en el desarrollo de software local.
Capítulo 2

Modelos usados para medir esfuerzo

2.1 Introducción

En este capítulo se presentan los fundamentos teóricos de esta investigación. Se


realiza un bosquejo general acerca de las técnicas usadas para realizar la estimación de
esfuerzo en el desarrollo de software. Luego se realiza la descripción de los modelos de
estimación seleccionados y la forma de aplicación de los mismos para este estudio.

2.2 Técnicas de estimación de esfuerzo en el desarrollo de


software

Desde hace más de 30 años hasta nuestros días se han publicado una gran cantidad de
técnicas para realizar la estimación de esfuerzo. La mayoría de estas técnicas están basadas
en modelos propuestos obtenidos a través de datos históricos, es decir, proyectos ya
realizados. Muchos autores han planteado distintos tipos de clasificación en las que se
puedan englobar todas las técnicas existentes. Una de las más aceptadas es la propuesta por
Boehm [Boehm, 1981], en la cual se propone la existenc ia de siete métodos de estimación de
tal forma que cualquier modelo se clasificaría dentro de uno de esos métodos. Estos siete
métodos se describen a continuación.

6
Capítulo 2. Modelos usados para medir esfuerzo 7

2.2.1 Clasificación propuesta por Boehm

a) Modelos algorítmicos:

En este método se agrupan aquellos modelos que proporcionan uno o más algoritmos que
permiten realizar las estimaciones de esfuerzo y costos en el desarrollo de software a partir de
un conjunto de variables conocidas como conductores de costes.

b) Estimación basada en la experiencia de expertos:

Este método implica la consulta de uno o más expertos para realizar las estimaciones.

c) Analogía:

Se realizan las estimaciones comparando el proyecto actual con los datos reales de otros de
las mismas características realizados anteriormente.

d) Parkinson:

Se basa en el principio que el costo será el máximo de los recursos disponibles.

e) Método “Price to Win”

Este método parte del principio de que el costo debe ser aquel que de más ventajas a la
comercialización del producto.
Capítulo 2. Modelos usados para medir esfuerzo 8

f) Método de estimación de arriba a abajo:

Las estimaciones se hacen para el proyecto total y después se fraccionan para saber las
asociadas con cada parte del mismo.

g) Método de estimación de abajo a arriba:

Se divide el proyecto en partes y se realizan las estimaciones para cada una de ellas. Las
estimaciones para el proyecto total es la suma de las partes.

Esta clasificación ha sido aceptada por muchos años, pero debido al cambio en la forma de
desarrollar software la mayoría de estos métodos se han hecho obsoletos. Hoy en día sólo
unos pocos se han actualizado y han surgido otras formas para estimar esfuerzo en el
desarrollo de software.

Las principales opciones en la actualidad al realizar estimación en el desarrollo de software


se resumen en:

Basar la estimación en proyectos similares: esta alternativa puede funcionar muy bien
cuando el proyecto es semejante con otros que ya han sido desarrollados. La desventaja de su
implementación es la de requerir informació n de mediciones efectuadas en proyectos pasados
que no siempre están disponibles y que además no siempre representan un buen indicador.
Capítulo 2. Modelos usados para medir esfuerzo 9

Utilizar técnicas de descomposición relativamente sencillas para generar estimaciones:


se basa en la descomposición del prob lema redefiniéndolo en conjuntos más pequeños. Este
enfoque tiene dos puntos de vista: descomposición del problema y descomposición del
proceso [Pressman, 2005]. La estimació n hace uso de ambas formas de particionamiento . En
este contexto es importante comprender primero el ámbito del software a construir y luego
realizar una estimación de su tamaño.

Desarrollar un modelo empírico: utiliza fórmulas derivadas empíricamente para predecir


costos, esfuerzos y tiempos (por ej. Bailey-Basili, COCOMO II, Putman entre otros)
[Pressman, 2005]. Los datos empíricos que soportan la mayoría de los modelos de estimació n
se obtienen de una muestra limitada de proyectos.

Herramientas automáticas de estimación: las herramientas automáticas de estimación


permiten al planificador estimar costos y esfuerzos, así como llevar a cabo análisis del tipo,
que pasa si, con importantes variables del proyecto, tales como la fecha de entrega o la
selección del personal. Aunque existen muchas herramientas automáticas de estimación,
todas exhiben las mismas características generales y todas requieren de una o más clases de
datos. A partir de estos datos, el modelo implementado por la herramienta automática de
estimación proporciona estimaciones del esfuerzo requerido para llevar a cabo el proyecto,
los costos, la carga de personal, la duración y, en algunos casos, la planificación temporal de
desarrollo y riesgos asociados.

Específicamente para este estudio se han seleccionado 2 modelos de estimación de esfuerzo.


Luego de haber realizado una revisión bibliográfica acerca de los modelos existentes, se
encontró que COCOMO II y la ecuación del software de Putnam se encuentran entre los más
Capítulo 2. Modelos usados para medir esfuerzo 10

actualizados y completos. Además, sus ecuaciones y funcionamiento son de dominio público.


A continuación se presenta la descripción de estos 2 modelos:

2.3 COCOMO II

El nombre COCOMO procede de Constructive Cost Model y la denominación II se refiere a


que es la segunda versión. La primera publicación de esta versión se hizo en 1995 [Boehm,
1995]. COCOMO II es un modelo que considera diferentes enfoques para el desarrollo de
software, como el de la construcción de prototipos, el desarrollo basado en componentes y el
uso de programación con bases de datos.

Este modelo está compuesto por tres submodelos:

1. Composición de aplicaciones.

Se utiliza cuando el sistema es creado mediante componentes reutilizables, scripts y


programación de bases de datos, fue diseñado para realizar estimaciones de desarrollo de
prototipos. Este modelo utiliza como variable de medida del tamaño del producto los Puntos
Objeto. Los puntos objeto son básicamente una cuenta de las pantallas, los informes y los
módulos, desarrollados en un lenguaje de tercera generación, en la aplicación. Cada cuenta es
ponderada mediante un factor de complejidad de tres niveles, simple, medio y comple jo. En
esencia, la complejidad es una función del número y el origen de las tablas de datos del
cliente y servidor necesario para generar la pantalla o el informe y el número de vistas o
secciones presentadas como parte de la pantalla o del informe.

Luego de conocer el número de pantallas, informes y componentes que probablemente se


necesiten para construir la aplicación (L3G ), se asigna su complejidad y se utilizan los
factores de peso presentados en la siguiente tabla para hallar los puntos objetos.
Capítulo 2. Modelos usados para medir esfuerzo 11

Peso de la complejidad
Tipo de Objeto Básico Intermedio Avanzado
Pantalla 1 2 3
Informe 2 5 8
Componentes L3G 10
Tabla 1. Factores de peso.

La cuenta de los puntos objetos se determina multiplicando el número original de instancias


del objeto por el factor del peso y se suman para obtener la cuenta total de los puntos objetos.
Se debe calcular el porcentaje de reutilización de software para así realizar el ajuste de los
puntos objetos ya calculados. Entonces los puntos objetos nuevos se calculan de la siguiente
manera:

PON = (puntos objetos) x [(100 - %reutilización)/100]

Para realizar la estimación del esfuerzo todavía falta una variable llamada productividad, la
cual se halla por medio de la siguiente tabla:

Experiencia/capacidad Muy baja Baja Normal Alta Muy alta


del desarrollador
Madurez/capacidad Muy baja Baja Normal Alta Muy alta
del entorno
Productividad 4 7 13 25 50
(PROD)
Tabla 2. Proporciones de productividad.
Capítulo 2. Modelos usados para medir esfuerzo 12

Con los valores necesarios ya encontrados se calcula el esfuerzo con la siguiente ecuación:

Esfuerzo estimado = PON / PROD

2. Diseño Inicial

Este submodelo tiene en cuenta la exploración de diferentes arquitecturas del sistema y


conceptos de operación. Se aplica en etapas tempranas del diseño del sistema, después que
los requerimientos hayan sido establecidos. Utiliza como tamaño del producto los Puntos de
Función o las Líneas de Código, cuando están disponibles, e introduce un conjunto de 5
Factores de Escala, a cada uno de los cuales se les asigna un valor que será un número real
correspondiente al rango en el que se sitúe el factor para el proyecto que se está
desarrollando. Hay seis rangos Muy Bajo, Bajo, Nominal, Alto, Muy Alto y Extra Alto. Los
factores de escala son los siguientes:

1. Precedentes (PREC).

Tiene en cuenta la experiencia de la organizació n en el desarrollo de ese tipo de aplicaciones.

2. Flexibilidad en el desarrollo (FLEX).

Tiene en cuenta la rigidez de los requisitos y de las restricciones.

3. Arquitectura / Solución de riesgos (RESL).

Tiene en cuenta las medidas tomadas para la eliminación de riesgos.

4. Cohesión del equipo (TEAM).


Capítulo 2. Modelos usados para medir esfuerzo 13

Refleja las dificultades de cohesión y sincronización de los implicados en el proyecto, debido


a su diversa procedencia y objetivos. Estos son: usuarios, clientes, desarrolladores, equipo de
mantenimiento, etc.

5. Madurez de procesos (PMAT).

Este factor tiene en cuenta el nivel de madurez de procesos de la organización, para lo cual
utiliza la escala de cinco niveles del CMM (Capability Maturity Model) desarrollado po r el
SEI (Software Engineering Institute) de la universidad Carnegie Mellon.

La tabla 3 presentada a continuación muestra los valores estimados para cada uno de los
factores de escala por Boehm:

Factores
de escala Muy Bajo Nominal Alto Muy Alto Extra
(Fe) bajo Alto
PREC 6.20 4.96 3.72 2.48 1.24 0.00
FLEX 5.07 4.05 3.04 2.03 1.01 0.00
RESL 7.07 5.65 4.24 2.83 1.41 0.00
TEAM 5.48 4.38 3.29 2.19 1.10 0.00
PMAT 7.80 6.24 4.68 3.12 1.56 0.00
Tabla 3. Factores de escala estimados por Boehm.

Este submodelo utiliza también 7 multiplicadores de esfuerzo a los que se les asigna un
número real teniendo en cuenta el rango, de seis niveles (Extra Bajo, Muy Bajo, Bajo,
Capítulo 2. Modelos usados para medir esfuerzo 14

Nominal, Alto, Muy Alto y Extra Alto), en que se encuentre el multiplicador para el proyecto
estudiado. La tabla de valores de los multiplicadores de esfuerzo se calibra uniendo los
multiplicadores de esfuerzo calibrados para el modelo Post - Arquitectura [USC-CSE 1997].
Dichos conductores de costes son:

1. Fiabilidad y complejidad del producto (RCPX).


2. Reutilización requerida (RUSE).
3. Dificultad de la plataforma (PDIF).
4. Capacidad del personal (PERS).
5. Experiencia del personal (PREX).
6. Facilidades (FCIL).
7. Calendario (SCED).

La tabla 4 presentada a continuación muestra los valores estimados para cada uno de los
factores de escala por Boehm:

Conductores Extra Muy Bajo Nominal Alto M uy Extra


de costos Bajo Bajo Alto Alto
RCPX 0.73 0.81 0.98 1.00 1.30 1.74 2.38
RUSE -- -- 0.95 1.00 1.07 1.15 1.24
PDIF -- -- 0.87 1.00 1.29 1.81 2.61
PERS 2.12 1.62 1.26 1.00 0.83 0.63 0.50
PREX 1.59 1.33 1.12 1.00 0.87 0.71 0.62
FCIL 1.43 1.30 1.10 1.00 0.87 0.73 0.62
SCDE -- 1.43 1.14 1.00 1.00 1.00 --
Tabla 4. Conductores de costo para diseño inicial estimados por Boehm.
Capítulo 2. Modelos usados para medir esfuerzo 15

3. Post – Arquitectura.

Este submodelo puede ser utilizado cuando se ha completado el diseño del sistema a
desarrollar y se cuenta con información detallada. Como su nombre sugiere, la arquitectura
del software está bien definida y establecida, esto permite realizar estimaciones para el
conjunto del ciclo de vida de desarrollo y es una extensión del modelo de Diseño Inicial.
Utiliza Puntos de Función y/o Líneas de Código Fuente como entrada para el parámetro del
tamaño del producto. Además, maneja un conjunto de cinco factores de escala, iguales en su
fundamento conceptual a los vistos anteriormente para el submodelo de diseño inicial, y
diecisiete multiplicadores de esfuerzo, cada uno con un rango de seis niveles igual al visto
para el submodelo de diseño inicial. Este submodelo ha sido calibrado sobre una base de
datos de 161 proyectos recopilados de la industria comercial, aeroespacial, gubernamental y
de organizaciones sin fines de luc ro. Los conductores de costos se agrupan en las siguientes
cuatro categorías:

- Producto.
1. Fiabilidad requerida del software (RELY)
2. Tamaño de la base de datos (DATA)
3. Complejidad del producto (CPLX)
4. Reutilización requerida (RUSE)
5. Documentación desarrollada (DOCU)

- Plataforma
6. Restricciones en el tiempo de ejecución (TIME)
7. Restricciones en el almacén principal (STOR)
8. Volatilidad de la plataforma (PVOL)

- Personal
9. Aptitud de los analistas (ACAP)
10. Aptitud de los programadores (PCAP)
11. Experiencia en el desarrollo de aplicaciones similares (AEXP)
Capítulo 2. Modelos usados para medir esfuerzo 16

12. Experiencia con la plataforma de desarrollo (PEXP)


13. Experiencia con el lenguaje y la herramienta (LEXP)
14. Continuidad del personal (PCON)

- Proyecto
15. Utilización de herramientas software (TOOL)
16. Desarrollo en múltiples localizaciones (SITE)
17. Tiempo necesario para el desarrollo (SCED)

Conductores Muy Bajo Nominal Alto Muy Extra


de costos Bajo Alto Alto
RELY 0.82 0.92 1.00 1.10 1.26 --
DATA -- 0.90 1.00 1.14 1.28 --
CPLX 0.73 0.87 1.00 1.17 1.34 1.74
RUSE -- 0.95 1.00 1.07 1.15 1.24
DOCU 0.81 0.91 1.00 1.11 1.23 --
TIME -- -- 1.00 1.11 1.29 1.63
STOR -- -- 1.00 1.05 1.17 1.46
PVOL -- 0.87 1.00 1.15 1.30 --
ACAP 1.42 1.19 1.00 0.85 0.71 --
PCAP 1.34 1.15 1.00 0.88 0.76 --
PCON 1.29 1.12 1.00 0.90 0.81 --
AEXP 1.22 1.10 1.00 0.88 0.81 --
PEXP 1.19 1.09 1.00 0.91 0.85 --
LTEX 1.20 1.09 1.00 0.91 0.84 --
TOOL 1.17 1.09 1.00 0.90 0.78 --
SITE 1.22 1.09 1.00 0.93 0.86 0.80
SCED 1.43 1.14 1.00 1.00 1.00 --
Tabla 5. Conductores de costo en post-arquitectura est imados por Boehm.
Capítulo 2. Modelos usados para medir esfuerzo 17

La tabla 5 muestra los valores estimados para cada uno de los factores de escala por Boehm
para el post-arquitectura.

Tanto para el diseño inicial como para el post-arquitectura se utiliza la siguiente ecuación:

Esfuerzo estimado = A x Tamaño B x M

Basándose en su gran cantidad de datos históricos, Boehm propone que el coeficiente A sea
de 2.94. El tamaño es expresado en miles de líneas de código (KLDC). Este se calcula
estimando el número de puntos de función en el software y convirtiendo éste a KLDC
utilizando tablas estándar, que relacionan el tamaño del software con los puntos de función
dependiendo del lenguaje de programación. El exponente B se calcula a través de los 5
factores de escala ya mencionados y aplicando la siguiente fórmula:

B = 0.91 + 0.01 x [? Factores de escala]

Donde ?: sumatoria.

De forma similar se calcula el valor de la variable M. La ecuación es la siguiente:

M = ? conductores de costos.

Donde ? : productoria.

Son 7 conductores para el modelo del diseño previo y 17 para el de post-arquitectura.


Capítulo 2. Modelos usados para medir esfuerzo 18

2.4 La Ecuación del Software

Es un modelo multivariable dinámico planteado por Putnam [Pressman, 2005] que asume
una distribución específica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de
software. El modelo se ha obtenido a partir de los datos de productividad para unos 4.000
proyectos actuales de software. La ecuación tiene la siguiente forma:

E = [LDC x B 0,333 / P]3 x (1 / t4 )

Donde

E = esfuerzo en personas- mes o personas-año.

t = duración del proyecto en meses o años.

B = factor especial de destrezas.

P = parámetro de productividad.

El factor B se incrementa a medida que crecen las necesidades de integración, pruebas,


garantía de calidad, documentación y habilidad de gestión [Putnam, 1992]. El parámetro P
refleja entre otras cosas la madurez global del proceso y de las prácticas de gestión, amplitud
hasta donde se utilizan correctamente las normas de la ingeniería de software, el nivel de los
lenguajes de programación utilizados, las habilidades y la experiencia del equipo del
software y la complejidad de la aplicación.
Capítulo 2. Modelos usados para medir esfuerzo 19

Valores típicos para P pueden ser:

P = 2000 para un entorno pobre de desarrollo de software (sin metodología, con una
documentación v unas revisiones pobres. un modo de ejecución no interactivo).

P = 8000 para un buen entorno de desarrollo de software (con una buena metodología,
adecuadas documentación y revisiones, modo de ejecución interactivo);

P = 11000 para un entorno "excelente" (con herramientas y técnicas automáticas).

Para simplificar el proceso de estimación con la ecuación del software y utilizar una forma
más común, Putnam y Myers [Putnam, 1992] sugieren un conjunto de ecuaciones obtenidas
de la ecuación del software:

Para un tiempo mínimo de desarrollo:

tmin = 8.14 x (LDC/ P)0.43 tmin > 6 meses

Esfuerzo = 180 x B x t3 Esfuerzo = 20 personas -mes

Para el cálculo del esfuerzo t tiene que estar expresada en años


Capítulo 2. Modelos usados para medir esfuerzo 20

2.5 Conclusiones

En este capítulo se ha presentado una vista panorámica de las distintas técnicas de


estimación de esfuerzo. A partir de este bosquejo general se seleccionan 2 modelos de
estimación de esfuerzo por ser los más actualizados y usados actualmente. Seguidamente se
describe su funcionamiento: ecuaciones, variables, factores, entre otros así como también su
forma de aplicación que se mostrara más adelante en el capítulo 4.

En el siguiente capítulo se realiza un diagnóstico de la situación en la industria del


software más específicamente en la ciudad de Mérida, con respecto al uso de técnicas de
estimación de esfuerzo: uso, preferencias, beneficios, si es que los hay, etc.
Capítulo 3

Diagnóstico sobre el uso de técnicas de estimación en

la industria del software

3.1 Introducción

En el proceso de desarrollo de un software se deben controlar y administrar los


recursos que se necesitan al comienzo de un proyecto y de igual manera en la duración del
mismo. La estimación tiene un papel protagónico ya que, aunque no es una ciencia exacta,
puede ser usada como un medio para prever los recursos requeridos y por consiguiente,
según el grado de exactitud que se pueda lograr con respecto a la realidad, una reducción de
costos considerable.

Debido a la importancia que representa el uso de una estimación de esfuerzo y costo


en el desarrollo de software, en este capítulo se presenta un diagnóstico sobre el uso de
técnicas de estimación de esfuerzo por parte de las empresas, realizado a través de una
consulta en forma de encuesta con el propósito de conocer si se está usando alguna técnica,
cómo se está usando y si en realidad está siendo efectiva a la hora de aplicarla en términos
del desempeño real del proyecto.

21
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 22

3.2 Elaboración de la encuesta

Una encuesta se define “como una técnica que pretende obtener información que
suministra un grupo o muestra de sujetos acerca de sí mismos, o en relación con un tema en
particular” [Arias, 2006]. Existen dos tipos de encuesta: oral y escrita. Para esta investigación
se utilizó una encuesta escrita en la modalidad de cuestionario contentivo de una serie de 10
preguntas cerradas. En cada pregunta se presentaron las distintas opciones para responder de
forma sencilla rellenando un recuadro con una “X”; en algunos casos se presentó la opción
de escribir alguna otra respuesta en caso de no figurar entre las opciones posibles.

3.2.1 Objetivo de la encuesta

Recopilar información para evaluar la situación actual de la industria del software en


cuanto al uso de técnicas de estimación de esfuerzo y costo.

3.2.2 Selección de las preguntas de la encuesta

Para la escogencia de las preguntas se tomaron los siguientes criterios:


- Nivel de experiencia en el desarrollo de software.
- Tamaño de la empresa.
- Tiempo de trabajo.
- Cálculo de costos de un proyecto.
- Uso de técnicas de estimación.
- Consideración de costos adicionales.
- Conformidad con las estimaciones que realizan.
- Planificación de los proyectos que manejan.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 23

Dando así como resultado 10 preguntas cerradas [Arias, 2006] cada una con sus
opciones de respuestas definidas y en algunos casos con una opción en blanco para colocar
otra que no se encontrara con las opciones ofrecidas 1.

3.2.3 Ámbito de aplicación de la encuesta

La encuesta se aplicó a 15 empresas productoras de software del estado Mérid a


inscritas en el zolccyt (zona libre cultural, científica y tecnológica) de forma presencial.
Además se envió la encuesta por e-mail a 30 empresas a nivel nacional pertenecientes al
Ceisoft (Centro de excelencia en ingeniería de software) de las cuales sólo respondieron 2,
para así contar con un total de 17 empresas encuestadas.

3.3 Presentación y análisis de los resultados obtenidos

En esta sección se presentan los resultados con el análisis e interpretación de cada una
de las preguntas realizadas en la encuesta, de manera que nos permitan construir un
diagnóstico de la situación actual de la industria del software acerca del uso de técnicas de
estimación de esfuerzo y costo.

PREGUNTA Nº 1
¿Cuántos años tiene usted trabajando en el desarrollo de software?

a 0 – 3.
b 3 – 6.
c 6 – 9.
d más de 9.

1
El modelo de esta encuesta se presentara al final del documento como anexo.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 24

más de 9 0a3
22% 11%

3a6
6a9 28%
39%

Gráfico 1. N úmero de años que tienen trabajando las empresas encuestadas .

Se puede observar en el gráfico 1 que el mayor porcentaje recayó en el intervalo de 6 a 9


años con un 39%, seguido por el intervalo de 3 a 6 años con un 28% respectivamente, un
22% para más de 9 años y un 11% para O-3 años. Con esta pregunta se buscó conocer qué
tanta experiencia tienen las empresas en la producción de software, para lo cual fue necesario
realizar una transformación2 de los valores cuantitativos de las respuestas a valores
cualitativos:

En años ? En nivel de experiencia


a 0– 3 ? Escaso
b 3–6 ? Bajo.
c 6– 9 ? Medio.
d más de 9 ? Alto.

2
Esta transformación se realizó con el criterio aportado por expertos en desarrollo de software.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 25

De esta manera podemos decir que las empresas tienen un nivel medio de experiencia dado
que el mayor porcentaje fue para el intervalo de 6 a 9 años.

PREGUNTA Nº 2

¿Cuántos empleados tienen en su organización?

a 1 – 10.
b 10 – 20.
c más de 20.

más de 20
12%

10 a 20
29% 1 a 10
59%

Gráfico 2. Número de empleados de las empresas encuestadas.

Se pudo observar (véase gráfico 2) que el 59% de las empresas tienen de 1 a 10 empleados,
29% de 10 a 20 y 12% más de 20 empleados. Esta pregunta nos permite conocer el tamaño
de las empresas. Para lograrlo se utilizó, la siguiente clasificación que es aplicada por el
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 26

Instituto Nacional de Estadística (INE) en las encuestas industriales para determinar el


tamaño de las empresas:

TIPO DE INDUSTRIA NÚMERO DE PERSONAS OCUPADAS

Gran Industria Emplean más de 100 personas


Mediana Industria Superior Emplean de 51 a 100 personas
Mediana Industria Inferior Emplean de 21 a 50 personas
Pequeña Industria Emplean de 5 a 20 persona s
Micro Industria Emplean menos de 5 personas
Tabla 6. Clasificación de la industria según el número de empleados.

Usando este criterio tenemos que la mayoría de las empresas son pequeñas, pero esto no
indica su capacidad de producción ya que con un personal calificado pueden lograrse altos
ingresos en empresas de este ramo.

PREGUNTA Nº 3

¿Cuántas horas trabajan diariamente?

» De Lunes a Viernes.
a menos de 8.
b.- 8.
c más de 8.

» Sábados y Domingos.
a menos de 8.
b 8.
c más de 8.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 27

más de 8
47%
8
53%

Gráfico 3. Distribución porcentual de horas trabajadas de lunes a viernes.

menos de 8
no trabaja 35%
41%

más de 8 8
6% 18%

Gráfico 4. Distribución porcentual de horas trabajadas los sábados y domingos.

Como se puede apreciar en el gráfico 3, el 53% de las empresas trabajan de lunes a viernes 8
horas diarias, 47% más de 8 y ninguna trabaja menos de 8 horas diariamente. En cuanto a los
fines de semana (véase gráfico 4) el 35% trabaja pero menos de 8 horas, el 18% labora 8
horas, 6% más de 8 horas y 41% no trabajan. En cuanto a las horas de trabajo lo hacen con
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 28

normalidad de lunes a viernes 8 horas y algunas empresas los fines de semana pero menos de
8 horas, con lo cual podemos decir que no se trabaja sobre tiempo.

PREGUNTA Nº 4

¿Cómo realiza el cálculo de costos de un proyecto?

a Experiencia Prop ia.


b Técnica de Estimación.
c Ambas.
d Otra: ____________________

otra
6% Experiencia
Ambas Propia
24% 35%

Técnica de
Estimacion
35%

Gráfico 5. Formas de calcular costos de las empresas encuestadas

El cálculo de costos de proyectos, según los resultados, lo realizan las empresas de dos
formas: 35% lo hacen con una técnica de estimación y 35% utilizando la experiencia propia
véase el gráfico 5. Además, el 24% usa una combinación de las dos formas y el 6% otra. En
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 29

este caso podemos decir que para el cálculo de costos las preferencias están divididas en
experiencia propia y técnica de estimación, lo que nos permite decir que la mayoría de las
empresas de desarrollo de software no están utilizando una técnica que cuente con un grado
de certitud aceptable, en todo caso, desconocen una técnica de estimación de esfuerzo y costo
que consideren fiable.

PREGUNTA Nº 5

¿Usa usted algunas de estas técnicas de estimación de esfuerzo?

a Tamaño del Software (líneas de código).


b Juicios de Expertos.
c Puntos de Funcionalidad.
d Métodos Algorítmicos.
e Inteligencia Artificial.

Métodos Tamaño del


Algoritmicos software
12% 18%

Juicios de
expertos
18%
Puntos de
funcionalidad
52%

Gráfico 6. Distribución porcentual del uso de técnicas utilizadas .


Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 30

Según se puede observar en el gráfico 6, el 52% de las empresas usan los puntos de función
como técnica de estimación, en segundo lugar, con 18%, usan el tamaño del software y el
juicio de los expertos; por último, el 12% usan métodos algorítmicos. La técnica más popular
de estimación que se usa resultó ser Puntos de Funcionalidad debido a la forma actual para la
captura de requisitos potenciales de un nuevo sistema llamada casos de uso.

PREGUNTA Nº 6

¿Considera usted tambié n los costos asociados a ?

a Instalaciones Físicas.
b Secretaria y Personal de apoyo.
c Entrenamiento de Personal.
d Servicios.
e Adquisició n o actualización de Hardware y Software.

Adquisición
de Hw y Sw
13%

Personal y
Adq. Hw y Todos
Sw
60%
27%

Gráfico 7. Distribución porcentual de los costos considerados .


Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 31

En el gráfico 7 se puede ver que el 60% de las empresas toman en cuenta todos los costos
adicionales presentados como opciones (Instalaciones físicas, secretaria y personal de apoyo,
entrenamiento de personal, servicios y adquisición o actualización de hardware y software).
En cambio, un 27% sólo considera los costos de entrenamiento de personal y adquisición o
actualización de hardware y software. Por último, un 13% sólo toma en cuenta los costos de
adquisición de hardware y software. Los resultados mostraron que los costos indirectos que
propusimos son considerados también a la hora de presentar un presupuesto para desarrollar
un software, pero como una suma al resultado de la estimación de esfuerzo y costo y no
como una variable que interviene directamente cuando se aplica un modelo de estimación.

PREGUNTA Nº 7

¿Considera que sus estimaciones de costos son ajustadas a la realidad? (Nota: si su respuesta
es NO, por favor especifique)

a Si.

b No. ¿Por qué?


Subestima.
Sobreestima.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 32

SI
35%

NO
(subestima)
65%

Gráfico 8. Ajuste a la realidad de las estimaciones hechas por las empresas encuestadas.

Como se puede apreciar en el gráfico 8, el 65% de las empresas respondió que no y además
subestiman mientras que el 35% respondió que si.

La gran mayoría no está conforme con las estimaciones que realizan ya que siempre el valor
real de esfuerzo del proyecto que se obtiene al final del mismo es mayor que el estimado.

PREGUNTA Nº 8

¿Guarda estadísticas de la ejecución de sus proyectos?

a Si.
b No.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 33

NO
0%

SI
100%

Gráfico 9. Almacenamiento de estadísticas de los proyectos realizados.

En el gráfico 9 se observa que el 100% de las empresas encuestadas respondió que si guarda
las estadísticas de sus proyectos.

Absolutamente todas guardan sus estadísticas de proyectos realizados de manera de poder


formar su base de datos para realizar comparaciones en proyectos futuros y así poder estimar
con mayor precisión.

PREGUNTA Nº 9

¿Planifica el desarrollo de los proyectos que atiende usando alguna herramienta de software?

a Microsoft Project
b PLANNER
c Open Workbench
d Dotproject
e Otro (Especifique): _____________
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 34

Otra
12%

Dotproject
24%
Microsoft
Project
64%

Gráfico 10. Uso de herramientas de planificación de proyectos.

Según los resultados obtenidos (véase gráfico 10) un 64% de las empresas realizan la
planificación usando Microsoft Project, 24% usa Dotproject y 12% otra herramienta.

En este caso todas las empresas expresaron contar con una herramienta de planificación,
algunas con preferencias distintas de otras, pero lo importante es que llevan o procuran llevar
un control en la elaboración de un proyecto desde el comienzo hasta el final.

PREGUNTA Nº 10

¿Qué persona es la encargada de planificar los proyectos a ser desarrollados en su


organización?

a Gerente de la Empresa
b Líder del Proyecto
c Personal Té cnico
d Otro (Especifique): _______________
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 35

Personal
Tecnico
6%
Lider del Otro
Proyecto 6%
64%
Gerente de
la Empresa
24%

Gráfico 11. Persona encargada de la planificación de los proyectos.

Se puede apreciar en el gráfico 11 que un 64% de las empresas dijo que el líder del proyecto
es el encargado de la planificación, mientras que un 24% dijo que el gerente de la empresa y
por último un 6% respondió que era el personal técnico u otro.

Además de llevar una planificación al momento de desarrollar un proyecto, las empresas


cuentan con un líder del proyecto que vela por el cumplimiento de las distintas fases
planteadas con antelación en la planificación realizada.
Capítulo 3. Diagnóstico sobre el uso de técnicas de estimación en la industria del software 36

3.4 Conclusiones

- El 39 % de las empresas, tienen trabajando con desarrollo de software entre 6 y 9 años que
según la opinión de los expertos representa un nivel medio de experiencia.
- La mayoría de las empresas encuestadas (59%) son pequeñas empresas debido al número
de empleados que la integran, que se ubicó entre 1 y 10 empleados.
- Se pudo observar que las empresas muy pocas veces trabajan sobre tiempo, ya que la
mayoría (51%) trabajan 8 horas de lunes a viernes y en cuanto a los sábados y domingos el
41% no trabajan.
- El cálculo de costos de proyectos según los resultados lo realizan de dos formas: con una
técnica de estimación (35%) y utilizando la experiencia propia (35%).
- La técnica que usan para la estimación son los puntos de funcionalidad siendo ésta usada
por el 52% de las empresas encuestadas.
- Se observó también que la mayoría de las empresas (60%) al estimar los costos de
desarrollo de software toman en cuenta otros costos indirectos relacionados con las
instalaciones, el personal, los servicios, soportes, entre otros.
- La mayoría de las empresas (65%) no está conforme con sus estimaciones ya que al
comparar al final del proyecto lo estimado y lo real, observan que ha n subestimado el valor
real. Todas (100%) guardan estadísticas de sus proyectos realizados.
Usan una herramienta para planificar el desarrollo del sistema, Microsoft Project
(64%) y la planificación la realiza el líder del proyecto (64%).
Capítulo 4

Evaluación de proyectos y comparación de los

resultados obtenidos

4.1 Introducción

En este capítulo se realiza el análisis de los resultados que se generan luego de haber
aplicado a algunos proyectos seleccionados los modelos descritos en el capítulo anterior. Lo
primero que se hace es describir los proyectos seleccionados. Seguidamente, se calculan los
tamaños estimados de cada uno de los proyectos y se realiza el cálculo del esfuerzo con los
modelos de estimación seleccionados. Además, también se calcula el esfuerzo real de cada
uno de los proyectos finalizados a partir de los datos suministrados por las empresas, para así
poder comparar los valores estimados por los modelos con el esfuerzo real que se obtuvo al
finalizar los mismos. Finalmente se realiza el análisis de los resultados y por último se
presentan algunas conclusiones.

4.2 Descripción de los proyectos

Para la selección de los proyectos se visitó una de las empresas que fueron
encuestadas, de la cual, se tomaron 3 proyectos ya desarrollados y se extrajeron los datos
necesarios para hacer la estimación por medio de los modelos y también aquellos datos que
permitieran realizar la comparación entre el valor de esfuerzo estimado y el valor real de

37
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 38

esfuerzo que se obtuvo en el proyecto. A co ntinuación se presentan los datos de los


proyectos:

Descripción del Proyecto 1:

Nombre: CDI.

Descripción: Aplicación Web para llevar el control y registro


de inversiones realizadas por los organismos
públicos.

Tecnologías: Java, Struts, JSP, Hibernate, XML, Apache,


POI, Oracle y CLEDA.

Lenguaje de programación: Java.

Tamaño de la aplicación: 28000 líneas de código.

Personal involucrado: 4 personas.

Tiempo de desarrollo: 6 meses.

Ambiente de la aplicación: Multiusuario Web.

Herramientas de Apoyo: Eclipse, Visio, MyEclipse.

Frecuencia de uso: 5 días a la semana – alta disponibilidad

Numero de usuarios: 9000

Tabla 7. Datos del proyecto 1.


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 39

Descripción del Proyecto 2:

Nombre: FENIX SOFT.

Descripción: Aplicación Web para la administració n y


manejo de la producción en pequeñas y
medianas empresas.

Tecnologías: PHP, Mojavi, EZPDO, XML, MySQL y


CLEDA.

Lenguaje de programación: PHP.

Tamaño de la aplicación: 91761 líneas de código.

Personal involucrado: 6 personas.

Tiempo de desarrollo: 12 meses.

Ambiente de la aplicación: Multiusuario Web.

Herramientas de Apoyo: Eclipse, Visio, PhpEclipse.

Frecuencia de uso: 5 días a la semana.

Numero de usuarios: de 30 a 40 por cada instalación.

Tabla 8. Datos del proyecto 2.


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 40

Descripción del Proyecto 3:

Nombre: AVM.

Descripción: Aplicación de escritorio para el manejo de


estadísticas y reportes en empresas de reciclaje
en Alemania.

Tecnologías: Visual Basic, Java, Swing, AbiBeans,


JFreeReport, JFreeChart, Apache, POI, SQL
Server, ORACLE.
Lenguaje de programación: Java.

Tamaño de la aplicación: 105000 líneas de código.

Personal involucrado: 5 personas.

Tiempo de desarrollo: 8 meses.

Ambiente de la aplicación: Multiusuario Desktop.

Herramientas de Apoyo: Eclipse.

Frecuencia de uso: 5 días a la semana.

Numero de usuarios: De 5 a 10 por cada instalación.

Tabla 9. Datos del proyecto 3.

4.3 Cálculo del tamaño del sistema

El tamaño del sistema en estos proyectos realizados ya es conocido en términos de


líneas de código. Para realizar el cálculo del esfuerzo por medio de los modelos es necesario
el tamaño de los mismo, es decir, es un dato de entrada, así que se supone este tamaño
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 41

desconocido y se calcula a través de los puntos de función presentes en el sistema como si se


estuviese realizando la estimación al comienzo del desarrollo de dichos proyectos, todo esto
con la información recolectada y luego se transforma a líneas de código con una tabla de
equivalencia.

En conjunto con el líder de cada uno de los proyectos se obtuvieron los datos necesarios para
el cálculo de los puntos de función. La siguiente tabla es la propuesta por Albrecth - Gaffney
[Albrecth, 1983], para el cálculo de puntos de función desajustados que tiene 5 características
funcionales del sistema a desarrollar y cada una de ellas un tipo de complejidad con un peso
asociado a ésta. Se multiplica el número estimado de cada una de las características
funcionales: entradas externas, salidas externas, ficheros lógicos externos, interfaces lógicas
externas y consultas externas por el valor de complejidad que corresponda. Luego se suman
los totales y se obtiene el número de puntos de función desajustados.

Puntos de función sin ajustar


Complejidad
Descripción Simple Media Compleja Total
Entradas externas x 3 x 4 x 6
Salidas externas x 4 x 5 x 7
Ficheros lógicos internos x 7 x 10 x 15
Interfaces lógicas externas x 5 x 7 x 10
Consultas externas x 3 x 4 x 6
Total de puntos de función sin ajustar
Tabla 10. Factores de complejidad para los puntos de función.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 42

También se presenta a continuación la tabla 11 que traduce los puntos de función sin ajustar
(UPF) a líneas de código (LDC), que se utiliza más adelante:

Lenguaje LDC/UPF
Ada 71
A1 Shell 49
APL 32
Assembly 320
Assembly (macro) 213
ANSI / Quick / Turbo Basic 64
Basic - Compiled 91
Basic – Interpreted 128
C 128
C++ 29
PHP 25
Visual Basic 32
ANSI Cobol 85 91
Fortran 77 105
Fort 64
Jovial 105
Lisp 64
Modula 2 80
Pascal 91
Prolog 64
Report Generator 80
SpreadSheet 6
Java 23
Tabla 11. Conversión de los puntos de función a líneas de código.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 43

4.3.1 Tamaño del proyecto 1

La tabla 12 muestra el resultado de los puntos de función obtenidos para el proyecto


1, se contó el número de características funcionales y se multiplicó por la complejidad de
cada una:

Puntos de función sin ajustar


Complejidad
Descripción Simple Media Compleja Total
Entradas externas --- 70 x 4 --- 280
Salidas externas --- --- 10 x 7 70
Ficheros lógicos internos --- 263 x 10 --- 2630
Interfaces lógicas externas --- --- --- 0
Consultas externas --- 60 x 4 --- 240
Total de puntos de función sin ajustar 3220
Tabla 12. Puntos de función para el proyecto 1.

Luego realizamos la conversión a líneas de código usando la tabla 10 presentada


anteriormente, como este proyecto se hizo en Java entonces por cada punto de función son 23
líneas de código. Calculando se obtiene:

Tamaño estimado = 3220 x 23 = 74060 líneas de código


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 44

4.3.2 Tamaño del proyecto 2

La tabla 13 muestra el resultado de los puntos de función obtenidos para el proyecto


2, se contó el número de características funcionales y se multiplicó por la complejidad de
cada una:

Puntos de función sin ajustar


Complejidad
Descripción Simple Media Compleja Total
Entradas externas --- 90 x 4 --- 360
Salidas externas --- --- 15 x 7 105
Ficheros lógicos internos --- 357 x 10 --- 3570
Interfaces lógicas externas --- --- --- 0
Consultas externas --- 83 x 4 --- 332
Total de puntos de función sin ajustar 4367
Tabla 13. Puntos de función para el proyecto 2.

Luego realizamos la conversión a líneas de código usando la tabla 11 presentada


anteriormente, como este proyecto se hizo en php entonces por cada punto de función son 25
líneas de código. Calculando se obtiene:

Tamaño estimado = 4367 x 25 = 109175 líneas de código


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 45

4.3.3 Tamaño del proyecto 3

La tabla 14 muestra el resultado de los puntos de función obtenidos para el proyecto


2, se contó el número de características funcionales y se multiplicó por la complejidad de
cada una:

Puntos de función sin ajustar


Complejidad
Descripción Simple Media Compleja Total
Entradas externas --- 179 x 4 --- 716
Salidas externas --- --- 39 x 7 273
Ficheros lógicos internos --- 209 x 10 --- 2090
Interfaces lógicas externas --- --- --- 0
Consultas externas --- 57 x 4 --- 228
Total de puntos de función sin ajustar 3307
Tabla 14. Puntos de función para el proyecto 3.

Luego realizamos la conversión a líneas de código usando la tabla 11 presentada


anteriormente, como este proyecto se hizo en Java entonces por cada punto de función son 23
líneas de código. Calculando se obtiene:

Tamaño estimado = 3307 x 23 = 76061 líneas de código

Al final tenemos entonces que:


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 46

Proyectos Tamaño estimado (LDC)


1 74060
2 109175
3 76061
Tabla 15. Tamaño estimado de los proyectos.

4.4 Cálculo del esfuerzo estimado

Con el tamaño estimado de cada uno de los proyectos ya obtenido, se procede a


realizar el cálculo de esfuerzo a través de los modelos de estimación escogidos. En este caso
se han seleccionados 2 modelos de estimación de esfuerzo: COCOMO II y la ecuación del
software planteada por Putnam, ya que son estos los que en la actualidad están basados en
datos históricos de desarrollos de sistemas recientes y presentan una visión más amplia de las
variables que pueden afectar el esfuerzo requerido para la realización de un software.

4.4.1 Usando COCOMO II

Como ya se ha descrito en el capítulo 2, la jerarquía de modelos de estimación


COCOMO II esta constituida por 3 modelos básicamente, que son: composición de
aplicaciones, diseño anticipado y post-arquitectura. Para esta investigación se ha escogido el
modelo de diseño anticipado o diseño previo por ser éste el que más se acopla a la forma de
desarrollo local observado en las empresas visitadas.

Para realizar la estimación de esfuerzo en el diseño anticipado se utiliza la ecuación


siguiente:
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 47

Esfuerzo = 2.94 x TamB x M

Esfuerzo está dado en personas – mes

Esta ecuación está detallada en el capitulo 2. Seguidamente para encontrar el esfuerzo se


tiene que previamente calcular el valor del exponente B y el de la variable M.

Esfuerzo del proyecto 1:

-Tamaño en miles de líneas de código (KLDC)


Se tomó el tamaño calculado anteriormente y se dividió por 1000.

Tamaño = 74060 / 1000 = 74.060 KLDC.

-Para calcular el exponente B:

Se utilizó la tabla 3 que se encuentra descripta en el capítulo 2 para recolectar los factores de
escala:

Factores
de escala M uy Bajo Nominal Alto Muy Alto Extra
(Fe) Bajo Alto
PREC X
FLEX X
RESL X
TEAM X
PMAT X
Tabla 16. Resultados de los factores de escala para el proyecto 1.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 48

De la tabla 3 se obtienen los valores para los factores de escala presentada en el capitulo 2,
entonces se tiene que:

B = 0.91 + 0.01x ? Fe
B = 0.91 + 0.01x [3.72 + 4.05 + 4.24 + 2.19 + 4.68]
B = 0.91 + 0.01x [18.88]
B = 0.91 + 0.1888
B = 1.0988

-Para calcular M

Se utilizó la tabla 4 que se encuentra descripta en capitulo 2 para recolectar los datos
correspondientes a los conductores de costos:

Conductores Extra Muy Bajo Nominal Alto M uy Extra


de costos Bajo Bajo Alto Alto
RCPX X
RUSE X
PDIF X
PERS X
PREX X
FCIL X
SCDE X
Tabla 17. Resultados de los conductores de costo para el proyecto 1.

De la tabla 4 presentada en el capitulo 2 se obtienen los valores para los conductores de


costo, entonces se tiene que:
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 49

M = 1 x 1.15 x 0.87 x 0.83 x 1.12 x 1.10 x 1


M = 1.0231

Teniendo ya todos los valores necesarios tenemos que el esfuerzo estimado es:

Esfuerzo = 2.94 x (74.060)1.0988 x 1.0231 = 340.85 persona – mes

Esfuerzo del proyecto 2:

-Tamaño en miles de líneas de código (KLDC):


Se tomó el tamaño calculado anteriormente y se dividió por 1000.

Tamaño = 109175 / 1000 = 109.175 KLDC

-Para calcular el exponente B:

Se utilizó la tabla 3 que se encuentra descripta en capitulo 2 para recolectar los datos
correspondientes a los factores de escala:

Factores
de escala M uy Bajo Nominal Alto Muy Alto Extra
(Fe) Bajo Alto
PREC X
FLEX X
RESL X
TEAM X
PMAT X
Tabla 18. Resultados de los factores de escala para el proyecto 2.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 50

De la tabla 3 de valores para los factores de escala presentada en el capitulo 2, se tiene que:

B = 0.91 + 0.01x ? Fe
B = 0.91 + 0.01x [6.2 0 + 3.04 + 1.41 + 2.19 + 4.68]
B = 0.91 + 0.01x [17.52]
B = 0.91 + 0.1752
B = 1.0852

-Para calcular M

Se utilizó la tabla 4 que se encuentra descripta en capitulo 2 para recolectar los datos
correspondientes a los conductores de costos:

Conductores Extra Muy Bajo Nominal Alto M uy Extra


de costos Bajo Bajo Alto Alto
RCPX X
RUSE X
PDIF X
PERS X
PREX X
FCIL X
SCDE X
Tabla 19. Resultados de los conductores de costo para el proyecto 2.

De la tabla 4 de valores para los conductores de costo presentada en el capitulo 2, se tiene


que:

M = 1.30 x 1 x 1 x 1 x 1 x 0.87 x 1
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 51

M = 1.131

Teniendo ya todos los valores necesarios tenemos que el esfuerzo es:

Esfuerzo = 2.94 x (109.175)1.0852 x 1.131


Esfuerzo = 541.48 persona – mes

Esfuerzo del proyecto 3:

-Tamaño en miles de líneas de código (KLDC):

Tamaño = 76061/1000 = 76.061 KLDC.

-Para calcular el exponente B:

Se utilizó la tabla 3 que se encuentra descripta en capitulo 2 para recolectar los datos
correspondientes a los factores de escala:

Factores
de escala M uy Bajo Nominal Alto Muy Alto Extra
(Fe) Bajo Alto
PREC X
FLEX X
RESL X
TEAM X
PMAT X
Tabla 20. Resultados de los factores de escala para el proyecto 3.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 52

De la tabla 3 de valores para los factores de escala presentada en el capitulo 2, se tiene que:

B = 0.91 + 0.01x ? Fe.


B = 0.91 + 0.01x [6.20 + 3.04 + 2.83 + 1.10 + 6.24].
B = 0.91 + 0.01x [19.41].
B = 0.91 + 0.1941
B = 1.1041.

-Para calcular M

Se utilizó la tabla 3 que se encuentra descripta en capitulo 2 para recolectar los datos
correspondientes a los conductores de costos:

Conductores Extra Muy Bajo Nominal Alto M uy Extra


de costos Bajo Bajo Alto Alto
RCPX X
RUSE X
PDIF X
PERS X
PREX X
FCIL X
SCDE X
Tabla 21. Resultados de los conductores de costo para el proyecto 3.

De la tabla 4 de valores para los conductores de costo presentada en el capitulo 2, se tiene


que:

M = 1.30 x 0.95 x 1 x 1 x 1.10 x 1.


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 53

M = 1.3585

Teniendo ya todos los valores necesarios tenemos que el esfuerzo es:

Esfuerzo = 2.94 x (76.061)1.1041 x 1.3585


Esfuerzo = 476.87 persona – mes.

Se tiene entonces que los valores de esfuerzo calculados con COCOMO II de los 3 proyectos
son:

Proyectos Esfuerzo estimado (pers-mes)


1 340.85
2 541.48
3 476.87
Tabla 22. Resultados de l esfuerzo estimado por COCOMO II.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 54

4.4.2 Usando la ecuación del software

Para simplificar el proceso de estimación con la ecuación del software y utilizar una
forma más común, Putnam y Myers [Putnam, 1992] sugieren un conjunto de ecuaciones
obte nidas de la ecuación del software.

Para un tiempo mínimo de desarrollo:

tmin = 8.14 x (LDC/P)0.43 tmin > 6 meses


Donde
tmin viene dado en meses

Esfuerzo = 180 x B x t3 Esfuerzo = 20 personas -mes

Para el cálculo del esfuerzo t tiene que estar expresada en años

Esta ecuación está detallada en el capítulo 2. Seguidamente para encontrar el esfuerzo se


tiene que, previamente, elegir el valor de las variables B y P de acuerdo a las características
del proyecto que se quiere desarrollar.

Esfuerzo del proyecto 1:

-Tamaño en líneas de código: 74060 LDC

-Para elegir el valor de la variable B:

B es considerado como el indicador de destrezas y los valores del mismo están clasificados
según el tamaño del proyecto en miles de líneas de código (KLDC) del proyecto:
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 55

Valores para B Tamaño en KLDC


0.16 5 -15
0.18 20
0.28 30
0.34 40
0.37 50
0.39 > 70
Tabla 23. Valores propuestos para B en relación al número de líneas de código.

En este caso, como el tamaño del proyecto 1 es de 74.060 KLDC el valor de B es 0.39 que
corresponde a proyectos con más de 70 KLDC como se indica en la tabla 23.

-Para elegir el valor de P

P representa la constante de productividad. Se han propuesto algunos valores de acuerdo al


entorno de desarrollo que se presentan en la tabla siguiente y que utiliza para el cálculo del
esfuerzo:

P Entorno
Desarrollo sin metodologías, pobre
2000 documentación, modo de ejecución no
interactivo
Buena metodología, revisiones
8000 acordadas, interactivo
Excelente entorno de desarrollo.
11000 Herramientas y técnicas automatizadas
Tabla 24. Valores propuestos para P.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 56

El valor que corresponde para este proyecto por sus características descritas anteriormente en
la tabla 6 es una P = 11000 como se muestra en la tabla 24.

Con los valores de B y P obtenidos se procede a calcular el esfuerzo con las ecuaciones
anteriormente mencionadas:

tmin = 8.14 x (LDC/P)0.43


tmin = 8.14 x (74060 / 11000) 0.43
tmin = 18.48 meses

Transformamos la t en años, para esto dividimos la t por 12.

t = 18.48 / 12 = 1.54 años

Esfuerzo estimado = 180 x 0.39 x (1.54)3


Esfuerzo estimado = 256.39 personas –mes

Esfuerzo del proyecto 2:

-Tamaño en líneas de código: 109175 LDC

-Para elegir el valor de la variable B:

En este caso, como el tamaño del proyecto 2 es de 109.175 KLDC el valor de B según la
tabla 23 es 0.39 que corresponde a proyectos con más de 70 KLDC.

-Para elegir el valor de P


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 57

El valor que corresponde para este proyecto por sus características descritas anteriormente en
la tabla 7 es una P = 11000 como se muestra en la tabla 24.

Con los valores de B y P obtenidos se procede a calcular el esfuerzo con las ecuaciones
anteriormente mencionadas:

tmin = 8.14 x (LDC/P)0.43


tmin = 8.14 x (109175 / 11000)0.43
tmin = 21.84 meses

Transformamos la t en años, para esto dividimos la t por 12.

t = 21.84 / 12 = 1.82 años

Esfuerzo estimado = 180 x 0.39 x (1.82)3


Esfuerzo estimado = 423.21 personas –mes

Esfuerzo del proyecto 3:

-Tamaño en líneas de código: 76061 LDC

-Para elegir el valor de la variable B:

En este caso, como el tamaño del proyecto 3 es de 76.061 KLDC el valor de B según la tabla
23 es 0.39 que corresponde a proyectos con más de 70 KLDC.

-Para elegir el valor de P


Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 58

El valor que corresponde para este proyecto por sus características descritas anteriormente en
la tabla 8 es una P = 8000 como se muestra en la tabla 24.

Con los valores de B y P obtenidos se procede a calcular el esfuerzo con las ecuaciones
anteriormente mencionadas:

tmin = 8.14 x (LDC/P)0.43


tmin = 8.14 x (76061 / 8000)0.43
tmin = 21.43 meses

Transformamos la t en años, para esto dividimos la t por 12.


t = 21.44 / 12 = 1.79 años

Esfuerzo estimado = 180 x 0.39 x (1.79)3


Esfuerzo estimado = 402.62 personas –mes

Se tiene entonces que los valores de esfuerzo calculados con la ecuación del software de
Putnam para cada uno de los proyectos son:

Proyectos Esfuerzo estimado (pers-mes)


1 256.39
2 423.21
3 402.62
Tabla 25. Valores de esfuerzo estimado por la ecuación del software.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 59

4.5 Cálculo del esfuerzo real

En esta sección se presentan los cálculos de esfuerzo con los valores reales de cada proyecto,
es decir, con el valor del tiempo que se usó para realizar el sistema y el número de personas
que participaron en su construcción. Esto permite realizar una comparación con los valores
estimados de esfuerzo obtenidos a través de los modelos.

Personal Tiempo Esfuerzo


(personas) (meses) (Personas-mes)
Proyecto 1 4 6 24
Proyecto 2 6 12 72
Proyecto 3 5 8 40
Tabla 26. Valores de esfuerzo real calculados.

La tabla 26 nos muestra los valores del personal que trabajo en cada uno de los proyectos con
el respectivo tiempo de desarrollo. Al multiplicar el número de personas por el tiempo se
obtiene el esfuerzo real empleado en el desarrollo de cada proyecto.

4.6 Análisis de los resultados

En esta sección se comparan los resultados de los valores de esfuerzo calculado con los
modelos de estimación y con los valores reales de cada uno de los proyectos. Además se
realizan unos gráficos para así poder concluir por medio de los mismos.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 60

Esfuerzo calculado ( personas-mes)


Proyectos COCOMO II Ecuación del software Valor real
1 340.85 256.39 24
2 541.48 423.21 72
3 476.87 402.62 40
Tabla 27. Valores de esfuerzo obtenidos.

La tabla 27 muestra, en resumen, los valores obtenidos para cada proyecto luego de haber
aplicado los 2 modelos seleccionados y el valor real del esfuerzo obtenido con los datos de
los proyectos finalizados.

400
Esfuerzo (pers-mes)

COCOMO II
Ecuación del
300 software

200

100
Valor real

0
Métodos

Gráfico 12. Valores de esfuerzo para el proyecto 1.

En el gráfico 12 se pueden observar los valores de esfuerzo estimados para el proyecto 1 con
COCOMO II de 340.85 pers-mes y la ecuación del software de 256.39 pers-mes. Además se
presenta el va lor real del esfuerzo de 24 pers-mes. Los valores estimados con los modelos
superan ampliamente al valor real de esfuerzo siendo COCOMO II el que esta ligeramente
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 61

por encima de la ecuación del software, aún así el esfuerzo estimado con la ecuación del
soft ware se encuentra muy distante del esfuerzo real obtenido del proyecto.

600 COCOMO II
Esfuerzo (pers-mes)

Ecuación del
500
software
400

300
200
Valor real
100
0
Métodos

Gráfico 13. Valores de esfuerzo para el proyecto 2

Al igual que para el proyecto 1 los valores de esfuerzo estimados por los modelos se
encuentra lejos del valor real como lo muestra el gráfico 13. Para el proyecto 2 los valores de
esfuerzo estimados fueron con COCOMO II 541.48 pers-mes y con la ecuación del software
423.21 pers-mes mientras que el valor real del esfuerzo fue de 72.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 62

600

500 COCOMO II
Esfuerzo (pers-mes)

Ecuación del
software
400

300

200

100
Valor real

0
Métodos

Gráfico 14. Valores de esfuerzo para el proyecto 3

En el gráfico 14 se puede observar que para el proyecto 3 de igual forma el esfuerzo estimado
esta por encima del valor real del esfuerzo de manera considerable. Los valores para este
caso fueron 476.87 pers- mes por COCOMO II, 402.62 pers- mes por la ecuación del software
y 40 pers-mes resultó el esfuerzo real.

4.6.1 Análisis de sensibilidad

En esta sección se prueban los valores mínimos y máximos de algunas variables de los
modelos que se consideran difíciles de estimar, para estudiar su peso sobre el valor del
esfuerzo final estimado.

Se pudo notar al realizar la estimación del esfuerzo para los proyectos seleccionados en este
estudio, que solo la variable PMAT en el modelo COCOMO II genera poca confianza debido
a que al tratar de cumplir con el proceso de obtención de este valor, la información aportada
por las empresas encuestadas fue casi nula, así que en conjunto con el líder del proyecto se
fijo un valor nominal para los 2 primeros proyectos y bajo para el tercero basándose solo en
la sugerencia del líder.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 63

• Para la variable PMAT que representa la madurez del proceso en el modelo COCOMO
II:

Proyecto 1

Esfuerzo con PMAT mínimo

Esfuerzo = 2.94 x (74.060)1.13 x 1.0231


Esfuerzo = 389.84 personas –mes

Esfuerzo con PMAT máximo

Esfuerzo = 2.94 x (74.060)1.052 x 1.0231


Esfuerzo = 278.65 personas - mes

Proyecto 2

Esfuerzo con PMAT mínimo

Esfuerzo = 2.94 x (109.175)1.1164 x 1.131


Esfuerzo = 626.86 personas - mes

Esfuerzo con PMAT máximo

Esfuerzo = 2.94 x (109.175)1.0384 x 1.131


Esfuerzo = 434.70 personas - mes
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 64

Proyecto 3

Esfuerzo con PMAT minimo

Esfuerzo = 2.94 x (76061)1.1201 x 1.3585


Esfuerzo = 511.08 personas - mes

Esfuerzo con PMAT máximo

Esfuerzo = 2.94 x (76061)1.0417 x 1.3585


Esfuerzo = 363.93 personas –mes

Esfuerzo calculado ( personas-mes)


Proyectos PMATMIN PMATdado PMAT MAX
1 389.84 340.85 278.65
2 626.86 541.47 434.70
3 511.08 476.87 363.93
Tabla 28. Esfuerzo estimado con valores mínimo y máximo de PMAT.

De la tabla 27 se tiene que para un valor mínimo de PMAT variable que indica la capacidad
de madurez del proceso en COCOMO II en el desarrollo de los 3 proyectos el esfuerzo
estimado aumento un 7% aproximadamente mientras que para un valor máximo disminuyó
un 24 % aproximadamente, de esto se concluye que esta variable puede tener una incidencia
considerable en el calculo del esfuerzo del proyecto y debería ser considerado a la hora
realizar la estimación.
Capítulo 4. Evaluación de proyectos y comparación de los resultados obtenidos 65

4.7 Conclusiones

• Los gráficos 12, 13 y 14 presentados anteriormente nos muestran que los valores de
esfuerzo estimados con los modelos superan ampliamente al valor real de esfuerzo
que fue requerido para cada proyecto.

• COCOMO II se muestra ligeramente por encima de la ecuación del software, ésto es


debido a que COCOMO II toma en cuenta muchas más variable que la ecuación del
software.

• A partir del análisis de sensibilidad realizado a la variable PMAT de COCOMO II se


observó que puede hacer variar el valor del esfuerzo estimado en un intervalo de un
7% al 24% mostrando que tiene una incidencia considerable con respecto al valor
total de esfuerzo estimado por lo que debería ser estimada con mucho cuidado esta
variable.

• Los modelos de estimación de esfuerzo seleccionados: COCOMO II y la Ecuación


del Software a la luz de los resultados obtenidos pareciera no estimar apropiadamente
el esfuerzo en los proyectos a los que se le aplicó, por el contrario, estuvieron muy
lejos del valor real de esfuerzo.
Capítulo 5

Conclusiones y recomendaciones

5.1 Conclusiones

• Los modelos empíricos de estimación de esfuerzo más comp letos que existen en la
actualidad son COCOMO II propuesto por Boehm y la Ecuación del Software de
Putnam, aunque han sido construidos con datos históricos de proyectos grandes ( más
de 70 mil LDC), también se pueden adaptar para proyectos pequeños.

• Las empresas de desarrollo de software en Mérida son pequeñas ya que no tienen más
de 10 empleados. Cuentan con un nivel de experiencia medio alcanzado durante un
tiempo de entre 6 y 9 años que tienen trabajando. En cuanto al horario es de lunes a
viernes 8 horas diarias, es decir, no trabajan sobre tiempo y tampoco los fines de
semana, lo que nos lleva a decir que cumplen con los tiempos de culminación fijados
con anterioridad para los proyectos a desarrollar.
• En un intento por llevar el orden en el desarrollo de sus proyectos seleccionan a una
persona con experiencia como líder del proyecto el cual realiza la planificación de los
mismos, utilizando para ésto herramientas de apoyo. La estimación de esfuerzo de
los proyectos lo realiza con la técnica de estimación Puntos de Funcionalidad y la
experiencia propia. En general guardan estadísticas de los proyectos realizados.
• Al estimar los costos de desarrollo de software las empresas encuestadas incluyen
otros costos indirectos relacionados con las instalaciones, el personal, los servicios,
soportes, entre otros. No están conformes con sus estimaciones ya que al comparar al
final del proyecto lo estimado y lo real, se observa que han subestimado el valor real.

66
Capítulo 5. Conclusiones y recomendaciones 67

• Los modelos de estimación de esfuerzo seleccionados: COCOMO II y la Ecuación


del Software a la luz de los resultados obtenidos pareciera no estimar apropiadamente
el esfuerzo en los proyectos a los que se le aplicó, por el contrario, estuvieron lejos
del valor real de esfuerzo obtenido. La gran diferencia entre el esfuerzo estimado por
los modelos y el esfuerzo real, nos indica que los datos históricos de proyectos
realizados tomados por los autores para construir los modelos, no se corresponden
con la manera de desarrollo de software local y, por lo tanto los valores propuestos de
las variables que componen estos modelos no reflejan un valor cercano a la realidad
que permitiría realizar una buena estimación.

5.2 Recomendaciones

• Se recomienda un estudio a fondo acerca de las variables de cada uno de los modelo s
utilizados en este trabajo, de manera que usando datos históricos propios puedan
obtenerse valores estimados para las mismas, ya que como se mostró los valores
propuestos por los autores de estos modelos de estimación de esfuerzo no reflejan las
características de desarrollo de software locales.

• Se recomienda a las empresas de desarrollo de software locales crear una base de


datos que permita almacenar los valores necesarios para comparar el esfuerzo
realizado en proyectos pasados con el esfuerzo estimado para proyectos que se van a
desarrollar.

• Si se usa el modelo COCOMO II para estimar esfuerzo se debería tener en cuenta la


variable PMAT que se refiere a la madurez del proceso de desarrollo del software
pues puede influir considerablemente en el valor de esfuerzo estimado.
Bibliografía

Pressman, R. (2005 ) Ingeniería del Software: Un Enfoque Practico, Quinta Edición.

Weitzenfeld, A. (2005) Ingeniería de Software orientada a objetos, Primera Edición.

Sommerville, I. (2005) Ingeniería de Software, Séptima Edición.

Gramajo, E., García-Martínez, R., Rossi, B 1998. Combinación de alternativas para la


estimación de proyectos software, (Tomado de:
http://www.itba.edu.ar/capis/webcapis/RGMITBA/articulosrgm/R-ITBA-22-
estimacion.pdf).

USC COCOMO II (1997) Referente Manual, University of Southern California.

Baca, G. (2006) Formulación y Evaluación de Proyectos Informáticos, Quinta edición

Concepción, P. (2006). Planificación de Proyectos de Software. (Tomado de:


http://www.monografias.net/trabajos/anaydisesis/anaydisesis.shtml.)

Teruel A. (2001) COCOMO II: Una familia de modelos de estimación.


Universidad Simón Bo lívar. Ingeniería de Software 3 (Tomado de:
http://www.ldc.usb.ve/~teruel/ci4713/clases2001/cocomo2.html )

68
Capítulo 6. Conclusiones y recomendaciones 69

Salamanca, J. (2006) Calidad del Software. (Tomado de:


http://www.infor.uva.es/~jsalama1/calsoft/Tema2c.pdf

Arías, Fidias G. (2006) Guía para la elaboración de proyectos de investigación, Primera Edición.
70

También podría gustarte