Le DevOps, tout le monde en parle, tout le monde aimerait en faire, mais bien des entreprises ont encore du mal à en généraliser les concepts à ses équipes IT. Voici pourquoi la démarche DevOps est désormais si importante.
Le DevOps est une évolution du mouvement agile qui intègre les exploitants dans le cycle de développement des applications afin d’aligner toutes les équipes sur l’apport de valeur aux clients. C’est un ensemble de principes qui encouragent la collaboration entre les équipes produit et les exploitants. Son objectif est de prioriser la satisfaction client.
Cependant, d’après une étude menée, en 2022, par LeanIX, 40 % des répondants ne parviennent pas à une collaboration fructueuse.
Le DevOps est un mouvement très en vogue mais comment le mettre en place ? Quels sont ses impacts, ses risques et ses changements organisationnels ?
Avantages & Risques
Une démarche DevOps automatise et permet ainsi une collaboration entre équipe produit et exploitants. Chaque partie comprend les enjeux de chacun, ce qui engendre plusieurs impacts positifs : une réduction des délais de mise à disposition des fonctionnalités aux utilisateurs, une amélioration de la qualité du produit mais aussi de l’efficacité des équipes, et une excellence technologique qui permet une réduction de la dette technique.
Malgré ces avantages, certains risques peuvent arriver pendant la mise en place de la démarche DevOps comme, par exemple, le refus de changement d’organisation. En effet, les équipes peuvent craindre le changement ou y voir une perte de leadership. Il peut aussi y avoir une dégradation des flux de valeur, un manque de culture DevOps, un manque de moyens ou encore un manque d’organisation DevOps.
Le DevOps entraîne toute une série de changements organisationnels. Quels sont ces changements ?
Équipes & Changements organisationnels
Dans la mise en place d’une démarche DevOps, l’organisation des équipes est fondamentale. Il existe 4 types d’équipes et 3 types d’interactions entre les équipes.
Ces changements diffèrent d’une entreprise à l’autre.
Par exemple, dans des entreprises matures, les équipes de développement et d’exploitation collaborent directement. C’est le mode de fonctionnement « par défaut » DevOps.
En revanche, dans les entreprises où l’IT reste traditionnelle, il peut être intéressant d’avoir une équipe d’exploitants qui agit comme un fournisseur de ressources d’infrastructure. Et, dans les entreprises qui ne peuvent pas, pour différentes raisons (taille, compétences, etc.) prendre en charge les activités d’exploitation, il peut être intéressant de les sous-traiter à des fournisseurs de services. Enfin, dans des équipes matures, mais où la mise en place d’une collaboration Dev et Ops semble « risquée », il est possible de former une équipe DevOps temporaire.
Quoi qu’il arrive, cela entraîne des changements organisationnels comme la suppression des silos pour aligner les équipes sur l’apport de valeur aux clients, l’utilisation de solutions de supervision et d’observabilité pour suivre l’état des services déployés ou encore la création d’une équipe DevOps, responsable de la construction du produit et de son MCO (maintien en condition opérationnelle).
Il est important que l’entreprise accepte les erreurs tout en essayant de les limiter au maximum (Fail Fast). Procéder par étape et tester une partie des utilisateurs est essentiel à la bonne mise en place de l’organisation DevOps.
Mise en place d’une démarche DevOps
Comme le DevOps est une extension de l’agilité, pour initier la démarche, l’entreprise doit déjà avoir mis en place une démarche agile ou être en train de le faire. Ensuite, une fois l’équipe créée, elle est responsable de la transformation DevOps. C’est elle qui définit les objectifs et évalue la maturité DevOps de l’organisation. L’équipe construit une feuille de route qui intègre des éléments structurants comme les processus d’automatisation, le suivi des indicateurs ainsi que des bonnes pratiques reconnues.
Elle définit sa stratégie de supervision en prenant en compte les indicateurs à superviser, les valeurs critiques, les niveaux de criticité, etc. L’équipe cherche à utiliser des outils qui répondent aux besoins DevOps car les outils de gestion de code (Git par exemple est l’outil le plus utilisé) sont les éléments centraux dans les processus DevOps.
Par ailleurs, malgré les avantages que le DevOps présente, les risques et les changements culturels émergeants posent des problèmes de sécurité impossibles à résoudre en s’appuyant sur des solutions de gestion de la sécurité et des pratiques classiques. Approches souvent trop lentes, trop coûteuses ou trop complexes. Il est donc très important que les entreprises s’occupent de la sécurité en parallèle des autres étapes.
La démarche DevOps est un excellent levier pour améliorer la qualité des produits développés, la performance des équipes ainsi que l’esprit de collaboration et de responsabilité commune. Cette culture DevOps encourage à comprendre les flux de valeur de l’entreprise et à les optimiser globalement. Cette réflexion encourage à supprimer les silos entre les équipes, à améliorer la qualité des produits ainsi qu’à supprimer le gaspillage.
Au-delà du besoin initial d’améliorer la qualité des produits, cette démarche permet d’améliorer l’empathie, la confiance et la communication entre les différents acteurs du projet. Toutes les entreprises doivent passer à une culture DevOps.
___________________
par Mehdi El Kouhen, Architecte DevOps & Cloud chez Ippon Technologies