Mi personal y particular historia con las métricas de calidad software. Y saca de aquí lo que pueda valerte (2/2)

Esta es la segunda parte del post sobre «Mi personal y particular historia con las métricas de calidad software. Y saca de aquí lo que pueda valerte (1/2)»
Para ello, para lograr un cuadro de mando de calidad, me base en un estándar, por aquel entonces apenas conocido, y teórico, llamado ISO 9126 (te dejo un enlace, porque ya hablamos por aquí de él).
El estándar definía un árbol, que desglosaba qué era la calidad del producto software, descomponía esta en varias dimensiones de menor nivel, p.e., calidad -> mantenibilidad -> cambiabilidad + analizabilidad, etc. Pero de ahí para abajo, nada, las métricas que soportaban las hojas del árbol no estaban definidas.

iso 9126Imagen resumen de la ISO 9126

Sería porque era era necesario, por inspiración, o porque un importante cliente nos pidió un cuadro de mando de calidad «para mañana»… y nadie daba respuesta de cómo hacerlo, que yo tome las dimensiones del árbol de la 9126 y les asocié métricas. Por ejemplo, a la mantenibilidad, le asocié complejidad ciclomática, código repetido, clases muy grandes, muchos operadores en un servicio, etc. Métricas que podía obtener con herramientas.
El problema fue la calibración: desde los resultados de todas las métricas debía obtener un único número, por ejemplo, el número de mantenibilidad. Y las métricas cada una se mueve en un rango, unas de – 1 a 1, otras de 0 a infinito, etc., por lo que hacer una media no era la solución. Y para ello las calibré con trapecios.

trapecio metricas calibracionEjemplo de mis apuntes sobre normalizar métricas con trapecios

Los trapecios, como el de la figura, que implementé con funciones por partes (otra cosa que tenía olvidada de la carrera que volvió a la vida en esos tiempos) tenían en el eje de las X el valor de la métrica, el rango en que se mueve, y en el de las Y la calibración de 0 a 100, siendo 0 la menos calidad y 100 la máxima. Y son trapecios porque las métricas no siempre se comportan de manera lineal.  Por ejemplo, imagina el % de comentarios en una clase, si el porcentaje es cero es baja calidad, si es un 10% ya pinta mejor, pero si es un 90% suena a código comentado, así que mal.
Aquellos cuadros de mando en base a trapecios (que es como lo hacen hoy casi todas las herramientas comerciales que tienen cuadros de mando de la calidad) se implantaron en numerosos proyectos. Si bien a fecha de hoy son muchas las herramientas que ya vienen con cuadros de mando.
Desde entonces, y a fecha de hoy, junto con la agilidad y la gestión de proyectos, la calidad del producto software ha sido una de mis dedicaciones. Que he visto crecer en las empresas, lentamente, pero sin parar, y a la que aún le queda mucho recorrido, pero que juega, y jugará, un papel principal en los modelos de negocio tecnológicos a los que vamos.

jgarzas

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.

0 comentarios en “Mi personal y particular historia con las métricas de calidad software. Y saca de aquí lo que pueda valerte (2/2)”

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *