Smart Quality Gates: IA aplicada a la ingeniería de calidad

Sogeti acaba de publicar un informe en el que desvela cómo la Inteligencia Artificial ha entrado a formar parte de nuestras vidas y su desarrollo se ha extendido a un ritmo cada vez mayor.

Publicado el 16 Nov 2021

Albert Tort, Sogeti Spain CTO & SogetiLabs Manager.

ha publicado recientemente su informe Estado de la AI aplicada a la ingeniería de calidad 2021-22, que habla de cómo la Inteligencia Artificial se ha convertido en una realidad para la mayoría de nosotros, proliferándose su desarrollo a un ritmo cada vez mayor, gracias en parte a los avances en la potencia de cálculo combinados con la eficiencia de los costes de almacenamiento.

Estas ha sido las principales conclusiones del informe

La creación y evolución de espacios de trabajo inteligentes es fundamental para una entrega de TI eficiente y orientada a la calidad, y ahora es posible gracias al aumento de las capacidades computacionales que permite la aplicación de la inteligencia artificial estrecha en el ámbito del aseguramiento de la calidad de los proyectos de software.

La adquisición de conocimientos en los proyectos de TI (mejora nuestro proceso de toma de decisiones), implica la recopilación de datos, su conversión en información y su uso como conocimiento para gestionar el proyecto, así como un proceso de aprendizaje continuo que acumula conocimientos como experiencia.

Dado que esta inteligencia puede estar fragmentada y almacenada implícitamente en el cerebro de los profesionales de proyectos humanos, y por lo tanto dar lugar a intuiciones, disputas subjetivas y sesgos cognitivos que violan el requisito de “lo que ves es lo que hay”, es recomendable hacer más explícito el proceso de inteligencia utilizado en DevOps como base para aumentar la inteligencia humana con inteligencia artificial.

El DevOps suele aplicarse mediante pipelines automatizados que definen los pasos explícitos necesarios para pasar el software del desarrollo a la producción. Para evitar que aumente el riesgo de aparición de defectos, se debe definir, implementar y orquestar un tipo especial de actividad de pipelines de DevOps llamada Quality Gates a lo largo del pipeline.

Quality Gates se define como una “certificación de que todo el trabajo apropiado requerido para hacer avanzar los productos -una puerta- a las actividades subsiguientes del proyecto ha sido completado y revisado, y el producto cumple con las expectativas de calidad específicas”. Cuando en el contexto DevOps se habla de Smart Quality Gates trata, se refiere a “hitos significativos y puntos de decisión con criterios predefinidos y centrados en la calidad”.

Este enfoque se aleja del método convencional de validación masiva tardía antes de la entrega del producto y se asemeja más a una serie continua de listas de comprobación (como cuando se opera un avión) para minimizar los riesgos y garantizar la consistencia de la calidad a lo largo del ciclo de vida.

Smart Quality Gates es un punto de decisión crítico con parámetros centrados en la calidad que pueden comprobarse automáticamente utilizando la inteligencia (humana y artificial) del proyecto. Dicha puerta tiene como objetivo mitigar los riesgos de calidad a medida que las contribuciones de software avanzan a través de los pipelines de DevOps.

Una vez implementadas en el servidor de trabajo correspondiente, cada puerta debe establecer conexiones con el sistema de inteligencia para cumplir sus requisitos de admisión. Además, el cálculo de la métrica debe aplicarse y su resultado tiene que exponerse a la capa de configuración y gestión de las Smart Quality Gates. El pipeline continuará o se cerrará, dependiendo de la gravedad. Del mismo modo, el comportamiento de notificación correspondiente se activará de acuerdo con la política de notificación.

El núcleo del enfoque de Smart Quality Gates es la creación, el mantenimiento y la evolución de un sistema de inteligencia capaz de proporcionar información como servicio a las implementaciones de Quality Gates para su uso en el espacio de trabajo de DevOps. Este marco de inteligencia debe recoger los datos de forma explícita y automática a través de conectores desde los distintos repositorios de datos del proyecto (casos de prueba, defectos, código, soporte a usuarios, etc.) y estructurarlos como un modelo de base de conocimiento.

Las Quality Gates tienen dos caras:

-La implementación técnica dentro de un pipeline basado en las conexiones y características de cálculo de la plataforma DevOps.

-La definición, comprobación y control de los criterios de salida (umbrales) y la gestión de las reacciones basadas en la ejecución y resultados de dichos criterios.

Y por eso se hace necesario un gestor de Quality Gates que establezca un desarrollo de una capa dedicada a gestionar y supervisar las Quality Gates de forma no técnica, incluyendo la configuración de los umbrales de los requisitos de salida, la gravedad y la política de notificación. Este gestor puede complementarse con la implementación de cuadros de mando automáticos que proporcionen la visión global sobre el estado de la calidad y la evolución de un proyecto, o del conjunto de proyectos de la organización (a través de Sogeti Dashboards, por ejemplo).

Los entornos DevOps pueden evolucionar a través de las siguientes etapas en relación con la madurez del sistema inteligente de Smart Quality Gates:

-Control de calidad reactivo en DevOps. No hay Smart Gates implementadas explícitamente dentro de los pipelines, por lo que las actividades de Aseguramiento de la Calidad no están estructuradas, son reactivas y no están integradas como actividades críticas en el proceso de entrega de TI.

-Quality Gates integradas en DevOps. Algunas Quality Gates se implementan como pasos de validación continua en los pipelines de DevOps, impulsados por acciones automatizadas, pero conectados directamente a un sistema inteligente explícito.

-Puertas de control de calidad inteligentes e integradas en DevOps. Se establece un sistema de inteligencia que actúa como proveedor de conocimiento inteligente para enriquecer las capacidades de las Quality Gates.

-Sistema de Smart Quality Gates, integrado y gestionado en DevOps. Además del nivel de recorrido anterior, se añade una capa no técnica para la gestión de las puertas del Aseguramiento de la Calidad, junto con un sistema de cuadros de mando.

Enfoque Smart Quality Gates

Dentro del enfoque de Smart Quality Gates, el objetivo principal es establecer un entorno de trabajo para ofrecer valor de TI basado en:

-Proporcionar inteligencia de forma sistemática.

-Orquestar las Quality Gates implementadas en los pipelines de DevOps.

-Proporcionar un análisis ejecutivo para la transparencia y la gestión.

Este enfoque también está basado en capas con el objetivo de asociar tanto a los profesionales técnicos como a los de negocio. Estos son los principales componentes del enfoque:

-Adquisición de datos a través de conectores desde repositorios de datos de proyectos que apoyan la gestión operativa de los mismos.

-Sistema de inteligencia que consolida, analiza y centraliza los datos de los proyectos y los convierte en una base de conocimiento, con modelos de IA (aprendizaje, predicción y analítica avanzada) para dotar de inteligencia a los pipelines DevOps.

-Implementación de las Quality Gates como estrategia de aseguramiento de la calidad incremental para reducir progresivamente los riesgos a medida que las nuevas contribuciones de software cruzan cada puerta.

-Una capa de configuración y gestión para configurar las Quality Gates en función de umbrales que reflejen el modelo de riesgos de calidad de una empresa para los profesionales de la empresa, incluso con conocimientos no técnicos.

-Un cuadro de mando global para la transparencia y la medición de la calidad que representa la calidad global del proyecto.

Cada modelo basado en la analítica y la IA requiere una estructura estandarizada de interfaces de programación de aplicaciones (API) para ser integrada en el sistema de inteligencia, que consiste en un conjunto de métodos que pueden ser utilizados en la implementación técnica de los pasos del pipeline, incluyendo los valores de entrada requeridos y los resultados esperados. Cada método de la API se convirtió en un trozo de servicio de inteligencia utilizable en los pipelines para construir las Quality Gates, pero se espera que incluya los siguientes elementos:

-Un modelo computacional que incluya métodos estadísticos o de estimación para proporcionar un análisis avanzado sobre los datos de origen. El modelo también puede utilizar técnicas de Procesamiento del Lenguaje Natural (PLN), arañas y análisis de sentimientos para el procesamiento, el análisis y la transformación de los datos.

-Un nivel de confianza computable sobre los resultados del modelo.

-Técnicas basadas en la IA (machine learning) para el aprendizaje incremental basado en datos anteriores.

Cada uno de los trozos de servicio de inteligencia (descriptivo, prescriptivo y predictivo) constituye el cerebro de control de calidad en evolución para apoyar automáticamente los proyectos y mejorar las Quality Gates para ser más inteligentes e integradas en el espacio de trabajo de DevOps.

¿Qué te ha parecido este artículo?

Tu opinión es importante para nosotros.

R
Redacción RedesTelecom

Artículos relacionados

Artículo 1 de 5