Antes de continuar, recordemos que la repetibilidad, es la variación que tiene una misma persona contando una misma aplicación en tiempos distintos, por otro lado, la reproducibilidad es la variación promedio entre diferentes personas, contando la misma aplicación. En la práctica se ha visto que de aplicarse correctamente el método de Análisis de Puntos de Función, la desviación esperada no será mayor al +/-10%. Esto quiere decir que si una aplicación fuera medida en 100 puntos de función, por un equipo experimentado en Análisis de Puntos de Función en México, cabría esperar que el conteo de la misma aplicación por otro equipo en Brasil, también experimentado en el método, fuera entre 90 y 110 puntos de función. En la práctica, esta situación la he verificado varias veces, contando aplicaciones para diversos clientes, y comprobando mis resultados con otros equipos totalmente independientes dentro y fuera de México. Es esta estandarización y similitud en los resultados, lo que sorprende y convence. El gran atributo que debe proveer una métrica, es la certeza, y la certeza está asociada con la confianza de que la medición será la misma aunque sea realizada por diferentes personas, o en diferentes momentos.
Ahora nos preguntamos, ¿cómo es que este método ha logrado dicha repetibilidad y reproducibilidad en la medición de algo abstracto e inmaterial como lo es el Software? Medir algo físico es sencillo, basta sacar nuestro instrumento de medición, medir y leer el resultado. Al medir la funcionalidad del software, tenemos el problema de que el instrumento de medición, es el mismo ser humano, el cual, por cierto, es un instrumento de medición muy complejo, lleno de ruido, experiencias y percepciones, por lo que la “calibración” de este instrumento se basa en seguir un conjunto de definiciones, reglas, guías y ejemplos de cómo aplicar el método, con el fin de reducir la ambigüedad o interpretación que cada persona pudiera hacer en la aplicación. Es por esto que el Manual de Prácticas de Conteo del IFPUG, está dividido en cuatro secciones: la primera sección incluye las definiciones y reglas de cada uno de los componentes del conteo; la segunda sección provee guías y ayudas para el conteo de ciertas situaciones que causan ambigüedad en el conteo; en la tercera sección se ofrecen una serie de ejemplos que ayudan a entender y acotar los conceptos anteriormente provistos; y por último, la cuarta sección provee un glosario para tener un lenguaje común dentro de la práctica. Adicionalmente, el “instrumento de medición” (la persona que cuenta) es calibrado a través de la práctica y experiencia, siendo la certificación como Certified Function Points Specialist (CFPS), el reconocimiento oficial que otorga el IFPUG a una persona, para garantizar que las mediciones de software son apegadas al estándar, y por lo tanto, la medición será repetible y reproducible.
En el presente artículo, realizaremos un ejemplo de cómo el método es aplicado, para obtener un conteo de puntos de función en una aplicación Web hipotética.
Planteamiento y requerimientos iniciales
Una empresa de compra-venta de autos usados, ha decidido incursionar en Internet, ofreciendo el servicio de venta de autos. Para ello ha pedido a una empresa desarrolladora de Software, la ejecución del proyecto, y ha sugerido que el producto sea entregado en 2 meses. Es así que, el administrador del proyecto utilizará los puntos de función para estimar el proyecto, y validar la factibilidad de terminarlo en el tiempo deseado. De antemano, la empresa desarrolladora, prevé que los requerimientos y restricciones no funcionales, serán de complejidad promedio y el desarrollo será realizado en C#.
Como parte de los requerimientos funcionales, el cliente ha indicado lo siguiente:
1. Un posible comprador de vehículo podrá acceder a la página Web del distribuidor para conocer el precio y comprar un auto del inventario.
2. La aplicación Web utilizará la información que ya se mantiene dentro del Sistema de Inventario de Vehículos (SIV). Este sistema mantiene los vehículos y los posibles accesorios de cada uno de ellos. El modelo de datos que maneja es el siguiente:
Diagrama 1. Modelo de datos del SIV
3. Un comprador potencial, podrá buscar un vehículo de dos formas: podrá ver todo el inventario, o filtrar con base a una serie de características de los vehículos. La pantalla de consulta será de la forma siguiente:

Pantalla 1. Parámetros de Consulta
4. Los drop-downs de Año_Modelo, Marca/Modelo y Accesorios, serán llenados a partir de la información almacenada en el Sistema de Inventario de Vehículos. Adicionalmente, el drop-down de “Rango de Precios” ofrecerá 5 rangos de precio. Cada uno será calculado a partir del valor mínimo y máximo del precio de los autos que se tienen en inventario, y luego, dichos valores serán concatenados para mostrarse de la manera siguiente:
•Entre 50,000 y 100,000
•Entre 100,001 y 150,000
5. Con base a los parámetros de consulta, será mostrado un listado con los vehículos disponibles en el inventario. Si no hay vehículos, el mensaje: “No hay vehículos con esas características”, se desplegará.

Pantalla 2. Listado de Vehículos
6. El comprador podrá entonces verificar el listado, y si ve un vehículo que le llame la atención, podrá seleccionarlo y hacer una consulta detallada, la cual se mostrará en la pantalla siguiente:
Pantalla 3. Detalle del Vehículo
7. Si el posible comprador, decide comprar el vehículo, entonces presionará el botón “Comprar”, que lo llevará a la siguiente pantalla, en donde registrará sus datos, los de su aseguradora y los de su institución financiera. Tal y como se muestra en la pantalla siguiente:

Pantalla 4. Captura de Datos para Compra
8. Al término de esta operación, presionará el botón: “Salvar”, lo cual hará que el auto seleccionado quede como “comprado” en el inventario de vehículos. La información de compra se guardará en el almacenamiento de compras, y por último, se enviará un correo de confirmación al comprador, informando: el número de compra, nombre del comprador, nombre de la aseguradora, nombre de la financiera, marca del vehículo comprado, modelo, año-modelo, color, accesorios y precio del vehículo. Los datos quedarán almacenados en la siguiente tabla:
Compra
Número de Compra
Número de Serie Vehículo
Nombre del Comprador
Dirección del Comprador
Teléfono del Comprador
E-mail del Comprador
Nombre de Cia. de Seguros
Agente de Cia. de Seguros
Teléfono de Cia. de Seguros
Fax de Cia. de Seguros
Nombre Institución Financiera
Fax de Institución Financiera
Aplicación del proceso de análisis de Puntos Funcionales
Planteado el caso práctico, podemos aplicar paso a paso el método de Análisis de Puntos de Función, para lo cual, haremos distinción de definiciones importantes que deben ser consideradas. Este es un proceso largo que veremos a detalle en el siguiente número de SG. Mientras tanto, comparto con ustedes el diagrama que muestra los pasos que estaremos realizando:

Diagrama 3. Proceso de Análisis de Puntos de Función
Acerca del autor
Aquiles Santana Álvarez es Certified Function Points Specialist por parte del IFPUG y Project Manager Professional por parte del PMI. Ha sido responsable de la estimación de proyectos de software críticos para EDS de México y Latinoamérica. Ha impartido entrenamiento en la técnica de Puntos de Función y estimaciones a más de 300 personas en 5 países latinoamericanos y Canadá. Actualmente se desempeña como consultor en Project Management e Ingeniería de Software.
- Log in to post comments