PUNTOS DE FUNCIÓN
¿QUÉ ES EL MÉTODO DE
PUNTOS DE FUNCIÓN?
Es una técnica de estimación de
software desarrollada originalmente por Allan Albrecht en 1979 mientras
trabajaba para IBM, quien definió conceptos para medir el software a partir de
valoraciones de funcionalidades entregadas al usuario y no a partir de aspectos
técnicos, con la intención de producir valoraciones independientes de la
tecnología y fases del ciclo de vida utilizado.
El trabajo de Albrecht fue
continuado por el grupo internacional de usuarios de puntos de función, quienes
plasmaron sus conceptos en el método IFPUG-FPA.
IFPUG-FPA realiza las
valoraciones a partir de la funcionalidad del sistema, primero clasificándolas,
luego asignando una complejidad y ponderación a cada una según unas tablas
predefinidas, determinando así el valor de puntos de función.
Sumando los puntos de todas las
funcionalidades se obtiene la valoración de todo el proyecto y finalmente se
puede aplicar un factor de ajuste, que puede depender de características
generales del sistema como por ejemplo requerimientos no funcionales como el
rendimiento, reusabilidad, facilidad de instalación y operación entre otros
aspectos.
Los puntos de función permiten
traducir el tamaño de funcionalidades de software a un número, a través de la
suma ponderadas de las características que este tiene.
Una vez que tenemos los puntos de función, podemos traducirlos en horas hombre o días de trabajo, según factor de conversión que dependería de mediciones históricas de nuestra productividad. Con las horas hombre, podemos determinar el costo y presupuesto de los proyectos.
¿EXISTEN OTROS MÉTODOS
DE PUNTOS DE FUNCIÓN DISTINTOS DE IFPUG-FPA?
Si, desde que surgió el IFPUG-FPA, los métodos de
puntos de función se han diversificado, produciendo las siguientes variantes:
NESMA:
Método definido por la Netherlands Software Metrics Association.
MkII:
Método definido por el United Kingdom Software Metrics Association.
COSMIC: Denominado Full Function Points o COSMIC-FFP, fue desarrollado por el Common Software Metrics
Internacional Consortium.
FiSMA: De
la asociación finlandesa de medición de software.
Cada uno de estos métodos tiene aplicaciones en
distintos tipos de proyectos de software. Además, cada uno cuenta con su
estándar ISO
¿PARA QUÉ SE UTILIZA EL
MÉTODO DE PUNTOS DE FUNCIÓN?
Estimación
de proyectos de software
Una de las principales aplicaciones del método es en
la determinación de valoraciones (estimaciones) del producto de software a
desarrollar, que es una parte fundamental de todo proceso de ingeniería de
software y de la gerencia de estos proyectos.
Dentro del ciclo de ingeniería de software, lo
normal es que la estimación del proyecto ocurra después que la ingeniería de
requerimientos produzca una primera versión de la especificación de requisitos
con suficiente información para elaborar la estimación.
Validar
la calidad de las especificaciones funcionales
Si asignamos el mismo requisito a dos Analistas de
sistemas y la estimación producida por los puntos de función difiere, esto nos
puede servir para identificar ambigüedades en las especificaciones funcionales.
Seguimiento y control de proyectos
Otras aplicaciones de los puntos de función
incluyen el seguimiento y control de proyectos, donde se puede usar para
estimar el impacto de cambios en la funcionalidad solicitados durante el desarrollo
y también para medir en puntos de función el avance del proyecto e inclusive la
facturación en contratos de servicios.
Medir la productividad y calidad de nuestro
proyecto o servicio de ingeniería de software
Por otra parte, los puntos de función tienen
aplicaciones en mediciones de productividad, por ejemplo si dividimos las horas
hombre empleadas para producir cierta cantidad de puntos de función, obtenemos
un indicador de productividad de nuestro equipo y de cómo esta puede mejorar en
el tiempo.
Con esto adicionalmente podemos calibrar el factor
de conversión entre puntos función y horas hombre que utilicemos para nuestras
estimaciones.
Otros indicadores interesantes son número de
incidencias por puntos de función producidos como medición de la calidad del
proceso de desarrollo.
Comentarios
Publicar un comentario