Sie sind auf Seite 1von 6

Estimación de Software

Resumen

En este artículo se plasman conceptos relacionados con la estimación de software, se


nombran algunos métodos sin entrar en detalles, además se describe un poco de la
forma como se debe realizar el proceso de estimación y algunas sugerencias que
podemos seguir para estimar y obtener buenos resultados.

1. INTRODUCCIÓN
Durante mucho tiempo la estimación de software ha sido uno de los más grandes retos
para la Ingeniería de Sistemas, en la actualidad existen varios métodos de estimación
que han ido mejorando y avanzando con la experiencia tanto en el desarrollo de
software como de quienes los utilizan. En este artículo recordaremos algunos de los
métodos de estimación más utilizados en la actualidad.

Método de estimación juicio de expertos: “una opinión informada de personas con


trayectoria en el tema, que son reconocidas por otros como expertos cualificados en
éste, y que pueden dar información, evidencia, juicios y valoraciones”. Para este tipo de
estimación existe el método Delphi, el cual consiste en estimar individualmente para
posteriormente coordinar una revisión de las estimaciones individuales, analizarlas y
entre el grupo de expertos tomar una decisión final.

Método de estimación puntos de función: consiste en determinar el tamaño de software


de acuerdo a modelos de datos, definición de pantallas e interfaces gráficas y diagramas
de análisis. Este método da muy buenos resultados debido a que la medida de los puntos
de función se deriva de métricas de productividad, calidad y costos del software.

Método de estimación analógica: estimar a través de proyectos similares. En este


método se debe determinar los identificadores que comparten y los que no para
establecer porcentajes de desfase en la estimación; para realizar este proceso se pueden
usar estrategias de extrapolación e interpolación lineal.

Método de COCOMO II: Es un modelo de construcción de costos de software, el cual


estima de acuerdo al tamaño, factores de costo y escala del software. Se manejan
valoraciones basadas en experiencias anteriores. Está conformado por una serie de
ecuaciones y variables que han sido creadas y mejoradas con el tiempo para lograr
estimaciones de alto nivel.

Todos estos métodos y los demás existentes no nombrados han evolucionado a través
de la experiencia, además algunos son modificados por las personas que los utilizan
para obtener mejores resultados, también es pertinente mencionar que los métodos
son combinados según las características de los proyectos, y así se obtienen mejores
resultados.

2. ESTIMACIÓN DE SOFTWARE
Uno de los pasos más complejos del proceso de desarrollo de software es la fase de
estimación, puesto que en gran medida el éxito de un proyecto depende de este paso
inicial tanto en tiempo como en costo; la mayoría de proyectos una vez empiezan a ser
desarrollados, presentan inconvenientes que no se detectaron en el proceso de
estimación, o en ocasiones los proyectos quedaron inconclusos y se van modificando a
medida que se avanza en el desarrollo.
Una forma de mitigar algunos riesgos durante el proceso de desarrollo de software es
el uso de las metodologías ágiles, las cuales sugieren que se elabore parte de la solución
en pequeños lapsos de tiempo generando un producto para ser revisado con el cliente
o las personas beneficiadas con la solución; de esta forma es fácil detectar si lo que se
está construyendo es lo que se desea, además esto permite corregir o identificar riesgos
o puntos críticos del proyecto de forma temprana.

Sin embargo, el proceso de desarrollo de software involucra personas de diferentes


disciplinas, por lo cual se necesita un gran compromiso de todas las partes para lograr
ejecutar proyectos de alta calidad, con los mejores resultados, tratando de minimizar el
tiempo y costo de desarrollo. Para esto, se debe estar en contexto claro de lo que se
necesita y hacer seguimiento constante del equipo de desarrollo, verificando los
resultados continuamente.

Documentar lo mínimo necesario, no obstante, el alcance de los proyectos software


debe quedar por escrito a través de algún documento o diagrama que permita
dimensionar la funcionalidad y el tamaño del proyecto de software; por esto, debemos
darnos cuenta que algunos documentos del proceso de desarrollo de software son
esenciales y que otros pueden ser innecesarios si no dan valor al cumplimiento del
objetivo de un proyecto.

En la búsqueda de realizar un proceso de estimación acertado se debe buscar


primeramente aclarar el objetivo del proyecto (¿Por qué se desea realizar el proyecto?
¿Qué es lo que se desea solucionar? ¿Cuál es la necesidad?), esto se puede lograr
identificando e involucrando a todos los actores o al menos un representante de cada
grupo que será afectado de manera positiva o negativa con la solución.

Después de tener claro el objetivo del proyecto se puede empezar a pensar en qué se va
hacer y en cómo se va hacer, existen varias formas de identificar esta parte del proceso
y cualquiera puede ser utilizada, lo que se busca es al utilizar esos pasos sugeridos para
aclarar lo mejor posible estas inquietudes, para posteriormente proceder a realizar el
proceso de estimación.
Una vez teniendo claro todos estos puntos es muy importante dividir el problema o
proyecto en partes, lo cual permitirá más adelante atacar pequeños frentes o
determinar subproductos que serán elaborados tempranamente. Con esto, se puede ir
construyendo un producto modular y trabajar con un presupuesto dividido; de esta
forma los clientes se ven beneficiados debido a que inicialmente no deben utilizar toda
su inversión, y además obtienen resultados o productos tangibles permitiendo ver que
se acercan poco a poco a su objetivo final.

Los métodos para estimar software nos sugieren tener claras las funcionalidades,
interfaces, transacciones y procesos del proyecto; podemos hacer uso de los métodos
de estimación existentes pero siempre se debe tener en cuenta que cada proyecto es
único y puede presentar riesgos que debemos estimar, además de esto, las estimaciones
deben tratar de siempre dar el valor más aproximado tanto en tiempo como en costo,
dado que dependiendo de esto depende la capacidad de confianza y madurez que
genere una empresa de desarrollo de software para ser contratada.

No existe un procedimiento o ciertos pasos definidos que garanticen una estimación


100% acertada; sin embargo, de acuerdo a los factores de conocimiento y certeza de
cada persona o equipo se pueden tener mejores resultados, no obstante, se pueden
hacer sugerencias para mejorar esta actividad tan indispensable.

La estimación debe ser un proceso de análisis en conjunto, así se utilicen los métodos
de estimación a través de fórmulas se pueden realizar revisiones previas antes de tomar
la decisión final, también se debe buscar estrategias que permitan acercarse más
fácilmente a los clientes identificando claramente su necesidad.
3. CONCLUSIONES
El proceso de estimación de software se mejora a través de la experiencia y la práctica,
sin olvidar que se debe estimar en grupo obteniendo la percepción y visualización de
más personas, para tratar de obtener una estimación lo más acertada posible tanto en
tiempo como en costo sin desfasarse o subestimar el presupuesto.

Las metodologías ágiles permiten obtener resultados rápidamente, además de sugerir


ciertos pasos que mejoran el proceso de desarrollo de software; sin embargo, se debe
tener un alto nivel de compromiso con los proyectos puesto que, sino se realiza alguno
de los procesos de desarrollo adecuado, los proyectos no se ejecutarán de manera
acertada, presentando atrasos en las entregas, inserción de bugs, aceptación de
requerimientos no previstos, y finalmente desfases en el presupuesto.

REFERENCIAS
[1]. P. Robles Garrote y M. del Carmen Rojas, “La validación por juicio de expertos: dos
investigaciones cualitativas en Lingüística aplicada”, 2015.
[2]. M. Varela Ruiz, L. Díaz Bravo y R. García Durán, “Descripción y usos del método
Delphi en investigaciones del área de la salud”, 2012.
[3]. F. Sanchez Rodriguez, “Los Puntos de Funcionalidad (Function Points).”, 1999.
[4]. M. Bertolami y A. Oliveros, “SFP: Un Procedimiento de Estimación de Puntos
Función de Escenarios”, 2011.
[5]. Técnicas de
Estimación, http://fi.ort.edu.uy/innovaportal/file/2025/1/gp06.estimacione
s.pdf
[6]. A. Gomez, M. del C Lopez, “COCOMO II Modelo para la Estimación de Costo”, 2010.
[7]. A. Navarro Cadavid, J. D. Fernández Martínez, “Revisión de metodologías ágiles para
el desarrollo de software A review of agile methodologies for software development”,
2013.
[8]. P Letelier Torres y E. A. Sanchez Lopez, “Metodologías Ágiles en el Desarrollo de
Software”, 2003.
[9]. A. Weitzenfeld Ridel y S. Guardati Buemo, “Capítulo 12 Ingeniería de software: el
proceso para el desarrollo de software”, 2015.
[10]. L. Gimson, “Metodologías ágiles y desarrollo basado en conocimiento”, 2012.
[11]. G. Adzic, “Impact Mapping: Making a big impact with software products and
projects”, 2012.
[12] J. M. Drake, “Proceso de desarrollo de aplicaciones software”, 2008.
[13]. A. Weitzenfeld Ridel y S. Guardati Buemo, “Capítulo 3 Ingeniería de software: el
proceso para el desarrollo de software”, 2015.