Skip to main content

Comme vous le savez sans doute, en ingénierie logicielle, la gestion de configuration logicielle (GCL) désigne un processus visant à maintenir les systèmes informatiques, les serveurs et les logiciels dans un état désiré et cohérent. 

Parfois appelée gestion des changements logiciels ou automatisation informatique, l’idée consiste à disposer d’un système permettant de suivre et de comparer les modifications apportées à un système tout au long du processus de développement logiciel et également d’identifier l’auteur de ces révisions.

L’objectif est de faciliter la gestion de projet, de minimiser les erreurs, d’accroître la traçabilité et d’améliorer la qualité globale du logiciel. 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Les avantages d’un processus de GCL sont les suivants :

  • Mises à jour multi-utilisateurs : Il est courant que plusieurs personnes travaillent sur le développement logiciel, ce qui implique des mises à jour et des changements constants. La GCL permet de suivre tout le code et toutes les configurations déployés en production (c’est-à-dire un audit de configuration) et introduit également la traçabilité en déterminant quel contributeur a effectué chaque modification.
  • Productivité : La GCL améliore la productivité des logiciels en garantissant un minimum d’erreurs. Par exemple, vous pouvez toujours vous assurer que vos environnements de test et de production correspondent.
  • Communication et collaboration : La communication entre les membres de l’équipe est facilitée avec la GCL, ce qui permet aux parties prenantes du projet de collaborer plus simplement et d’améliorer la qualité du produit. 
  • Tests sur plateformes et systèmes d’exploitation : Veiller à ce que le logiciel fonctionne efficacement sur différentes plateformes et systèmes d’exploitation. 
  • Prise en charge des changements : La GCL facilite la prise en compte des évolutions de calendrier, de politique et d’utilisateurs.
  • Contrôle des coûts : En suivant les membres de l’équipe et le circuit du projet, la GCL contribue à maîtriser les coûts et à accroître l’efficacité.

Dans cet article, je vais passer en revue les différentes étapes d’un processus de GCL, les personnes à impliquer et les outils disponibles pour vous aider.

Les 5 étapes d’un plan de GCL

Le processus de gestion de configuration logicielle consiste en une série d’étapes destinées à suivre et gérer tous les défauts, ressources, codes, documents, matériels et budgets tout au long d’un projet.

La GCL est un processus interdisciplinaire impliquant des personnes à tous les niveaux, y compris DevOps, développeurs, chefs ou propriétaires de projet, administrateurs système et testeurs. 

1. Planification et identification

La première étape du processus est la planification et l’identification. Elle consiste à planifier le développement du projet logiciel et à identifier les éléments relevant de son périmètre. Ceci est réalisé lors de réunions et de séances de réflexion avec l’équipe pour déterminer les critères de base du reste du projet. 

Une partie de ce processus consiste à déterminer le déroulement du projet et à identifier les critères de sortie. Ainsi, votre équipe saura comment reconnaître l’atteinte de tous les objectifs du projet. 

Les activités spécifiques à cette étape incluent :

  • Identifier des éléments comme les cas de test, les exigences de spécification et les modules de code
  • Identifier chaque élément de configuration logicielle dans le processus
  • Regrouper les détails de base sur les raisons, le moment et la nature des changements, ainsi que sur la personne responsable de leur mise en œuvre
  • Établir une liste des ressources nécessaires, telles que les outils, fichiers, documents, etc.

2. Gestion des versions et de la référence

L’étape de gestion des versions et de la référence garantit l’intégrité continue du produit en identifiant une version acceptée du logiciel. Cette référence est établie à un moment précis du processus de GCL et ne peut être modifiée que par une procédure formelle. 

Le but ici est de contrôler les modifications apportées au produit. À mesure que le projet progresse, de nouvelles références sont établies, générant ainsi plusieurs versions du logiciel.  

Cette étape inclut les activités suivantes :

  • Identifier et classifier les composants couverts par le projet
  • Développer un moyen de suivre la hiérarchie des différentes versions du logiciel
  • Identifier les relations essentielles entre les différents composants
  • Établir différentes références pour le produit, notamment de développement, fonctionnelles et produit final
  • Mettre au point une convention de nommage standardisée pour tous les produits, révisions et fichiers afin d’assurer que l’équipe travaille de manière homogène.

La mise en référence d’un attribut de projet impose la mise en œuvre de processus formels de contrôle des changements de configuration en cas de modification de ces attributs. 

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

3. Contrôle des changements

Le contrôle des modifications est la méthode utilisée pour garantir que toute modification effectuée reste cohérente avec le reste du projet. Mettre en place ces contrôles aide à l’assurance qualité, ainsi qu’à l’approbation et à la publication de nouvelles lignes de base. Le contrôle des modifications est essentiel à la réussite du projet. 

À cette étape, les demandes de modification des configurations sont soumises à l’équipe et approuvées ou refusées par le responsable de la configuration logicielle. Les types de demandes les plus courants sont l’ajout ou la modification de divers éléments de configuration ou le changement des autorisations des utilisateurs.

Cette procédure inclut :

  • Contrôler les changements ponctuels demandés par le client
  • Vérifier la pertinence de la demande de modification en examinant l’impact global qu’elle aura sur le projet
  • Effectuer les modifications approuvées ou expliquer la raison du refus d’une demande de modification.

4. Suivi de l’état de la configuration

L’étape suivante consiste à s’assurer que le projet évolue conformément au plan en testant et en vérifiant selon les lignes de base prédéfinies. Cela implique de consulter les notes de version et la documentation associée pour garantir que le logiciel répond à toutes les exigences fonctionnelles. 

Le suivi de l’état de la configuration permet de tracer chaque version publiée au cours du processus, d’évaluer les nouveautés de chaque version ainsi que les raisons de ces changements. Voici quelques-unes des activités liées à cette étape :

  • Enregistrer et évaluer les changements réalisés d’une ligne de base à l’autre
  • Surveiller le statut et la résolution de chaque demande de modification
  • Tenir à jour la documentation pour chaque changement réalisé suite à une demande de changement et pour atteindre une nouvelle ligne de base
  • Consulter les versions précédentes pour analyse et tests.

5. Audits et revues

L’étape finale consiste en une révision technique de chaque phase du cycle de vie de développement logiciel. Les audits et revues examinent le processus, les configurations, le flux de travail, les demandes de changement et tout ce qui a contribué à l’établissement de chaque ligne de base tout au long du projet. 

L’équipe effectue de multiples revues de l’application afin de vérifier son intégrité et d’élaborer également la documentation essentielle qui l’accompagne, comme les notes de version, les manuels d’utilisation et les guides d’installation.

Les activités de cette étape incluent :

  • S’assurer que les objectifs définis lors de la planification et de l’identification sont atteints
  • Veiller à ce que le logiciel soit conforme aux normes de contrôle de configuration identifiées
  • Vérifier que les changements apportés aux lignes de base sont cohérents avec les rapports
  • Valider que le projet est cohérent et complet selon les objectifs du projet.

Contrairement aux systèmes de fichiers traditionnels, un logiciel de gestion de base de données spécialisé peut offrir des fonctionnalités avancées telles que l’intégrité et la sécurité des données, qui sont essentielles pour une gestion efficace de la configuration logicielle.

Qui est impliqué dans le processus de configuration logicielle ?

Le processus de gestion de la configuration logicielle (SCM) est multidisciplinaire et implique pratiquement tous les membres de l’équipe de développement.

Responsable de la configuration

Le responsable de la configuration est chargé de déterminer qui est responsable de quoi tout au long du processus de développement. Il veille à ce que tout le monde suive le processus SCM sur l’ensemble du projet et prend la décision finale concernant toutes les demandes de modification. 

Chef de projet

Le rôle du chef de projet est essentiel dans le processus SCM. Il définit la durée du projet pour garantir le respect des délais et rédige également des rapports sur l’avancée de l’équipe. Un autre rôle important du chef de projet est de veiller à ce que chaque membre de l’équipe respecte les consignes établies pour la création, la modification et le test du logiciel.

Développeurs logiciels

Les développeurs sont responsables de la rédaction du code durant le développement ainsi que de la prise en compte des changements approuvés. 

Auditeur

Ce rôle est responsable de tous les audits et revues et doit s’assurer que la version finale est complète et cohérente.

Quels sont les avantages de l’utilisation d’outils de gestion de configuration ?

Il existe de nombreux outils permettant de faciliter la gestion de la configuration logicielle. Leur objectif est d’automatiser des tâches traditionnellement manuelles, ce qui accroît la précision, la rapidité et le contrôle. Plus précisément, ils peuvent aider à :

  • Alertes et rapports : Un bon outil de gestion de configuration logicielle (SCM) fournira des alertes et des rapports en cas d’écarts par rapport à la base de référence convenue. Ces données seront transmises en quasi temps réel, permettant aux responsables d’agir rapidement si quelque chose dévie. 
  • Suivi des modifications : Les outils SCM suivront automatiquement les changements apportés aux serveurs ou aux applications et permettront également la saisie manuelle de ces données. L’audit des modifications peut aussi être effectué grâce à la surveillance des sorties de scripts. 
  • Comparaisons de configuration : Les meilleurs outils de gestion de configuration logicielle proposent un moyen d’identifier les différences entre différentes configurations.
  • Résolution de problèmes accélérée : Les erreurs, maladresses et problèmes sont rapidement identifiés afin que les développeurs puissent intervenir avant que le problème ne prenne de l’ampleur. 
  • Suivi des inventaires : La plupart des outils SCM intègrent un dispositif de suivi des actifs matériels et logiciels pour vous éviter de tenir une liste manuelle. 
  • Gestion des correctifs : Les outils SCM peuvent vous aider à suivre tous les détails liés à la gestion des correctifs lors du déploiement des mises à jour logicielles. 

Y a-t-il des inconvénients à utiliser un outil de gestion de configuration logicielle ?

Quelques points sont à prendre en considération avant d’adopter un outil SCM, notamment :

  • Consommation de ressources : Il faut disposer de ressources suffisantes pour soutenir le processus de bout en bout 
  • Limites de connaissances : Toutes les personnes impliquées doivent posséder une connaissance approfondie des outils de gestion logicielle utilisés
  • Désavantage pour les PME : L’ampleur des besoins nécessaires à l’utilisation efficace de ces outils peut être difficile à supporter pour une petite entreprise
  • Spécifications matérielles : Du matériel rapide et bien configuré est requis pour garantir le bon déroulement du processus.

En résumé sur la gestion de configuration logicielle

J’ai présenté ci-dessus un aperçu général de ce que vous devez savoir pour mettre en place un processus de gestion de configuration logicielle afin de suivre, contrôler et gérer vos projets. 

Les outils SCM, tels que Ansible ou TeamCity, permettent d’automatiser de nombreux aspects du processus et offrent un excellent retour sur investissement. Vous pouvez consulter notre sélection dans l’article 10 meilleurs outils de gestion de configuration logicielle.
Le domaine de la gestion de configuration logicielle et de l’assurance qualité évolue rapidement. Abonnez-vous à la newsletter The QA Lead pour recevoir directement dans votre boîte de réception des conseils, astuces et outils utiles.

Ou poursuivez votre apprentissage en écoutant ce podcast : LA GÉNÉRATION DE L’AUTOMATISATION AUTONOME ET À QUOI ELLE RESSEMBLE (AVEC BERTOLD KOLICS DE MABL) ou en consultant cette liste : 10 DERNIERS OUTILS DE TEST LOGICIEL UTILISÉS PAR LES QAS