No hay mejor manera de estrenar el blog que la de ponernos en contexto respecto a lo que entendemos con "calidad de software".
Según el Diccionario de la Real Academia de la Lengua Española:
calidad es la propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. Esta tela es de buena calidad.
Esto, para casi todas las cosas generales de la vida, lo entiende todo el mundo, pero ¿y en el mundo del software?
Por ejemplo, si hablamos de la calidad de un coche o automóvil, todo el mundo tiene muy claro cuales son las propiedades que tienen que conocer para juzgar si es mejor o peor que otro: la potencia, la seguridad, la capacidad del maletero, el consumo de gasolina, ...
Si hablamos de la calidad de un teléfono móvil o de una tablet , también todo el mundo tiene claro cuales son esas propiedades o características a evaluar: el tamaño, el sistema operativo, la capacidad de almacenamiento, el peso, el procesador, ...
Sin embargo a veces puede ocurrir que no todos tengamos claro como evaluar esas propiedades de las cosas, en cuyo caso siempre se suele buscar a alguien (el primo al que le encantan los coches, el familiar que sabe de tecnología, el vecino informático ...) que es quién ayuda a determinar esos valores para juzgar y tomar decisiones.
Todo esto que se aplica para tantas cosas en el día a día parece que con el software se nos olvida.
Pues bien, la calidad de software no es más que esa propiedad o conjunto de propiedades que nos permiten juzgar el valor de un determinado sistema informático, aplicación, programa o como cada uno lo llame.
Y esto no es nada nuevo, ya hace mucho tiempo que se conocen cuales son estas propiedades y se han estado utilizando para evaluar la calidad del software desde sus inicios.
En el año 1977 se definió el triángulo de calidad de McCall (revisión de producto, operaciones y transición del producto), o en el año 1978, se definió el árbol de características de Boehm, que definía varios niveles en los que se iban desglosando características del software. Posteriormente en 1992 basándose en el trabajo anterior se definió el modelo FURPS (utilizado por Rational, ahora IBM), y así muchos otros modelos a lo largo de la historia.
Hoy día, el modelo de características que más utilizamos es el que define la norma internacional ISO-25000 (que une las normas ISO-9126 y la ISO-14598 que definían los atributos de calidad del software y su evaluación).
Según la norma ISO-25000, la calidad del software viene determinada por las siguientes ocho características o propiedades:
Estas características se dividen a su vez en diferentes subcaracterísticas más específicas que permiten indagar más profundamente en qué aspectos de calidad hay que evaluar en cada caso.
Además, la norma también específica que estas características se han de evaluar en diferentes escenarios ya que en función de esos escenarios la calidad que se está evaluando es diferente: calidad interna, calidad externa y calidad en uso . Pero eso lo dejamos para siguientes post ;-)
Y tú, ¿qué definición de calidad de software utilizas? ¿qué características consideras que hay que evaluar para determinar si un software tiene más calidad que otro?