Close

Agile et DevOps

Quelles sont les différences et les similitudes entre Agile et DevOps ?

Portrait de Tom Hall
Tom Hall

Expert DevOps


Lorsque la méthodologie Agile a été largement adoptée au début des années 2000, elle a transformé nos méthodes de développement de logiciels et d'autres produits. Pourtant, quelques années après s'être imposée comme un standard dans le secteur, un oubli essentiel a été constaté : les processus et les exigences de l'équipe opérationnelle qui a déployé et géré les logiciels n'avaient pas été pris en compte.

Ainsi est née DevOps, une approche qui a aligné les équipes de développement et opérationnelles. La méthodologie DevOps a-t-elle donc remplacé Agile ? Ou bien se complètent-elles ? Il s'avère qu'elles présentent toutes deux des différences et des similitudes. Agile et DevOps peuvent être exclusives et inclusives, et coexister au sein d'une organisation.

Présentation d'Agile

Agile est une approche itérative de la gestion de projet et du développement logiciel qui met l'accent sur la collaboration, le feedback client et les livraisons rapides. Cette approche est née au début des années 2000 dans le secteur du développement logiciel. Elle avait pour but d'aider les équipes de développement à réagir et à s'adapter aux conditions changeantes du marché ainsi qu'aux exigences des clients.

Dans une approche Agile, une partie de la planification et du design est effectuée à l'avance, mais le développement a lieu par petits lots et implique une étroite collaboration avec les parties prenantes. Les changements sont continuellement intégrés, et une version utilisable d'un produit est souvent livrée plus rapidement que les produits développés grâce à la méthodologie en cascade. Cela offre de nombreux avantages, le plus important étant sans doute que si un logiciel ne répond pas aux besoins ou aux attentes du client, il peut être corrigé en temps réel.

Agile est un ensemble de méthodologies, et non une approche unique du développement. Le framework regroupe les principes Scrum, d'Extreme Programming (XP) et d'autres systèmes de pratiques utilisés par les développeurs par le passé, et résulte du rassemblement de ces experts en vue d'unifier ces approches en un seul ensemble de principes. Cet effort d'unification a donné naissance au Manifeste Agile, qui se compose de douze principes, basés sur quatre valeurs fondamentales.

Icône de nœud centralisé
Matériel connexe

En savoir plus sur le framework CALMS

Icône de structure dans un esprit
Matériel connexe

En savoir plus sur l'histoire de DevOps

Les quatre valeurs fondamentales du Manifeste Agile

Personnages observant un workflow de développement logiciel

Les individus et leurs interactions
plutôt que les processus et les outils

Dossier ouvert contenant des tickets terminés

Des logiciels opérationnels
plus qu'une documentation exhaustive

Personnages travaillant sur une plateforme

La collaboration avec les clients
plus que la négociation contractuelle

Boule de cristal

L'adaptation au changement
plus que le suivi d'un plan


Bienvenue dans l'ère DevOps

DevOps est une approche du développement logiciel qui permet aux équipes de développer, tester et livrer des logiciels plus rapidement et de manière plus fiable en incorporant des principes et pratiques Agile, comme l'automatisation accrue et la collaboration améliorée entre les équipes de développement et opérationnelles. Le développement, les tests et le déploiement se retrouvent à la fois dans Agile et DevOps. Pourtant, la méthodologie Agile traditionnelle ne s'intéresse pas aux opérations, qui font partie intégrante de DevOps.

L'objectif de DevOps est d'aider à rapprocher les développeurs qui programment les logiciels applicatifs et les équipes opérationnelles qui exécutent ces logiciels en production. Mais la méthodologie a aussi pour but de développer et de gérer l'infrastructure dans laquelle ils sont exécutés. DevOps remplace l'ancienne approche dans laquelle les équipes de développement programmaient des apps, puis les transmettaient simplement à une équipe opérationnelle qui déployait et gérait le logiciel avec une visibilité minimale sur son développement. Dans un environnement DevOps, les développeurs et les équipes opérationnelles collaborent tout au long du processus de développement, de déploiement et de gestion des applications.

Les « Trois Voies » et « CALMS », acronyme de Culture, Automatisation, Lean, Mesure et Sharing (Partage), sont deux frameworks communs pour comprendre DevOps. Le terme « culture » fait référence au virage culturel qui permet aux équipes de développement et opérationnelles de travailler de manière plus cohérente. L'automatisation accroît la vélocité et garantit une qualité supérieure. Les principes Lean de l'amélioration continue et de la reconnaissance des échecs posent les bases d'un état d'esprit expérimental. Le terme « mesure » fait référence à la pratique consistant à mesurer les résultats pour améliorer les processus. Le terme « sharing » (partage) souligne l'importance de DevOps en tant qu'effort de groupe et de l'adoption de bonnes pratiques.

Les Trois Voies DevOps

Assembler les pièces du puzzle

Approche systémique
Comprendre que les apps logicielles sont des systèmes complexes

Pointeur de navigateur avec bouton de lecture

Amplification des boucles de feedback
Améliorer la communication bidirectionnelle entre les membres de l'équipe

Personnages observant un workflow de développement logiciel

Virage culturel
Culture de l'expérimentation et de l'apprentissage continus

Quand Agile et DevOps fonctionnent-ils ensemble ?

DevOps peut être considéré comme une évolution des pratiques Agile ou comme un élément manquant d'Agile. Il s'agit d'un effort visant à appliquer les innovations Agile aux processus opérationnels. Dans le même temps, c'est une pièce manquante d'Agile, car certains principes Agile ne sont réalisés dans leur forme la plus complète que lorsque les pratiques DevOps sont employées. Par exemple, il existe de nombreuses références à la livraison continue de logiciels dans les documents Agile, mais comme les pipelines de livraison englobent les préoccupations opérationnelles, la livraison continue est généralement considérée comme une pratique DevOps. L'amplification des boucles de feedback nécessite une communication renforcée au sein des équipes et entre ces dernières. Agile, en particulier Scrum, facilite cette communication à travers ses diverses cérémonies comme les stand-ups quotidiens, les réunions de planification et les rétrospectives.


Quelles sont les similitudes/différences entre Agile et DevOps ?

  • Agile met l'accent sur la collaboration entre les développeurs et l'équipe de gestion de produit. DevOps inclut l'équipe opérationnelle.
  • Agile gravite autour du cycle de vie du développement, de l'idéation à la complétion du code. DevOps s'étend aussi à la livraison et la maintenance.
  • Agile met l'accent sur le développement itératif et les petits lots. DevOps se concentre davantage sur l'automatisation des tests et des livraisons.
  • Agile structure les tâches planifiées des développeurs. DevOps intègre le travail non planifié qui est fréquent dans les équipes opérationnelles.

Le Manifeste Agile donne explicitement la priorité aux personnes et aux interactions, aux logiciels opérationnels, à la collaboration avec les clients et à la réponse au changement. Il s'agit clairement des mêmes priorités que celles de DevOps, mais celles-ci sont étendues au-delà du processus de développement et portent aussi sur la gestion des systèmes et l'exécution des apps.

En outre, les douze principes sous-jacents au Manifeste contiennent des références aux principes DevOps. Par exemple, l'accent mis sur l'intégration et la livraison continues, le travail par petits lots avec des livraisons fréquentes et l'utilisation de l'automatisation sont tous référencés dans les douze principes sous-jacents au Manifeste.


En conclusion… Agile ET DevOps

En fin de compte, les objectifs d'Agile et de DevOps sont les mêmes, à savoir accélérer et optimiser le développement logiciel, et cela n'a guère de sens de parler de l'un sans l'autre. De nombreuses équipes ont constaté que les méthodologies Agile les aidaient énormément, tandis que d'autres ont eu du mal à réaliser les avantages promis par une approche Agile. Cela s'explique par de nombreuses raisons, notamment le fait que les équipes ne comprennent pas pleinement les pratiques Agile ou ne les implémentent pas correctement. Il se peut aussi que l'incorporation d'une approche DevOps contribue à combler les lacunes des organisations qui sont aux prises avec la méthodologie Agile et leur permette d'obtenir le succès qu'elles espéraient.

Atlassian connecte les équipes de développement, des opérations informatiques et Agile grâce à l'automatisation qui s'étend aux produits et aux outils tiers Atlassian. Pour en savoir plus, consultez le site Atlassian DevOps.

Tom Hall
Tom Hall

Tom Hall est un expert DevOps, un lecteur avide et un pianiste amateur.
Au cours des 20 dernières années, il a notamment obtenu les certifications Novell, EMC, VMware et AWS. Il a participé à l'organisation des DevOpsDays à Atlanta en 2016 et à Austin, au Texas, dans les années qui ont suivi.


Partager cet article
Thème suivant

Lectures recommandées

Ajoutez ces ressources à vos favoris pour en savoir plus sur les types d'équipes DevOps, ou pour les mises à jour continues de DevOps chez Atlassian.

Illustration Devops

Communauté DevOps

Illustration Devops

Atelier de simulation

Illustration d'une carte

Essayez la solution gratuitement

Inscrivez-vous à notre newsletter Devops

Thank you for signing up