Booster des Talents IT

Culture DevOps : mieux comprendre cette approche

Image relative au DevOps

Le terme « DevOps » provient des termes anglais « Development » (développement) et « Operations » (exploitation). Il s’agit d’un concept bien plus large que ces deux notions et intégrant également des éléments de sécurité, une dimension collaborative et d’analyse des données. On parle notamment de « culture DevOps ». 

Le DevOps est relatif aux approches d’accélération des processus selon lesquels une idée (exemple : une nouvelle fonctionnalité logicielle) passe de la phase de développement à celle du déploiement dans un environnement entraînant un apport à l’utilisateur. La collaboration entre les équipes de développement et les équipes d’exploitation est indispensable dans ce cadre, et en adaptant sa stratégie de gestion car la méthode de gestion traditionnelle est inadaptée.

Atouts de la culture DevOps

Collaboration en entreprise

Atouts de DevOps en entreprise

L’instauration d’une culture de la responsabilité partagée, de la transparence et du feedback accéléré est un gage de réussite pour chaque équipe DevOps.

Avec DevOps, la « pensée systémique » est de rigueur. Le mouvement DevOps impose aux équipes un changement d’état d’esprit, visant à observer le processus de développement dans sa globalité et à décloisonner les « frontières » entre les équipes de développement et opérationnelles.

Travailler en bonne intelligence

DevOps et bonne intelligence

L’adoption de la culture DevOps en entreprise implique davantage de qualité et de stabilité dans le processus organisationnel.

La culture DevOps s’oppose à l’absence de tests automatisés et de cycles de revue pouvant être un frein à la mise en production, en s’appuyant sur des concepts de vélocité et de confiance. A l’appui du principe d’automatisation, les équipes peuvent accroître leur productivité et être plus réactives.

Une gestion des tâches non planifiées plus efficace

DevOps et planification des taches

La culture DevOps est un outil permettant de lutter efficacement contre les tâches non planifiées, une réalité nuisant à la productivité. Les équipes DevOps peuvent gérer les tâches non planifiées, en se concentrant en parallèle sur celles qui le sont.

Le transfert et la priorisation des tâches non planifiées entre les différents systèmes et équipes s’avèrent inefficaces et nuisent à la productivité du travail à faire. Une forte visibilité et une rétrospection proactive sont primordiaux dans une logique d’anticipation.

La culture DevOps est vecteur de réduction de la durée de résolution. La transparence totale et la fluidité communicationnelle des équipes DevOps peuvent réduire les temps d’arrêt. La communication ouverte permet une meilleure gestion au niveau des tickets importants.

Culture DevOps : le framework CALMS

Culture

DevOps et culture d'entreprise

Le processus d’automatisation dans la gestion en entreprise ne présente aucun intérêt, sans la réelle volonté de collaboration entre les équipes de développement et opérationnelles. La méthode DevOps est une réponse à des problématiques humaines. Le meilleur moyen afin de développer la collaboration entre les équipes est le fait de partager un objectif commun et réaliser un plan pour l’atteindre collectivement.

Selon le contexte de l’entreprise, la transition vers la culture DevOps peut être mise en œuvre progressivement. Les équipes de développement peuvent inviter les membres de l’équipe opérationnelle à participer aux sessions de planification des sprints, aux stand-ups quotidiens et aux démos de sprint.

Cette méthode permet de suivre les projets, les idées et de prendre un temps de partage et d’écoute en lien avec le savoir-faire de chacun, ce qui rend au final la livraison plus efficace.

Automatisation

DevOps et automatisation

L’automatisation permet la suppression de tâches manuelles, dans une logique d’amélioration continue des systèmes.

L’automatisation peut s’effectuer progressivement en commençant par le développement, les divers tests, le déploiement et les tâches de provisionnement Les équipes sont motivées par une collaboration résultant sur le développement de systèmes utiles à tous.

Le processus d’automatisation commence généralement par la livraison continue, qui nécessite du temps pour une mise en œuvre adéquate : chaque changement de code est soumis à une batterie de tests automatisés. Les ordinateurs exécutent des tests de façon plus fiable que les êtres humains, à travers la détection des bugs et des failles de sécurité au plus tôt, ce qui réduit voire élimine les surprises au moment de la livraison.

Lean

DevOps et lean

Ce concept « Lean » correspond, dans le contexte des logiciels, à l’agilité, l’amélioration continue et la reconnaissance des échecs, d’autant plus pertinents pour la culture DevOps.

Le développement Agile a permis de populariser l’amélioration continue. Cette approche a démontré qu’un simple produit mis entre les mains d’un client dès maintenant a plus de valeur qu’un produit parfait qui sera livré aux clients dans six mois. La fidélisation du client passe par l’amélioration continue.

Le « Lean » motive les équipes à travers la planification d’objectifs ambitieux et l’assimilation aux inévitables échecs afin d’en tirer des leçons. Dans le contexte de DevOps, l’échec n’est pas une infraction mais est anticipé. Les équipes mettent tout en œuvre pour détecter rapidement les bugs et les résoudre : l’amélioration continue est étroitement liée aux défaillances.

Mesure

DevOps et performance de l'entreprise

De nombreux outils et technologies permettent de mesurer les performances de la culture DevOps et de l’amélioration en continu : durée d’utilisation de votre produit par les utilisateurs, ventes générées par un billet de blog, etc.

En amont, dans le cadre d’un projet de développement Agile, certaines questions peuvent se poser :

  • Quel est le temps requis pour passer du développement au déploiement ?
  • Quelle est la fréquence de reproduction des bugs ?
  • Quel est le temps dont a besoin l’entreprise pour reprendre ses activités après une panne système ?
  • Combien de personnes utilisent-elles le produit à cet instant ?
  • Combien d’utilisateurs ont été gagnés/perdus cette semaine ?

Toutes ces données facilitent la prise de décision des équipes et ont davantage d’impact lorsqu’elles sont partagées avec d’autres équipes.

Partage

DevOps et partage

La partage des responsabilités et des réussites est un facteur de succès, dans la culture DevOps.

Un des principes fondamentaux de DevOps est le fait que le développeur d’une application doit également participer à sa livraison et à son exécution. La collaboration est de mise entre les équipes de développement et opérationnelles, à chaque phase du cycle de vie de l’application. Le fait d’être confronté ensemble aux mêmes problématiques renforce la cohésion de groupe et permet d’éprouver davantage de plaisirs lors de réussites.

Un feedback positif de ses pairs, suite par exemple à la résolution d’un mauvais bug, est très motivant et renforce la culture DevOps en entreprise.

 

Nos formations DevOps chez Apollo Formation