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

Entradas más populares de este blog

¿Qué son las funciones anidadas?

MOPROSOFT

Arquitectura de procesos