État de l'Intelligence Artificielle appliquée à l'Ingénierie de la Qualité 2021-2022
Section 3.1 : Mesures

Chapitre 1 par Sogeti

Portails Qualité Intelligents

Métier ●●●○○
Technique ●●○○○

 

Download the "Section 3.1: Inform & Measure" as a PDF

Use the site navigation to visit other sections and download further PDF content

By submitting this form, I understand that my data will be processed by Sogeti as described in the Privacy Notice.*

La fourniture de solutions informatiques axées sur la qualité requiert de l'intelligence, qui peut être renforcée par l'utilisation de "portail de qualité" intelligents. Ces barrières peuvent être déployées progressivement en fonction de la maturité du parcours DevOps.

Nous savons tous que les activités numériques exigent à la fois l'efficacité et un état d'esprit axé sur la qualité. Si le cadre CALMS (Culture, Automation, Lean, Measurement and Sharing) de Jez Humble[1] peut nous aider à ouvrir la voie vers une livraison plus efficace, la recherche de la qualité nécessite une stratégie de test et d'assurance qualité en continu[2]. Ces deux principes doivent être poursuivis dans un contexte de ressources limitées, d'où la nécessité d'analyser, de raisonner, de hiérarchiser et de choisir constamment entre plusieurs solutions.
Comme le disait l'écrivain John Ruskin, "La qualité n'est jamais un accident. Elle est toujours le résultat d'un effort intelligent". En effet, le terme "intelligence" dérive directement des mots latins intelligentia et intelligere, qui signifient "comprendre, appréhender, arriver à connaître", et il est la combinaison de deux mots primaires : inter (entre) et legere (choisir). En résumé, la fourniture de solutions informatiques nécessite de l'intelligence pour maintenir un équilibre constant entre risque et qualité lors de la livraison de la valeur commerciale [3].

Dans ce chapitre, nous proposons une stratégie pour développer une base d'intelligence afin de soutenir et d'enrichir les barrières de qualité des projets. Naturellement, un ensemble de métriques améliorées est également nécessaire pour augmenter notre intelligence, ce que nous examinerons plus en détail dans le prochain chapitre.


[1] R. Marselis, B. van Veendendaal, D. Geurts y W. Ruigrok, Quality for DevOps teams, Sogeti, 2020 
[2] Sogeti, «Continuous Testing Report,» 2020
[3] A. Tort, «Is (Artificial) Intelligence Needed for Testing?,» SogetiLabs blog, 2018

Premier pas avec les portails intelligents

La création et l'évolution d'espaces de travail intelligents sont essentielles pour une prestation informatique efficace et axée sur la qualité, et cela est désormais possible grâce à l'augmentation des capacités de calcul (basée sur la célèbre "loi de Moore") qui permet l'application d'une intelligence artificielle étroite au domaine de l'assurance qualité des projets logiciels[4]. Le Rapport mondial sur la qualité 2020[5] conclut que les cas d'utilisation tels que "la sélection et l'optimisation prédictives des tests", "l'optimisation du calendrier et de l'effort de test sans risque", "la prédiction des risques liés aux versions" ou "la correction automatisée des défauts". Pour améliorer notre processus de décision, nous devons acquérir et appliquer des connaissances. L'acquisition de connaissances dans le cadre de projets informatiques implique la collecte de données, leur conversion en informations et leur utilisation en tant que connaissances pour gérer le projet, ainsi qu'un processus d'apprentissage continu qui accumule des connaissances au fil de l'expérience.
Cette intelligence peut être fragmentée et stockée implicitement dans le cerveau des professionnels de projet humains. En raison des contraintes de la mémoire humaine, des contextes de connaissances excessifs, de l'ambiguïté ou de la nécessité d'agir rapidement [6], il en résulte souvent des intuitions, des différends subjectifs et des biais cognitifs qui violent l'exigence du "ce que vous voyez est ce qu'il y a" (WYSIATI). En comparaison, nous recommandons de rendre plus explicite le processus d'intelligence utilisé dans DevOps comme base pour augmenter l'intelligence humaine avec l'intelligence artificielle.
DevOps est généralement appliqué par (autant que possible) des pipelines automatisés qui définissent les étapes explicites requises pour faire passer un logiciel du développement à la production. Cependant, à mesure que les nouvelles contributions logicielles évoluent vers la production par le biais d'activités de développement et de déploiement, le risque de défauts augmente, car chaque opération peut entraîner une variété de défauts potentiels. Par conséquent, un type spécial d'activité du pipeline DevOps, appelé Quality Gates, doit être défini, mis en œuvre et orchestré tout au long du pipeline.


[4] Sogeti, «AI First: Learning from the machine,» 2017
[5] Sogeti, Capgemini and Microfocus, «World Quality Report,» 2020
[6] D. Kahneman, Thinking, Fast and Slow, 2011

Un changement de valeur évident

Les portails de qualité sont définis comme une "certification que tous les travaux nécessaires pour faire avancer les produits -un portail- vers des activités de projet ultérieures ont été réalisés et révisés, et que le produit répond aux attentes de qualité spécifiques". Notre définition des Quality Gates intelligentes pour les contextes DevOps est basée sur [7] : "Des jalons et des points de décision significatifs avec des critères prédéfinis et axés sur la qualité". Cependant, dans de nombreux contextes, les portes de qualité ont été simplement conçues comme des listes de contrôle ou des signatures formelles qui indiquent l'achèvement d'un artefact de développement logiciel particulier. De plus, ces types de barrières de qualité étaient renseignés et contrôlés manuellement, en utilisant souvent des critères de passage binaires.

Notre approche est diamétralement opposée à l'approche conventionnelle d'une étape de validation massive et tardive avant la livraison du produit, et s'apparente davantage à une série continue de listes de contrôle (comme lors de l'exploitation d'un avion) pour minimiser les risques et assurer la cohérence de la qualité tout au long du cycle de vie.

En adaptant ce concept à notre contexte, nous décrivons une porte de qualité intelligente comme un point de décision critique avec des paramètres axés sur la qualité qui peuvent être testés automatiquement en utilisant l'intelligence (humaine et artificielle) du projet. Une telle porte vise à atténuer les risques de qualité à mesure que les contributions logicielles progressent dans les pipelines DevOps.

n tenant compte de cette définition, le tableau ci-dessous présente les principaux composants d'une porte de qualité.

Composants des portails Qualité (Quality Gates )
Composant Description
Critères d'entrée Sous-ensemble de données d'entrée du projet qui doit être pris en compte par la porte de qualité.
Mesure des critères de sortie Mesure calculée (automatiquement ou semi-automatiquement) de la qualité actuelle du projet. Cette mesure calculable peut être une simple entrée, un simple calcul ou l'exécution d'un modèle basé sur l'analyse avancée et l'IA.
Seuil du critère de sortie Un seuil configurable (valeur de décision), dont la signification est directement liée à la réduction des risques. Le portail qualité sera franchie si la valeur métrique des critères de sortie à chaque instant est supérieure à ce seuil.
Unité de mesure des critères de sortie L'unité de mesure dans laquelle le seuil est calculé.
Gravité Elle définit le type de réaction lorsqu'une porte de qualité échoue. La réaction par défaut est d'arrêter le pipeline et de refuser la contribution du logiciel. Une alternative est de fournir seulement un avertissement, mais pas d'arrêter le pipeline.
Politique de notification Elle définit la politique de notification pour les portes de qualité réussies et échouées.

[7] T. Flohr, «Defining Suitable Criteria for Quality Gates,» de International Conferences on Software Process and Product Measurement, 2008

Déployer un portail qualité

Les portails qualité doivent être mises en œuvre dans le serveur de tâches d'orchestration correspondant en tant qu'étapes de pipeline. Nous avons déployé des quality gates dans diverses plateformes, comme Azure DevOps, Jenkins, Bamboo et GitLab. Chaque portail qualité doit établir des connexions avec le système de renseignement afin de répondre à ses exigences d'admission.

En outre, le calcul de la métrique doit être appliqué, et sa sortie doit être exposée à la couche de configuration et de gestion des Quality Gates. Le pipeline sera soit poursuivi, soit arrêté, en fonction de la gravité. De même, le comportement de notification correspondant sera activé conformément à la politique de notification.

Le cœur de l'approche Smart Quality Gates est la mise en place, la maintenance et l'évolution d'un système d'intelligence capable de fournir des informations en tant que service aux implémentations Quality Gates pour une utilisation dans l'espace de travail DevOps.

Le système d'intelligence doit collecter des données de manière explicite et automatique par le biais de connecteurs à partir des différents référentiels de données du projet (cas de test, défauts, code, support utilisateur, etc.) et les structurer sous forme de modèle de base de connaissances.

En outre, des modèles analytiques et cognitifs avancés peuvent être mis en œuvre pour fournir des fonctions de renseignement avancées qui sont exposées aux portails qualité mis en œuvre dans les pipelines DevOps via des interfaces de programmation d'applications (API). Ces portails  qualité peuvent également renvoyer des critères de sortie qui peuvent être utilisés pour enrichir les procédures d'apprentissage au sein du système de renseignement.

La nécessité d'un responsable de portails Qualité

Nous avons observé dans de nombreux contextes DevOps que les portails qualité ont deux aspects distincts :

  • L'implémentation technique au sein d'un pipeline basé sur les connexions et les fonctionnalités de calcul de la plateforme DevOps.
  • La définition, la vérification et le contrôle des critères de sortie (seuils) et la gestion des réactions basées sur l'exécution et les résultats de ces critères.

Nous suggérons que la gestion et l'exploitation des deux parties soient explicitement séparées, notamment parce qu'elles sont attribuées à des rôles de projet distincts. C'est pourquoi nous préconisons le développement d'une couche dédiée à la gestion et au suivi des portails Qualité d'une manière non technique, y compris la configuration des seuils de sortie, de la gravité et de la politique de notification.

La figure ci-dessous montre un exemple de mise en œuvre réalisée par Sogeti pour gérer les portails Qualité du point de vue des risques commerciaux.

Figure. Example screenshot of Quality Gates Configuration & Management Layer


Figure. Exemple de capture d'écran de la couche de configuration et de gestion des portails Qualité

Le gestionnaire de portails Qualité peut être complété par la mise en œuvre de tableaux de bord automatiques qui fournissent une vue d'ensemble de l'état et de l'évolution de la qualité d'un projet, ou de l'ensemble des projets de l'organisation. La mise en œuvre de cette couche peut se faire par le biais de tableaux de bord (developpé par Sogeti), mais en utilisant la plupart des systèmes d'intelligence artificielle comme source d'entrée.

Un déploiement progressif basé sur la maturité

Nous mettons en œuvre l'approche des portails de qualité intelligents de manière incrémentielle, en nous appuyant sur trois dimensions : (1) un parcours de maturité du système smart quality gates, (2) l'ajout et l'enrichissement progressifs des smart gates, et (3) l'évolution du système intelligent.

De cette façon, les environnements DevOps peuvent évoluer à travers les étapes suivantes en ce qui concerne le système de portes de qualité intelligentes :

  1. Assurance Qualité réactive dans DevOps. Aucune portail qualité n'est explicitement mise en œuvre dans les pipelines, de sorte que les activités d'AQ sont non structurées, réactives et non intégrées en tant qu'activités critiques dans le processus de livraison informatique.
  2. Portails Qualité intégrés dans DevOps. Certaines portails Qualité sont mises en œuvre en tant qu'étapes de validation continue dans les pipelines DevOps, renforcées par des actions automatisées, mais directement connectées à un système intelligent explicite.
  3. Portails Qualité intelligents et intégrés dans DevOps. Un système intelligent est mis en place pour agir comme un fournisseur de connaissances intelligent afin d'enrichir les capacités des portails d'assurance qualité.
  4. Système de portails Qualité intelligent, intégré et géré dans DevOps. En plus du niveau de parcours précédent, une couche non technique pour la gestion des portails Qualité est ajoutée, conjointement avec un système de tableaux de bord.

Système de portails Qualité intelligent, intégré et géré au sein de DevOps
La figure ci-dessous montre l'aperçu général de notre approche Portails Qualité intelligents (ou Smart Quality Gates). L'objectif principal est de mettre en place un environnement de travail permettant d'apporter une valeur ajoutée à l'informatique en se basant sur les éléments suivants

  1. La fourniture systématique d'informations.
  2. Orchestrer les portails Qualité mises en œuvre dans les pipelines DevOps.
  3. Fournir une analyse exécutive pour la transparence et la gestion.

Cette approche est également basée sur des couches, dans le but d'associer les professionnels techniques et commerciaux. Voici les principaux composants de l'approche :

  • Acquisition de données par le biais de connecteurs à partir de référentiels de données de projets qui soutiennent la gestion opérationnelle des projets.
  • Système d'intelligence qui consolide, analyse et centralise les données de projet et les transforme en une base de connaissances, avec des modèles d'IA (apprentissage, prédiction et analyse avancée) pour fournir de l'intelligence aux pipelines DevOps.
  • La mise en œuvre de portails Qualité en tant que stratégie d'assurance qualité incrémentielle pour réduire progressivement les risques à mesure que les nouvelles contributions logicielles franchissent chaque porte.
  • Une couche de configuration et de gestion permettant de configurer les portiques de qualité en fonction de seuils qui reflètent le modèle de risques de qualité de l'entreprise pour les professionnels de l'entreprise, même avec des compétences non techniques.
  • Un tableau de bord global pour la transparence et la mesure de la qualité qui décrit la qualité globale du projet.
Figure. Smart Quality Gates approach overview


Figure : Aperçu de l'approche "portails Qualité intelligents"

Chaque modèle analytique et basé sur l'IA nécessite une structure API normalisée à intégrer dans le système d'intelligence, composée d'un ensemble de méthodes pouvant être utilisées dans la mise en œuvre technique des étapes du pipeline, y compris les valeurs d'entrée requises et les sorties attendues. Chaque méthode API devient un morceau de service de renseignement utilisable dans les pipelines pour construire les portails Qualité, mais il est censé inclure les éléments suivants :

  • Un modèle de calcul qui inclut des méthodes statistiques ou d'estimation pour fournir une analyse avancée sur les données sources. Le modèle peut également utiliser des techniques de traitement du langage naturel (NLP), des spiders et des analyses sentimentales pour le traitement, l'analyse et la transformation des données.
  • Un niveau de confiance calculable concernant les résultats du modèle.
  • Des techniques basées sur l'IA (apprentissage automatique) pour l'apprentissage incrémental sur la base des données précédentes.

Chaque fragment de service d'intelligence (descriptif, prescriptif et prédictif) constitue le cerveau évolutif de l'AQ pour soutenir automatiquement les projets et améliorer les portes de qualité afin d'être plus intelligent et intégré à l'espace de travail DevOps.

Cas d'utilisation : Création d'un espace d'assurance qualité intelligent dans le secteur de la gestion de l'eau

Ces portails Qualité Smart QA Gates sont introduits progressivement sur une période de trois ans pour l'une des principales sociétés de services environnementaux du monde sur le marché de la gestion de l'eau. Trois obstacles importants ont dû être surmontés :

  1. Mettre davantage l'accent sur l'assurance qualité et l'organiser pour qu'elle soit plus transparente, structurée et assistée.
  2. Convertir les activités de test statique en portails d'assurance qualité qui facilitent la transition agile/DevOps.
  3. Définir, mesurer et surveiller les objectifs d'optimisation à l'aide de métriques et d'indicateurs clés de performance (ICP) soutenus par des analyses avancées et l'intelligence artificielle.

Pour répondre à ces questions, un plan de maturité de l'AQ a été élaboré et accompagné d'une mise en œuvre progressive de portails d'AQ intelligents :

  • Phase 0. Préparation à des activités de test et d'AQ robustes.
    La feuille de route a commencé par une évolution significative des opérations d'AQ, suivie de la définition et de la mise en œuvre, en tant que quick wins, d'indicateurs clés de performance simples et de tableaux de bord visuels permettant à la direction de surveiller la qualité. Ces mesures ont nécessité l'adaptation de connecteurs et d'algorithmes analytiques spécifiques au contexte diversifié des multiples fournisseurs de développement, sources de données et parties prenantes.
  • Phase 1. De l'AQ réactive dans DevOps aux portes d'AQ intégrées dans DevOps.
    Les résultats de la phase 0 ont servi de base à la poursuite du voyage de transition agile et DevOps. En outre, une culture de la métrique a été introduite comme source de connaissances pour piloter la progression de certains domaines et initiatives dans les pipelines.
  • Phase 2. Passage à un système d'assurance qualité intelligent pour les projets.
    Les mesures, tableaux de bord et informations individuels et isolés utilisés pour piloter des filières spécifiques ont été mis à l'échelle et centralisés au niveau de l'organisation pour créer un véritable cadre d'intelligence. Son objectif principal est d'ajouter de la valeur aux décisions opérationnelles et de faciliter le fonctionnement des pipelines automatisés. Au cours de cette phase, quatre modèles basés sur l'IA ont été introduits dans ce processus afin d'étendre les capacités prédictives du système d'intelligence (risque lié aux exigences, hiérarchisation des cas de test, vérification des défauts et de la duplication des cas de test, et un modèle d'apprentissage automatique pour relever le défi du maintien à jour des cas de test de régression). Ces modèles basés sur l'IA ont contribué à accroître la confiance et les capacités intelligentes de la solution. Les résultats des processus de test et de qualité du code, tant automatisés que manuels, ont été introduits comme sources de données pour diverses technologies et plateformes (web, SAP, mobile,...), tandis que le système d'intelligence alimentait également les pipelines de projet pour divers environnements.
  • Phase 3. Vers un système de portails d'AQ intelligent, intégré et géré.
    Comme le nombre de pipelines, de modèles et de tableaux de bord augmente dans l'entreprise, la phase actuelle se concentre sur le développement d'un espace de travail basé sur les rôles (techniques et commerciaux) pour gérer les pipelines améliorés par le cadre intelligent. En outre, des tableaux de bord de gestion et des indicateurs de retour sur investissement pour les activités d'assurance qualité ont été ajoutés.

About the author

Albert Tort

Albert Tort

Albert Tort is a software engineering and agile digital assurance & testing passionate with more than 10 years of experience. He is currently the CTO of Sogeti Spain and the country lead of Sogeti Labs. He was a researcher and teacher at UPC-BarcelonaTech where he specialized in requirements engineering, conceptual modelling, quality of information systems and testing. His PhD thesis was titled "Testing and Test-Driven Development of Conceptual Schemas", and he is author of several publications in specialized journals. He has also participated in international conferences. Currently, he also coordinates the postgraduate studies in Software Quality Assurance at the School of Professional & Executive Development of the Technical University of Catalonia.

About Sogeti

Part of the Capgemini Group, Sogeti operates in more than 100 locations globally. Working closely with clients and partners to take full advantage of the opportunities of technology, Sogeti combines agility and speed of implementation to tailor innovative future-focused solutions in Digital Assurance and Testing, Cloud and Cybersecurity, all fueled by AI and automation. With its hands-on ‘value in the making’ approach and passion for technology, Sogeti helps organizations implement their digital journeys at speed.

Visit us at www.sogeti.com

Capgemini is a global leader in partnering with companies to transform and manage their business by harnessing the power of technology. The Group is guided everyday by its purpose of unleashing human energy through technology for an inclusive and sustainable future. It is a responsible and diverse organization of 270,000 team members in nearly 50 countries. With its strong 50 year heritage and deep industry expertise, Capgemini is trusted by its clients to address the entire breadth of their business needs, from strategy and design to operations, fueled by the fast evolving and innovative world of cloud, data, AI, connectivity, software, digital engineering and platforms. The Group reported in 2020 global revenues of €16 billion.
Get the Future You Want!