Certificación de la calidad del software en la nube: La calidad del software al alcance de todos

Hace ya décadas que en la industria del software, se viene hablando de la importancia del aseguramiento y control de la calidad (SQA). Esta actividad, tendría como principal finalidad, la de garantizar que los resultados del desarrollo del software, e indirectamente el proceso seguido para ello, son los esperados por los destinatarios del mismo.

Hay varios objetivos detrás de esto, que han ido variando según el contexto de la industria: ser un elemento diferencial respecto a la competencia, reducción de los costes del mantenimiento, cumplimiento normativo, estandarización de los procedimientos y entregables, etc.

Con el tiempo, han ido formalizándose Modelos de Calidad, Procesos y Metodologías, se han definido nuevos roles, han aparecido herramientas para la automatización y gestión de estas tareas, y más recientemente, se han establecido conjuntos de métricas e indicadores, que agrupados en “cuadros de mando”, ayudan al nivel ejecutivo de las organizaciones de TI, a gobernar mejor la calidad del software.

Una vez que una organización consigue cuantificar y mostrar el “valor de negocio” (business case) de esta función, se puede decir que ésta alcanza su nivel de madurez, momento en el que es más fácil justificar las inversiones para garantizar su correcta aplicación, ya sea como una función más dentro de la organización, o como un servicio externalizado de certificación de la calidad.

La nube
Por otro lado, desde el punto de vista de la arquitectura tecnológica de los sistemas software y las aplicaciones, es una realidad que el modelo de Software as a Service (SaaS), y todas sus variantes e implicaciones, a las que comúnmente, y de forma genérica nos referimos con el concepto de “la nube”, están introduciéndose de forma acelerada y cada vez más, en las agendas de todas las áreas de TI.

En un contexto competitivo y de reducción de costes como el actual, el cual conlleva una constante racionalización de los activos software de las organizaciones, está claro que el “mapa software” de sus aplicaciones ha comenzado a cambiar.

Todavía está por verse el alcance de lo que esto implicará, ya que se abren nuevas interrelaciones y dependencias entre elementos técnicos y organizativos, que quedan fuera de su control.

Partimos pues de la base de que, en mayor o menor medida, con más o menos consciencia, ha comenzado a producirse la adopción de este nuevo modelo de Sistemas de Información.


SQA en la Nube

Nuevos escenarios
Esta adopción impacta en la forma en qué se ha venido concibiendo la actividad de aseguramiento y control de la calidad de las aplicaciones software.

De hecho, se abren dos nuevos escenarios:


  • Aseguramiento de la calidad de componentes “externos” a nuestras aplicaciones.
  • Certificación de la calidad de nuestro software como un servicio externalizado en la nube.


En este artículo, nos vamos a centrar en el segundo de ellos, que podríamos llamar como el subtítulo del artículo: “Certificación de la calidad del software en la nube”.

Certificación de la calidad del software en la nube
Este servicio permite a las organizaciones de TI clientes la certificación de la calidad del código fuente de sus aplicaciones, de forma automática y sin la necesidad de disponer de un departamento propio para ello.

Los análisis que sobre el código se podrán realizar en esta modalidad podrían comprender (dependiendo del proveedor del mismo), uno o varios de los siguientes:


  • Cumplimiento normativo, en base a la verificación del cumplimiento de reglas y buenas prácticas de programación y diseño existentes en la industria o propias del cliente.
  • Obtención de métricas, tales como de complejidad, diseño, volumetría.
  • Código duplicado.
  • Potenciales defectos.
  • Dependencias.


Operativa

La operativa a seguir es la siguiente, y queda reflejada en la figura:


  1. El cliente contrata con un proveedor la prestación del servicio de certificación del código, para aquellas tecnologías que necesite, teniendo a partir de entonces acceso, a la “zona cliente” del portal de dicho proveedor, mediante un protocolo seguro.
  2. Cuando el cliente necesite realizar un análisis, con la ayuda de utilidades para ello, “subirá” el código al portal. Se valida de forma automática que dicho código se haya subido correctamente, se comprueban las tecnologías del código subido, y, en base a ellas y a su volumen (medido en líneas de código, número de componentes, o tamaño en KB), el portal dará al cliente la estimación del coste del análisis solicitado. Tras la aceptación por parte del cliente, el portal estará en grado de proceder al análisis del código.
  3. Una vez realizado el análisis, se elimina el código subido para salvaguardar la privacidad del mismo y el cliente podrá consultar los resultados, a nivel resumido o detallado, en pantalla o mediante un informe.
  4. En función de la opción contratada, los resultados se podrán conservar para estudiar la evolución de las métricas e indicadores en futuros análisis.


Beneficios

Los beneficios más significativos que un servicio como el descrito puede proporcionar a los clientes son:


  • Acortar la curva de adopción de la función de certificación de la calidad del software (si todavía no existe de forma orgánica en el cliente).
  • Reducir los costes de implantación de esta función (no requiere la contratación de personal especialista, ni su formación, como tampoco la compra de software y hardware).
  • Permite abordar “picos” de trabajo de esta actividad, ajustándola a las necesidades de negocio del cliente.


checKing In the Cloud
checKing in the Cloud (www.checkinginthecloud.com) es un ejemplo de este tipo de servicios.

Proporcionado por Optimyth Software (<a href="http://www.

TE PUEDE INTERESAR...

CASOS DE ÉXITO

Accede a nuestra publicación de canal

DealerWorld Digital

Documentos ComputerWorld

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS