Indicadores de calidad en el desarrollo de software

Establecer sistemas de medición y evaluación es un procedimiento básico de la gestión de calidad de software, más aún dentro de la actual tendencia a externalizar el desarrollo, que es realizado por consultoras o desarrolladores de software externos.  Pero aunque los desarrollos sean ejecutados internamente por un área de la propia entidad o externamente por una empresa que tenga certificación en calidad de software, no existe garantía de que el producto diseñado y controlado cuente al 100% con la calidad esperada.

Si bien es cierto que la calidad de un software depende mucho de la concepción del requerimiento, es mucho más importante saber lo que no se sabe al inicio. Hablamos de la elasticidad de un producto y su adaptación al cambio constante de requerimientos durante su construcción, para que su calidad no se degenere con el transcurso del tiempo. Y es por esa calidad esperada que desde el diseño y la construcción se debe mantener la misma calidad posterior a la implantación que es el objetivo de esta investigación, especificando algunos indicadores que contribuyen a lograr dicho objetivo.

upn_Indicadores

Estos se hallan al inicio del proyecto, se certifican durante su concepción y se evalúan al final. Por lo tanto los requerimientos bien conceptualizados definen al final la calidad de un producto y posteriormente el mantenimiento del mismo para que no se desoriente el concepto de la calidad inicial requerida.

Aseguramiento de Calidad vs. Control de Calidad

Esta polémica surge de la premisa muy fomentada en torno a la excelencia de un producto. Es de suma importancia entender las diferencias que existen entre el control de la calidad y el aseguramiento de la calidad. El aseguramiento de la calidad aprovecha los resultados del control de calidad para evaluar y mejorar los procesos con los que se desarrolla el producto. El control de calidad se enfoca en productos, mientras que el aseguramiento de la calidad lo hace en los procesos.

Planteamiento

  1. Para los dos tipos de controles se deben colocar ciertas alarmas, sensores o termómetros, que denominaremos “indicadores de calidad” para controlar y asegurar lo requerido, lo planeado, lo ejecutado y lo esperado.
  2. Se deberá revisar los procesos que cumple el ciclo de vida del desarrollo de software, para identificar aquellos procesos críticos.
  3. Se deberá seleccionar aquellos espacios o momentos donde se puedan colocar indicadores y/o medidas que otorguen alarmas de éxito.
  4. Con el producto terminado, identificar los procesos que nos ayudarán a obtener calidad constante o mejorada.

Este planteamiento se sustenta, como enuncian algunos autores, en:

  • Principio tecnológico, que define las “técnicas” a utilizar.
  • Principio administrativo, que contempla “funciones de planificación” para el control.
  • Principio ergonómico, que define la “interfaz entre el usuario y el ambiente automatizado”.

La calidad de un producto no tiene que ver con los “niveles superiores” de atributos del producto o servicio, sino con la obtención regular y permanente de los atributos del bien ofrecido que “satisfaga” a los clientes para los que ha sido diseñado.

Métodos conocidos: CMMI – Nivel 2, Norma ISO/IEC 12007, Metrica3, Norma ISO 15504

Técnicas:

a)      Control de la calidad del software

  • Mantener bajo control un proceso.
  • Eliminar las causas de los defectos en las diferentes fases del ciclo de vida.

En general, se puede decir que el control de la calidad del software son las actividades para evaluar la calidad de los productos desarrollados, y estas actividades evalúan cada etapa del ciclo de vida de un software. Los indicadores son por lo tanto aquellas actividades que controlan, evalúan e interpretan como especie de “alarmas” el desempeño y óptimo ejercicio de cada fase.

b)      Proceso de análisis (análisis de requerimientos)

  • Con frecuencia los usuarios no indican exactamente lo que desean.
  • Los analistas solo cuentan con la poca información de los requerimientos o conceptos puntuales que describe el usuario. Por lo tanto se aplica poca investigación del requerimiento.
  • Dentro del ciclo de vida de un software, la calidad de la obtención del requerimiento real es decisiva para obtener  la calidad del producto final.

c)       Proceso de diseño

Es importante el constante monitoreo del cumplimiento de lo planeado. Por lo tanto el usuario deberá participar en esta etapa. Los requerimientos iniciales no son los mismos al final.

Conclusiones:

  • Todos los procesos de desarrollo de un software no necesariamente son constantes. Depende del tipo de complejidad y de ciertos indicadores en cuanto a lecciones aprendidas para cada proyecto.
  • Cuando se alcanza la calidad de un producto -nos referimos al final de la etapa de desarrollo-,  solo es temporal y en un momento dado.  A mayor demanda de requerimientos, más exigencias de calidad.
  • Obtener calidad demanda en importante medida presupuesto. A mayor riesgo de pérdida, mayor control de seguridad.
  • Actualmente, la tendencia es que mientras decrecen los pasos para la construcción de software, crecen los controles de seguridad para obtener la calidad que espera el usuario final [ISO 12207, ISO 15504].
  • No olvidar definir los procesos que conllevan a dar control de seguridad en lo que respecta calidad en el desarrollo de software.
  • Mejorar y optimizar constantemente los procesos que transfieren los indicadores en cada etapa del proyecto del desarrollo de un software. Eso nos garantizará en gran medida que nuestro producto esté muy cerca de alcanzar y mantener la calidad esperada por nuestro principal cliente, el usuario.
Whatsapp UPN