Calidad en el software (IV)

Al iniciarse un proyecto de desarrollo de software, es necesario definir el grado de aceptación para cada una de características de calidad que se considera deba ser incluida en el producto.

Toda aplicación de software tiene objetivos que guían el proyecto de desarrollo. Estos objetivos conducirán a la determinación de la ponderación que será asignada a cada una de las características que definirán el perfil de calidad del producto.

En el proceso de desarrollo del software deben ser consideradas las metas a alcanzar en cada una de las características de calidad, aunque dependiendo del rol de un determinado componente; éstas tendrán mayor o menor relevancia, considerando la incidencia en el resultado del producto final. Sin embargo, las características de calidad deben constituir lineamientos a seguir cabalmente durante el desarrollo, con el fin de evitar impactar en forma negativa el avance del proyecto por haberlas omitido o interpretado inadecuadamente.

El proceso de desarrollo de software puede resultar bastante complejo, durante el tiempo que requiera es necesario combinar adecuadamente elementos de distinta naturaleza: tecnológicos, organizacionales, legales, gubernamentales, económicos y humanos.

Sin embargo, haciendo caso omiso del tipo de trabajo que se efectúe en las áreas que serán usuarias del software, éste debe prestar servicio, directa o indirectamente, a grupos humanos que tienen, sobre la base de los objetivos del proyecto, expectativas forjadas con respecto a la calidad del mismo.

Dentro del marco establecido por los objetivos del proyecto se define el conjunto de características de calidad que el producto debe presentar, incluso se establece el nivel de aceptación para cada una. Cada etapa del desarrollo del software debe estar guiada por las metas de calidad fijadas, sin embargo, según la etapa en que se encuentre el proyecto unas características Antes de efectuar la asignación de recursos al proyecto, en cualquiera de sus pueden parecer más relevantes que otras en esa etapa en particular.

Dotar un determinado producto de ciertas características de calidad implica la asignación de recursos humanos, económicos y tecnológicos, además del tiempo, elemento subyacente, que hay que destinarle en el desarrollo.

En todas sus etapas, es preciso evaluar con precisión, la relación costo-beneficio, pues tendrá incidencia directa en el perfil de calidad del producto final, considerándola desde el punto de vista de los objetivos del proyecto. Como consecuencia de lo anterior, en un momento determinado, la inclusión de ciertas características de calidad puede resultar no procedente, diferida, o bien, ver reducido su nivel de aceptación al mínimo. Lo anterior, susceptible de interpretaciones erróneas, puede conducir a cometer errores severos que afecten gravemente al producto en desarrollo.

Con el fin de apoyar al área de ingeniería de software en el proceso de definición del perfil de calidad del producto, se efectuó una revisión del modelo propuesto en la norma ISO 9126 (presentado en el artículo anterior). Dicha revisión presenta las características de calidad agrupadas y jerarquizadas en tres niveles, tomando como criterio principal el grado de impacto en los usuarios finales del software.

a. Nivel 1. Operatividad: comprende las características de calidad que inciden directamente en los usuarios finales, las cuales se refieren al funcionamiento correcto y conforme a los objetivos, y a la facilidad de operar y aprender el sistema.
b. Nivel 2. Fortaleza: agrupa las características que definen la robustez, fiabilidad y efectividad del sistema, aspectos que, una vez garantizados los resultados esperados y siendo éstos fáciles de obtener, afectan la gestión de los usuarios.
c. Nivel 3. Flexibilidad: se refiere a aquellas características técnicas que posibilitan la instalación del software en diferentes ambientes y su adaptación a los cambios tanto del entorno como de los criterios que sirvieron de base a su diseño.

El nivel asignado a cada grupo representa, desde la óptica del usuario final, el grado de criticidad de las características de calidad.

En el nivel 1 se presentan las características consideradas altamente críticas, las cuales no deben ser obviadas y su nivel de aceptación debe ser ponderado con mucha atención pues evidencian, en primera instancia, el cumplimiento de los objetivos vinculados directamente con la gestión de la organización.

Una vez satisfechos los requerimientos de uso y proporcionados los resultados esperados, se presentan en el siguiente grado de importancia las características del nivel 2, las cuales soportan la continuidad y eficiencia de las operaciones con la aplicación.

Por último en el nivel 3, se presentan las características que aseguraran, en el largo plazo, la continuidad en el uso de la aplicación. Resultaría ideal desarrollar un producto de software que logrará un alto grado de satisfacción en todas las características de calidad presentadas, sin embargo, existen restricciones que conllevan a tamizar y reducir el grado de cumplimiento de determinadas características de calidad. Medir el impacto de estas decisiones y evaluar el riesgo implícito es responsabilidad de los ingenieros de software.