Propuesta de un modelo de análisis para estimación del tamaño del

Anuncio
Propuesta de un modelo de análisis para estimación del tamaño del software y
gestión de costos y riesgos a partir de requerimientos funcionales
Sandra Patricia Forigua sforigua@javeriana.edu.co, Oscar Arturo Ballesteros oscar.ballesteros@javeriana.edu.co
Abstract. This paper describes the whole process
followed to make this model. First you can find the
methods that we consider the most important in the field
of software size measurement, cost management and
risk management. In the second part, there are the
concepts developed to explain the proposed model, there
are charts that explain the steps needed to be followed
in order to use this model, and the justification of the
choice of the different methods used in this model. In the
third part there is the study case and the results
obtained from the application of this model to the study
case and in the final part of this paper you will find the
conclusion of this work.
Palabras claves: metodología, gestión, modelo, técnicas,
proyectos de desarrollo de software, proyectos de TI,
estimación de tamaño del software.
Estimación del tamaño del software
TABLA 1: DESCRIPCIÓN DE MODELOS DE ESTIMACIÓN
DEL TAMAÑO DEL SOFTWARE
Metodología
Descripción
Conteo de Líneas de Código
Este método toma las líneas de
código
necesarias
para
la
construcción de un sistema como
medida de su tamaño.
Conteo Por número de Bloques
Este método toma como medida del
tamaño de un sistema, el número de
funciones que éste contiene.
Estimación basada en la estadística
Este método divide, el sistema en
componentes, para así realizar las
estimaciones sobre cada uno de
ellos.
Estimación Por Puntos de Función
Se basa en la funcionalidad del
sistema, mas no en el producto del
desarrollo,
para realizar su
estimación se deben determinar los
componentes de puntos de función
para el sistema y clasificarlos según
su dificultad.
I. INTRODUCCIÓN
Este artículo contiene la descripción de los conceptos,
fundamentos y procesos involucrados en el desarrollo de un
modelo que facilite la estimación del tamaño del software así
como de la gestión de costos y riesgos. Inicialmente se
podría decir que este trabajo integra los estudios y análisis
efectuados en torno a los temas de estimación del tamaño del
software y la gestión de costos y riesgos de un proyecto de
desarrollo, esto con el fin de establecer criterios, principios y
requisiciones específicos para la escogencia de la
metodologías y técnicas que hacen parte del modelo.
Intervienen en el modelo ciertos elementos utilizados para
redefinir las metodologías que lo constituyen en respuesta al
entorno y caracterización de los proyectos de TI en Colombia
[1].
Por último, cabe resaltar la base de los requerimientos de la
cual parte el modelo. Dicha base define algunos de los
conceptos, decisiones y procedimientos que se desarrollarán
en cualquiera de los pasos que lo constituyen.
Gestión de costos
TABLA 2: DESCRIPCIÓN DE MODELOS DE GESTIÓN DE
COSTOS
Metodología
Descripción
Costos por Analogía
Se estima el costo del proyecto
basándose en el costo de
proyectos
similares
ya
realizados.
Precio a Ganar
Se ajusta el precio del
proyecto
para mejorar la
propuesta más económica
realizada, con el fin de ganar
el proyecto.
COCOMO
Modelo empírico para la
estimación del esfuerzo y
costo del desarrollo de un
sistema de software, se basa en
el uso de multiplicadores de
esfuerzo.
SLIM
Se basa en la distribución de
poder hombre, se usa la
ecuación
de software, en
donde se relaciona, el tiempo
de
entrega,
factores
ambientales, en los cuales se
refleja la capacidad de
desarrollo de la compañía
II MODELOS Y MÉTODOS EXISTENTES
A continuación se listan y describen los métodos más
utilizados en la actualidad para la estimación del tamaño del
software
PROPUESTA CONCEPTUAL DE LA ESTIMACIÓN DE
TAMAÑO DEL SOFTWARE
Gestión de riesgos
TABLA 3: DESCRIPCIÓN DE MODELOS DE GESTIÓN DE RIESGOS
Proceso
PMBok® 2000
SEI - Método Continuos Risk
Management
IEEE
Descripción
Se plantea un análisis de las ventajas y desventajas de
cada uno de los métodos para la estimación del
tamaño del software
Estándar
que
utiliza
el
conocimiento, herramientas y
técnicas para resolver posibles
problemas del proyecto.
TABLA 4: VENTAJAS Y DESAVENTAJAS DE LOS MÉTODOS
PARA LA ESTIMACIÓN DEL TAMAÑO DEL SOFTWARE
Proporciona una guía compuesta
por principios, conceptos y
funciones para la toma de
decisiones entorno a riesgos que
deben
ser
evaluados
continuamente.
Establece una norma para el
desarrollo de planes de gestión
del riesgo constituidos por el uso
de formatos.
Esta norma no
establece técnicas exactas para
ser usadas en los planes de
proyecto.
De acuerdo con la fuente [3] el modelo de gestión de riesgos
más utilizado en la actualidad contiene los elementos que se
ilustran en la fig. 1:
Metodología
Conteo
Líneas
Código
de
de
Conteo
numero
Bloques
Por
de
Ventaja
Desventaja
-Se basa en el producto del
desarrollo de software.
-Dependiente del lenguaje
de programación.
-Fácil Conteo
-Dependiente
de
Programadores.
-Se Basa en el producto de
la
construcción
del
Software.
-Dependiente del lenguaje
de programación.
Fácil conteo.
Estimación
basada en la
estadística
-Disminuye
la
incertidumbre, dividiendo
el sistema en componentes.
-Se basa en un proceso
estadístico, que ofrece un
grado de seguridad.
III PROPUESTA CONCEPTUAL DEL MODELO
Esta sección se concentra en contrastar los conceptos y
definiciones especificados en el estado del arte, concernientes
a la estimación del tamaño del software, la gestión de costos
y riesgos, con las bases (evaluaciones de las metodologías,
estudios estadísticos de proyectos de software en Colombia,
principios y requisiciones de las metodologías,
delimitaciones, etc.) para definir la propuesta del modelo.
A continuación se exponen los conceptos, metodologías,
técnicas y procedimientos que basados en el estado del arte
del trabajo sustentarán, más adelante, los pasos que contiene
el modelo contenidos para la estimación del software y la
gestión de costos y riesgos.
los
-Si no se cuenta con datos
históricos,
las
estimaciones serán poco
confiables.
-El método requiere un
tiempo para converger en
buenas estimaciones.
Estimación Por
Puntos
de
Función
-Al
depender
de
la
funcionalidad del sistema,
su aplicación se puede
realizar desde la definición
de los requerimientos del
sistema.
-Es posible que no se
encuentren todos los
componentes necesarios,
lo
que
daría
una
estimación equivocada.
Estimación Por
Puntos
de
Objeto
-Se
basa
en
la
funcionalidad del sistema a
construir, lo cual hace a
esta metodología adecuada
para fases tempranas del
proyecto.
-No es muy usada la
metodología.
-Fácil Utilización.
FIGURA 1 MODELO DE GESTIÓN DE RIESGOS MÁS ACEPTADO
EN LA ACTUALIDAD [3]
Dependiente
de
desarrolladores.
los
-No es muy adecuada
para
sistemas
que
requieren
algoritmos
complicados, y pocas
pantallas y reportes.
PROPUESTA CONCEPTUAL DE LA GESTIÓN DE COSTOS
Se plantea un análisis de las ventajas y desventajas de
cada uno de los métodos para la gestión de costos:
TABLA 5: VENTAJAS Y DESAVENTAJAS DE LOS MÉTODOS PARA
LA GESTIÓN DE COSTOS
o
Metodología
Ventajas
Desventajas
Costos por
Analogía
Si se cuenta con buena
información histórica
de proyectos pasados,
se pueden obtener
estimaciones bastante
acertadas.
Se
requiere
información histórica
de proyectos para
realizar la estimación.
Parkinson
Se tienen en cuenta las
necesidades
del
cliente.
La
estimación
obtenida,
muy
seguramente este muy
alejada, del costo real
del proyecto, lo cual
puede
ocasionar
perdidas.
La
estimación
se
realiza de una manera
muy sencilla.
La estimación muy
probablemente estará
incorrecta, y el costo
real
estará
muy
alejado de la realidad.
o
o
Precio
Ganar
a
COCOMO
SLIM
Se
basa
en
la
evaluación de factores
de
esfuerzo
del
proyecto, lo que hace
que en la estimación
se incluyan varios
factores que inciden en
el costo del proyecto.
Predisposición
por
parte del equipo de la
gestión
ante
la
utilización
de
fórmulas
matemáticas.
Usa
factores
del
proyecto y producto,
para
realizar
la
estimación,
estos
factores inciden en el
costo del proyecto.
Predisposición
por
parte del equipo de la
gestión
ante
la
utilización
de
fórmulas
matemáticas. .
PROPUESTA CONCEPTUAL DE LA GESTIÓN DE
RIESGOS
La figura 2 muestra los criterios que se tuvieron en
cuenta para el planteamiento de una metodología de
gestión de riesgos del modelo:
Agilidad
Todos los riesgos relacionados con los proyectos
de desarrollo deben ser identificados, analizados
priorizados y revisados siguiendo un plan de
gestión de riesgos.
Como consecuencia de los constantes cambios, la
lista de los riesgos y la información relacionada
con su estado actual e historia reciente , deben ser
mantenidos en una Base de Datos de Riesgos de
Proyecto separada.
La información contenida en la Base de Datos de
Riesgos debe ser utilizada para acrecentar la
información contenida en una Base de Datos de
Riesgos Organizacional.
FIGURA 3 REQUISICIONES PARA UNA METODOLOGÍA DE
GESTIÓN DE RIESGOS [5]
IV MODELO PROPUESTO
La propuesta de este modelo establece que los pasos
que se deben seguir para la estimación del tamaño y la
gestión de costos y riesgos son:
PASO I – Definir los requerimientos funcionales
Este proceso comprende desde el conocimiento de los
requerimientos funcionales del proyecto hasta su
especificación utilizando la plantilla propuesta por la
IEEE1.
PASO II: Estimar el tamaño del software
El proceso que comprende la estimación del tamaño
del software en el modelo se muestra en la figura 4
junto con las razones por las cuales fue seleccionada
esta metodología.
PASO III: Gestionar los costos
Las actividades que comprende el paso para la gestión
de costos del modelo se muestran en la figura 5 junto
con las razones por las cuales fue seleccionada esta
metodología.
PASO IV: Gestionar los riesgos
Participación
necesaria
PRINCIPIOS
BÁSICOS
DE LA
GESTIÓN DE
RIESGOS
Reconocimiento de
la necesidad de
gestionar
Potenciar
la
comunicación
Las fases mostradas en la figura 5 corresponden a
cada uno de los pasos de la metodología para la
gestión de riesgos que se propone. En seguida de ésta
se explican las razones por las cuales se escogió esta
metodología.
Paso V: Finalizar la gestión
Una vez culmine la fase de gestión del riesgo los
resultados de la ejecución de los pasos modelo
materializados en los formularios diligenciados del
1
FIGURA 2 PRINCIPIOS BÁSICOS DE LA GESTIÓN DE RIESGOS [4]
IEEE Software Requirements Specification
Template. Página consultada [Mayo 2005].
Disponible en Internet: <http://
www.computing.dcu.ie/~roconnor/modules/ca326/srs
_template.doc>
mismo, deben ser tratados y almacenados en un repositorio
de información relacionada con la planeación del proyecto.
GESTIÓN DE COSTOS
A continuación se muestran las metodologías propuestas de
estimación del tamaño del software y gestión de costos y
riesgos para el modelo.
ESTIMACIÓN DEL TAMAÑO DEL SOFTWARE
FIGURA 5 METODOLOGÍA PARA LA GESTIÓN DE COSTOS
FIGURA 4 METODOLOGÍA PARA LA ESTIMACIÓN DEL TAMAÑO
RAZONES POR LA CUALES SE ESCOGIÓ ESTA METODOLOGÍA DE
GESTIÓN DE COSTOS
En cuanto a la metodología de estimación se escogió la
metodología de puntos de función, debido a las siguientes
consideraciones.
- Se puede usar adecuadamente en cualquier etapa del
proyecto, así no se conozcan muchos aspectos sobre el
mismo.
- Se basa en la funcionalidad del software a implantar.
- Al basarse en la funcionalidad es independiente del
lenguaje.
- Es fácil de aprender, y luego que se hace es muy práctica
esta metodología.
- Es de rápida aplicación, ya que sólo se identifican
componentes funcionales, lo cual en muchos sistemas no
es muy complicado.
- Es una metodología fácilmente aplicable en el entorno
colombiano, debido a su facilidad de uso y curva de
aprendizaje.
RAZONES POR LA CUALES SE ESCOGIÓ ESTA
METODOLOGÍA DE GESTIÓN DE COSTOS
Para el caso de la metodología para la realización de
la gestión de costos, se tienen varios pasos, en los
cuales se identificaron 2 metodologías para esta
gestión, la primera se encarga de la estimación del
costo del proyecto y presupuesto del mismo, la
segunda se encarga del control del presupuesto; estos
pasos son indispensables para cualquier proyecto.
A continuación se explica el por qué de la elección de
estas metodologías.
COCOMO II
Esta metodología se escogió para la estimación del
costo y presupuesto, ya que la estimación del costo se
realiza sobre cada requerimiento, lo que al estimar el
costo de todos los requerimientos provee un
presupuesto del proyecto por requerimiento. Este
método se eligió debido a las siguientes razones.
- Está basada en factores de costo, es decir
para su estimación además de las
características del software a realizar, se basa
en otros factores como los de personal,
equipos, etc.
- Utiliza muchos factores de costo, que
generan una muy buena estimación.
- Consiste en 3 modelos separados los cuales
son aplicables en diferentes etapas del
proyecto.
Análisis de Valor Ganado.
Esta metodología se encarga de realizar control al
presupuesto del proyecto, a través de diversas
métricas, las cuales son de gran uso actualmente. A
continuación se listan los aspectos por los cuales se eligió
está metodología.
-
ofrecidos a sus clientes. Los siguientes son los
requerimientos implementados:
1. Un cliente podrá consultar las direcciones
IP que tenga disponibles.
2. El sistema debe generar las direcciones IP
disponibles de un cliente de acuerdo con su
plan de pago.
3. Un cliente podrá cambiar el nombre de su
dirección IP
4. Un cliente podrá eliminar el nombre de su
dirección IP
5. El sistema deberá notificar al cliente el
número de cada una de las direcciones IP que
tenga adscritas.
6. El sistema deberá verificar la existencia de
una dirección IP de un cliente.
7. El administrador del sistema podrá
consultar los logs de la aplicación.
Compara diversos factores, para obtener de esta
manera una visión más realista del estado proyecto.
Las métricas que usa no son muy complicadas, lo
cual las hace de fácil utilización.
La metodología es apta para cualquier tipo de
proyecto, sin importar su tamaño.
GESTIÓN DE RIESGOS
RESULTADOS DE LA APLICACIÓN DEL
MODELO
ESTIMACION DEL TAMAÑO
FIGURA 6 METODOLOGÍA DE GESTIÓN DE RIESGOS
RAZONES POR LA CUALES SE ESCOGIÓ ESTA METODOLOGÍA DE
GESTIÓN DE RIESGOS
-
-
-
Una de las razones fundamentales es que cubre la
totalidad de las fases que en las que se desarrollan
los métodos de gestión de riesgos en la actualidad
(ver Tabla 3 y Fig. 1).
De acuerdo con las requisiciones para una
metodología de riesgos cabe resaltar la necesidad de
aprendizaje que todo el proceso puede y debe
generar entorno a la identificación y manejo de los
riesgos. Des esta manera, la base de datos de los
riesgos puede convertirse en una base de aprendizaje
de riesgos en donde se recopilen aspectos
relacionados con su estado.
De acuerdo con la caracterización de los proyectos
de TI en Colombia realizada en este trabajo, es clara
la necesidad de mantener una comunicación abierta
entre los miembros del equipo de proyecto. La
comunicación se debe generar también en esta parte
de gestión de riesgos y no sólo en las fases del
modelo de desarrollo establecido.
Esta metodología demostró gran exactitud a la hora de
comparar los resultados obtenidos
al final del
proyecto, cuando se conoció el tamaño final del
mismo. Al igual se demostró que la técnica es muy
fácil de usar y no requiere de de mucho tiempo para
su aplicación, ni de mucho entrenamiento.
GESTION DE COSTOS
Para el caso de estas 2 metodologías sólo se pudo
aplicar una, esto debido a que por parte de la
organización que realizó dicho proyecto no contaba
con información histórica sobre el desempeño de los
costos durante el proyecto, pero por el otro lado se
realizó una estimación bastante acertada del costo
total del proyecto.
GESTIÓN DE RIESGOS
Para la gestión de riesgos, el plan que se realizó y los
riesgos que se identificaron, algunos fueron los que se
presentaron a lo largo del proyecto, y los planes de
mitigación que se generaron fueron considerados
útiles, para el manejo de los riego en esta clase de
proyectos.
VI. CONCLUSIONES
1.
V CASO DE ESTUDIO
DESCRIPCIÓN DEL PROYECTO
Desarrollo para un ISP (Proveedor de servicios en
Internet) con el fin de ampliar la gama de servicios
2.
Se logró desarrollar un modelo para la
estimación del tamaño del software y la
gestión de costos y riesgos de un proyecto de
desarrollo tomando como base los
requerimientos funcionales del mismo.
El modelo propuesto se encuentra
fundamentado en la utilización de diversas
metodologías y técnicas para la estimación
3.
4.
5.
6.
7.
8.
9.
del tamaño y gestión de costos y riesgos de un
proyecto de software, extraídas como resultado del
estudio sobre diversas fuentes de información
relacionadas con el tema.
Se establecieron criterios para la clasificación de las
metodologías encontradas para la estimación del
tamaño y gestión de costos y riesgos de un proyecto
de desarrollo, llevando a cabo para este fin un marco
comparativo entre dichas metodologías.
Adicionalmente a la definición de los criterios fue
posible establecer requisiciones y principios básicos
sobre los cuales debe basarse una metodología de
gestión de riesgos y algunas técnicas involucradas
en este mismo proceso.
Se establecieron metodologías y técnicas específicas
asociadas con la estimación del tamaño y gestión de
costos y riesgos de un proyecto de software que
responden a los criterios ya definidos.
Las metodologías y técnicas especificadas con base
en los criterios definidos, constituyen la base del
modelo propuesto para la estimación de tamaño y
gestión de costos y riesgos de un proyecto de
desarrollo de software.
Es una finalidad del modelo suministrar un marco
básico de metodologías y técnicas basadas en el uso
de herramientas de fácil acceso que faciliten, a su
vez, el proceso de estimación y gestión de costos y
riesgos en un proyecto de desarrollo.
La aplicación práctica del modelo a través de un
caso de estudio permitió validar experimentalmente
algunos de los pasos que constituyen el mismo,
generando una adecuada gestión de costos y riesgos
de acuerdo con los criterios especificados.
La validación experimental del modelo presentó
algunas limitaciones como resultado de algunas
restricciones de la empresa donde se desarrollo el
caso de estudio, por tanto algunos pasos del modelo
tuvieron que ser adaptados de acuerdo con otros
anteriores que si se lograron aplicar de manera
practica.
almacenamiento y cálculo de los datos en un
mismo entorno.
2. Ampliar la aplicación práctica del modelo en
empresas a gran escala, con el fin de obtener
nuevos resultados que complementen el caso de
estudio presentado en este trabajo y exploren
nuevas experiencias
con el fin de sugerir
mejoramientos a los procesos y conceptos
propuestos para la estimación y gestión de
proyectos de software.
3. Complementar el modelo a través de la
propuesta de una metodología para la estimación
y control de calendario.
4. Se sugiere el desarrollo de un estudio más
profundo acerca del estado de las pymes
colombianas con respecto a las áreas de
estimación y gestión de proyectos, con el fin de
extender la aplicación del modelo teniendo en
cuenta nuevas necesidades y requerimientos de
las empresas aparte de las mencionadas e
identificadas en este trabajo.
REFERENCIAS
[1] A. Cueto, “V Encuesta de gerencia de proyectos”.
Asociación colombiana de ingenieros de sistemas.
2007
[2] S. Maniasi, “Un Modelo para la identificación en
base a taxonomías”. Global Software Group.
Argentina, 2005.
[3] M. Carr, S. Konda, I. Monarca, F. Carol Ulrich,
C.F. Walker, “Taxonomy-Based Risk Identification”,
SEI, 1993.
[4] MSF Risk Management Discipline v.1.1.,
Microsoft Solutions Framework, Seattle 2002.
[5] Managing Software Project Risk. 2004. Tasscsolutions.
VII. TRABAJOS FUTUROS
Con la realización de este trabajo se abrieron varias
perspectivas para enriquecer el modelo propuesto en este
trabajo de grado, las cuales generarían un modelo mucho mas
robusto y apropiado para las organizaciones desarrolladoras
locales.
A continuación se expresan algunas de las ideas para la
realización de trabajos de grado futuros.
1. Implementar una herramienta computacional de
apoyo al modelo que incluya todas apoye todos los pasos
propuestos por éste y facilite al usuario el
[6]. Cocomo II Model Definition Manual, COCOMO,
1999.
[7]. Handbook of software engineering & knowledge
engineering, World Scientific Publishing Co, 2002.
[8]. Function Points Analysis Training Course,
Longstreet Consulting Inc, 2004.
[9]. Software Engineering Project Management, IEEE
Computer Society, 2003.
[10]. Rita's Course in a Book for Passing the PMP
Exam,
PMP
exam
prep,
2002.
Descargar