Développez et transformez vos environnements technologiques pour supporter les stratégies de votre entreprise et placer l’innovation au cœur de vos opérations
En savoir plusMaximisez votre potentiel sur le marché avec un programme partenaire offrant des solutions LeanIX adaptées à votre modèle d’entreprise
En savoir plusPassez au niveau supérieur en vous dotant des connaissances et des outils dont vous avez besoin
Voir tous les documentsQue sont les artefacts logiciels et pourquoi sont-ils à la base du développement logiciel ? Découvrez les différents types d’artefacts et pourquoi tous les développeurs en ont besoin.
Que sont les software artifacts (artefacts logiciels) et qu’ont-ils en commun avec les artefacts historiques ? Tout comme ces derniers, un artefact logiciel est le fruit d’efforts humains.
Même si, a posteriori, les deux sont des artefacts, il y a une grande différence : si les artefacts historiques sont tangibles, les artefacts logiciels sont virtuels, comme les modèles de langage, les microservices ou les documents de conception créés au cours du processus de développement logiciel.
Découvrez-en plus sur les artefacts logiciels et comment ils accompagnent tous les efforts de développement.
Dans le domaine du développement logiciel, un artefact logiciel est un élément produit lors du processus de développement. Il peut s’agir d’un modèle de données, d’un prototype, d’un diagramme de flux de travail, d’un document de conception ou d’un script de configuration. En fait, certains artefacts spécifiques sont nécessaires lors d’un cycle de développement et doivent être stockés dans un emplacement accessible.
En temps normal, le terme artefact est utilisé dans un contexte historique et fait référence aux inventions humaines. Le plus souvent, les artefacts revêtent un intérêt scientifique et sont utilisés pour remonter la piste vers des modes de vie passés. Les artefacts logiciels sont similaires dans le sens où ils aident les développeurs à suivre la trace de la création d’un produit logiciel. Ainsi, ils retranscrivent sous forme de carte le processus de développement logiciel.
Dans le monde du développement logiciel, « artefact logiciel » n’est pas un terme normalisé. Par conséquent, il n’est pas surprenant que les différentes entreprises aient leurs propres définitions et perspectives. Dans l’outil de LeanIX, un artefact logiciel est un élément de logiciel, déployable indépendamment, qui est en réalité développé par un ingénieur. Cela les démarque des actifs logiciels, un terme qui n’est pas bien admis au sein de la communauté des développeurs en raison de la gestion lourde et opérationnelle qu’ils nécessitent.
Toutefois, afin de respecter les normes générales de l’industrie, cette page passe également en revue les artefacts logiciels qui ne sont pas seulement générés par des ingénieurs ou des développeurs, mais aussi par d’autres membres du personnel qui contribuent au processus de développement.
Mais de quels types d’artefacts parlons-nous en réalité et comment sont-ils stockés pour les utilisations futures ? Lisez la suite et découvrez les différents types d’artefacts logiciels et l’importance des différents dépôts d’artefacts.
Les artefacts historiques sont découverts par les archéologues étant donné qu’ils ne sont pas faciles à trouver. Inutile de préciser qu’une forte dispersion des artefacts logiciels serait préjudiciable dans le monde de développement logiciel. Pour simplifier la traçabilité, il est nécessaire de les stocker correctement dans un référentiel d’artefacts. Vous trouverez ci-dessous les trois différents types que vous devez être capable de distinguer.
Référentiel à distance : utilise une URL à distance et est parfois hébergé par un fournisseur externe. S’il est possible de supprimer des artefacts logiciels, il n’est pas possible d’en ajouter.
Référentiel local : dans ce cas de figure, les artefacts logiciels sont stockés sur un serveur sur site et sont déployés et gérés sur place.
Référentiel virtuel : ce référentiel combine les deux types ci-dessus. Les utilisateurs ont accès aux artefacts locaux et à distance à l’aide de la même URL et peuvent les supprimer ou en ajouter sans difficulté.
Les sections suivantes sont consacrées aux différents types d’artefacts logiciels, aux moments auxquels ils sont créés et aux finalités courantes de leur utilisation.
Tout comme pour les référentiels d’artefacts, il existe différents types d’artefacts logiciels qu’il est nécessaire de stocker.
En général, on peut distinguer trois types distincts : les artefacts de gestion de projet, de code et de document. Lisez la suite pour en savoir plus.
Ces artefacts, créés une fois le code développé, servent à tester le bon fonctionnement du logiciel et à détecter les bogues ou autres problèmes techniques. Les artefacts de gestion de projet ont toujours l’utilisateur final en tête et sont habituellement créés par les développeurs logiciels, les responsables de la maintenance du logiciel, et les chefs de projets logiciels.
Voici quelques exemples.
Les artefacts de code sont probablement les sous-produits les plus attendus au cours du processus de développement du logiciel, puisqu’ils posent les fondations d’un programme. Créés par les développeurs et les ingénieurs en fiabilité de site, les artefacts de code leur permettent de faire une évaluation détaillée de leur travail avant le lancement du logiciel. C’est la meilleure manière d’éviter les problèmes techniques ultérieurs.
Voici les artefacts de code les plus fréquents et les plus utiles :
Créés par les développeurs de logiciel, le personnel de maintenance ou les chefs de projet logiciels, les artefacts de documentation deviennent importants vers la fin de la programmation. En termes simples, un artefact de documentation garde une trace de tous les documents nécessaires pour reproduire le résultat sans avoir à créer un nouvel artefact.
Ces documents comprennent l’accord de l’utilisateur final qui énonce les conditions générales d’utilisation de l’artefact en lui-même. Autrement dit, il explique comment utiliser les artefacts et pas comment utiliser le programme logiciel.
Voici les artefacts de documentation que les plus courants dans le domaine du développement logiciel.
Stocker les artefacts logiciels dans un emplacement accessible apporte beaucoup d’avantages aux équipes de développement et à d’autres équipes. Ils servent, entre autres choses, à articuler les objectifs du programme, les attentes en matière de performance et les caractéristiques du produit. L’équipe et le client peuvent les réviser afin d’adopter une vision partagée et unifiée.
Voici les avantages les plus importants.
Les artefacts logiciels sont à la base du développement logiciel, car ils fournissent aux développeurs une feuille de route couvrant tous les aspects du programme. Sans les artefacts, il serait difficile de savoir quels sont les outils nécessaires pour construire un programme totalement fonctionnel. Cette feuille de route ou ce modèle permet aussi aux équipes de suivre le processus de développement et de déterminer s’il est nécessaire de modifier les flux de travail en fonction des besoins, des objectifs et des délais.
Les artefacts logiciels font gagner du temps, et donc, de l’argent. Après tout, personne ne veut développer un programme qui est déjà obsolète au moment de sa sortie. C’est pourquoi les artefacts logiciels doivent être au centre du processus de développement, ils fixent le cap à suivre, déterminent une structure et allègent la charge de travail des développeurs qui peuvent accélérer certaines étapes et procédures. Les développement peuvent également contourner les écueils connus et évider les erreurs fréquentes.
Une fois qu’un programme est prêt à être lancé, il n’est pas encore entièrement « terminé » puisque tout logiciel nécessite des mises à jour pour garantir sa continuité. En moyenne, un programme durera entre 3 et 5 ans avant qu’une mise à jour soit nécessaire pour en maintenir son bon fonctionnement. Les artefacts logiciels facilitent ce processus. En outre, les développeurs peuvent aussi examiner les artefacts des produits précédents, notamment de documentation et de code, afin de recueillir des idées et de déterminer l’approche à adopter pour les problèmes techniques rencontrés dans de nouveaux projets.
L’entretien d’un programme peut demander beaucoup de temps et d’efforts. Les tâches comprennent la réparation des erreurs ou bogues occasionnels qui peuvent survenir avec le temps, ou la résolution des problèmes qui surviennent lorsque le programme est doté de nouvelles fonctionnalités, ou entièrement remplacé. Lorsque les artefacts logiciels sont créés, tous ces problèmes potentiels sont traités, ce qui prolonge la durée d’utilisation et aide à maintenir le logiciel sous contrôle.
Avant la fin du développement et le lancement d’un programme, les clients souhaitent généralement obtenir un prototype permettant de se faire une idée du produit final et de l’expérience utilisateur. Ce prototype constitue en substance un véritable artefact qui aidera les développeurs à convertir une simple idée de produit en programme fonctionnel. Par ailleurs, il est plus facile d’apporter des corrections au prototype qu’au logiciel fini.
Dans un monde de microservices, de solutions basées sur le cloud et d’architecture plutôt décentralisée, le service ownership a gagné en importance. Les artefacts logiciels permettent aux développeurs de laisser leur « signature » sur leurs produits uniques, ce qui non seulement est important aux yeux des créateurs, mais permet aussi aux futurs développeurs d’avoir une meilleure maîtrise des versions et de contacter la bonne personne en cas de questions ou de problèmes avec le programme.
Avec l’intelligence artificielle qui change le monde informatique, les artefacts logiciels sont devenus importants puisqu’ils fournissent des connaissances approfondies que l’intelligence artificielle peut utiliser pour améliorer encore davantage le logiciel. Ces connaissances accessibles sont également importantes pour les nouveaux développeurs qui ne maîtrisent pas les précédents processus de développement. À plusieurs égards, on peut comparer les référentiels d’artefacts à des bibliothèques ou des banques d’informations qui peuvent répondre aux questions qu’un nouveau membre de l’équipe pourrait se poser à propos d’un programme existant.
Les artefacts sont à la base du développement de tout logiciel. Dans leur ensemble, ils servent de guide pour les développeurs et améliorent le flux de travail, la maintenance et le dépannage.
Grâce aux artefacts, les itérations de produits peuvent être tracées jusqu’aux attributs et versions d’un produit spécifique. C’est pourquoi un bon référentiel d’artefact permet aux équipes de gagner du temps et de poursuivre un objectif commun. Il est essentiel pour un développeur de savoir comment créer et gérer les artefacts logiciels.
Ainsi, les outils modernes tels jouent désormais un rôle central dans le développement d’un logiciel, notamment en aidant votre équipe à découvrir les artefacts logiciels, à confier des responsabilités aux bonnes personnes, à analyser les indicateurs de type DORA et Flow, et à définir leur cycle de vie et leur statut de disponibilité.
Qu’est-ce qu’un artefact dans un logiciel ?
Un artefact logiciel est un élément produit lors du processus de développement. Il peut s’agit d’un modèle de données, d’un prototype, d’un diagramme de flux de travail, d’un document de conception ou d’un script de configuration.
En fait, certains artefacts spécifiques sont nécessaires lors du cycle de développement et doivent être stockés dans un emplacement accessible.
Avez-vous des exemples d’artefacts logiciels ?
Il existe trois types distincts d’artefacts logiciels : les artefacts de gestion de projet, comme les diagrammes de classe ou les démos, les artefacts de code comme les microservices, et les suites de tests, et les artefacts de documentation comme les diagrammes ou les documents internes.
Qu’est-ce qu’un référentiel d’artefact ?
Un dépôt d’artefact désigne un emplacement où les artefacts logiciels sont stockés au cours du processus de développement du logiciel. Il existe trois différents types de dépôts : à distance, local ou virtuel.
Qu’est-ce qu’un artefact en DevOps ?
Un artefact DevOps est un élément produit durant le processus de développement. Il peut s’agir d’un modèle de données, d’un prototype, d’un diagramme de flux de travail, d’un document de conception ou d’un script de configuration.