¿Calidad del software? ¿Y eso que es?
Si el concepto de calidad ya es difícil de establecer para cualquier producto, para el software, y como ya ocurre en comparación con otros ámbitos profesionales, es mucho más difuso, y en la mayoría de los casos, los parámetros son totalmente subjetivos y de cuantificación complicada.
Para un usuario final, un producto de calidad debería cumplir las siguientes condiciones:
- Que haga lo que tiene que hacer. Es decir, que no falle y que no se comporte de manera inesperada dependiendo de si la Luna está alineada con Saturno o con Júpiter.
- Usable. Incontables son el número de programas realmente buenos, y que se han quedado en desuso porque para utilizarlo hay que ser ingeniero de la Nasa.
- Rápido. Hoy en día el tiempo es oro, y los usuarios no están dispuestos a perder su preciado tiempo esperando al programa. Un tiempo excesivo, seguro que le cuesta al software un buen número de "adjetivos peyorativos" por parte del usuario.
- Atractivo. El interface de un programa es lo único que el usuario va a ver, y muy posiblemente, dicho usuario pase por alto un buen diseño del interface, pero un mal diseño, de nuevo provocará críticas y percepción de baja calidad.
Dado el gran número de utilidades que hay compitiendo en el mercado, si los parámetros de calidad no convencen a un usuario, no dudará en abandonar su uso, y buscar otro que le complazca más.
Para el desarrollador, que tiene que vérselas con las tripas del programa, los criterios cambian, y los que creo que más se valoran, son los siguientes:
- Mantenible. No empezaré a analizar el porqué, pero está claro que el software tiene errores que deben corregirse, y cambios funcionales que deben realizarse (por mucho esfuerzo que hayas puesto en definirlos completamente). Poder realizar estas pequeñas modificaciones rápidamente, sin tener que descifrar cada línea de código, ahorrará muchas horas de trabajo y dolores de cabeza al programador.
Yo definiría un posible parámetro mesurable respecto a la mantenibilidad: "El localizator", que sería el tiempo que le cuesta al programador localizar las líneas de código que implementan lo que se está buscando. A menor "localizator", más mantenible es el software.
- Escalable. Con un poco de suerte, el software se utilizará y querrá ampliarse funcionalmente. Llegados a este punto, es vital, que no haya que recompilar el kernel y escrincar el flujo de procesos para poder hacerlo, ya que si es así, posiblemente sea la última modificación que nos pidan.
- Documentado. Sueeeeeeeña .... aquel que tenga bien documentado todo su código, que arroje la primera piedra.
Bienvenidos son los nuevos parámetros de calidad que quieras aportar.
ezulin dijo
Toreable
Que ze puea toreá..que zi no va bié..que ze puea toreá ar cliente..ea..
22 Septiembre 2005 | 01:29 PM