Julián Gómez
CFPS, CSP
Project Manager en Sopra Group
Miembro del NFSSC de IFPUG
Blogger sobre Project Management, Innovación y más en http://www.laboratorioti.com
Mucho se ha hablado de los componentes del software y de la implicación que tienen en un buen dimensionamiento del tamaño del mismo.
¿Por qué del tamaño?
Porque una de las tareas más importantes de un Director de Proyecto durante la planificación es la tarea de realizar estimaciones:
- Estimación de la duración de su proyecto
- Estimación del esfuerzo que costará realizarlo.
- Estimación de las personas necesarias
- Etc.
Un caso particular de Proyectos, son los proyectos software, proyectos software de los cuales nos vemos cada día más rodeados, esas aplicaciones que nos envuelven con sus funcionalidades: Candy Crush, Whatsapp, Google Maps, Gmail, etc.
Ya somos capaces de medir el tamaño de la funcionalidad que nos entregan cada una de ellas con los métodos funcionales: IFPUG, NESMA, COSMIC, MK-II, etc. pero...
¿qué pasa con los requisitos no funcionales?
Hasta ahora no existía un método estandarizado de medir los requisitos No funcionales del software, esos requisitos del tipo: "quiero que esta consulta tarde 1 segundo en lugar de 10 minutos", "quiero que particiones una tabla de la base de datos", "quiero que cambies el color de las letras de la ventana principal de mi aplicación" o "quiero que añadas una ayuda contextual a los campos del formulario de alta de empleado".
Para poder medirlos IFPUG ha desarrollado un método compatible con el método de Puntos Función que se denomina SNAP Software Non-functional Assessment Process o lo que es lo mismo proceso de medición no funcional del software. Este método nos permite medir requisitos relativos al rendimiento, a cambios estéticos, a reutilización de componentes, etc.
¿Qué beneficios aporta SNAP al director de proyectos Software?
Una valoración no funcional puede ayudar a las organizaciones de TI de múltiples formas. Ofrece información al desarrollo y mantenimiento de aplicaciones para ayudar en la estimación y en el análisis de la calidad y de la productividad. Utilizada de forma conjunta con la medida de los Puntos Función, la valoración no funcional ofrece información que puede identificar elementos, que impactan de forma positiva o negativa en la calidad y en la productividad.
Tener esta información, permite a los directores de proyectos software:
- Mejores y más precisos, planes y estimaciones de los proyectos.
- Identificar áreas de mejora de procesos.
- Ayudar a determinar estrategias no funcionales.
- Cuantificar los impactos de las estrategias actuales no funcionales.
- Ofrecer datos específicos para comunicar aspectos no funcionales a públicos diferentes.
Las organizaciones pueden utilizar SNAP como:
- Una metodología para medir el tamaño no funcional de un producto software para ayudar en los análisis de calidad y productividad.
- Una metodología para estimar costes y recursos necesarios para el desarrollo y mantenimiento del software.
- Una metodología para medir la reducción de costes para el desarrollo y mantenimiento del software, además de los Puntos Función.
- Un factor de normalización para la comparación del software.
- Una metodología para determinar el tamaño no funcional de un paquete software adquirido, mediante la valoración de todas las partes y categorías incluidas en el paquete.
- Una metodología para ayudar a los usuarios a determinar los beneficios de un paquete software para su organización, valorando las partes o categorías que específicamente concuerdan con sus requisitos.
¿Cómo modela SNAP los requisitos no funcionales del software?
Uno de los objetivos principales de SNAP es que la medición sea sencilla, por ello muchos de los requisitos no funcionales que solicite el usuario y que entregue nuestro proyecto serán asociados a una o varias subcategorías dentro de SNAP.
Cada subcategoría tiene asignada una unidad en la que se mide (normalmente coincide con el proceso elemental definido en el método de puntos función).
Dicha unidad se dimensiona asignándole un tamaño en función de la complejidad que tenga.
Esta complejidad es determinada por unos atributos contables fácilmente identificables a partir de los requisitos de usuario como son los DET, los FTR, los elementos estéticos cambiados, los registros de la base de datos alterados, etc.
El final sumando todas las unidades obtenidas para cada una de las subcategorías de SNAP que apliquen obtendremos un total de puntos SNAP.
A partir de ahora puedes comenzar un nuevo camino en la estimación del software aprovechando tus valoraciones en Puntos Función IFPUG que vienes realizando añadiéndoles la parte no funcional con la medición SNAP y obteniendo así una Medición Total del Software.