Accueil Expert Expertise – DevOps : réduire le time to market et changer la...

Expertise – DevOps : réduire le time to market et changer la culture dans les entreprises

Aymeric Robinne
Aymeric Robinne, consultant mc2i

Face aux exigences de plus en plus en fortes du marché des SI en matière d’innovations et de réactivité, la rapidité de mise à disposition de nouvelles fonctionnalités aux utilisateurs (time to market) est devenue un enjeu clé du secteur. Les entreprises sont contraintes de s’adapter pour répondre à ces problématiques, et le DevOps est souvent vu comme un des moyens clés d’y parvenir. Aymeric Robinne, consultant mc2i Groupe, développe ici son point de vue pour les lecteurs de Solutions Numériques.

 

Le DevOps, où extension de la chaîne Agile jusqu’aux “Ops”

Afin de réduire le temps de livraison des développeurs, les grandes organisations ont opté depuis plusieurs années maintenant pour l’implémentation de méthodes de développement dites “Agiles” (Scrum, XP, etc.). Ces dernières, qui apportent vitesse et flexibilité, ont fait leurs preuves au niveau des équipes mais sont confrontées aux rigidités du reste de la chaîne de production.
En effet, si le rythme de livraison des développeurs augmente à l’aide des méthodes Agiles, le rythme de mise en production ne suit pas forcément, notamment car les objectifs des développeurs (DEV) et des opérationnels (OPS, ceux qui réalisent les installations techniques) sont par défaut plutôt opposés. L’équipe Agile a pour responsabilité de livrer de manière régulière pour délivrer au plus vite de la valeur auprès des utilisateurs finaux, tandis que les opérationnels doivent garantir la stabilité en matière de performances de l’application, on parle de “mur de la confusion”.

La mise en place du DevOps apporte la promesse de briser ce mur en faisant collaborer les développeurs et opérationnels afin qu’ils puissent échanger sur leurs contraintes et problématiques respectives. La méthodologie repose notamment sur le fait d’étendre les pratiques Agiles aux opérationnels pour faciliter la multiplication et la fiabilisation des mises en production, améliorant ainsi la sécurité et la stabilité de l’application. Cette extension de l’Agile représente un changement culturel et organisationnel important.

La promesse de l’automatisation et du déploiement en continu : le rôle de l’outillage

Afin d’optimiser le time to market, et pour accompagner les changements organisationnels, la méthodologie DevOps repose notamment sur la mise à disposition d’un outillage commun pour développeurs et opérationnels qui va chercher à faciliter au maximum l’automatisation.

Les outils mis en place vont par exemple permettre aux développeurs de tester de manière automatique et très fréquente leurs développements. Cette automatisation permet ainsi aux développeurs de se concentrer sur les tâches à forte valeur ajoutée (modification de code pour faire évoluer l’application), mais joue surtout un rôle très important dans la fiabilisation du code en favorisant des livraisons beaucoup plus fréquentes et de taille moins importantes, on parle de livraison continue.

Le rapprochement des équipes et la livraison de batchs de code plus réduits va également favoriser et faciliter la possibilité d’automatiser les mises en production : les modifications de code sont intégrées de manière automatique dans des packages installés en production. Là aussi, la taille et la fréquence de ces déploiements permettent de sécuriser la stabilité des versions, on parle de déploiement continu. Le système de déploiement continu reste par ailleurs tout à fait compatible avec des mises à disposition des fonctionnalités par lot auprès des utilisateurs.

Le DevOps donne donc la possibilité d’éviter l’effet silo du côté des opérationnels en les intégrant aux sprints des développeurs, et en favorisant la livraison et le déploiement continus. Il permet à la fois d’augmenter le rythme de déploiement et la fiabilité du système d’information.

Un changement de méthode, mais surtout un changement de culture

La mise en place des méthodes DevOps ne se fait cependant pas immédiatement et implique également un changement de culture de la part des opérationnels, mais aussi de l’entreprise qui adopte ces méthodes Agiles. L’une des difficultés généralement rencontrée lors de la mise en place de la méthodologie DevOps est la résistance au changement des équipes. En effet, c’est une méthode qui leur demande une forte implication et vient bouleverser les manières de travailler : là où le métier d’opérationnel reposait principalement sur le fait de réaliser des installations et monitorer les environnements de production, ils seront dans un cadre DevOps plus impliqués dans la vie du projet.

La mise en place du DevOps nécessite donc un fort accompagnement au changement, notamment via des formations et du coaching auprès des équipes. Cet accompagnement doit permettre de favoriser l’adhésion des équipes et d’élargir le champ de compétences afin que développeurs, opérationnels, mais aussi managers soient à même de comprendre les enjeux respectifs des uns et des autres.

Le DevOps apparaît comme la prochaine étape logique pour les entreprises matures sur les méthodes Agiles classiques en permettant de supprimer les derniers silos restant dans les équipes. Si l’Agilité peut être vue comme un chemin où l’organisation avance progressivement, le DevOps représente un grand pas en avant fait, et une porte ouverte vers l’Agilité à l’échelle.

 

 

 

 

Sources :