Les 3 grandes étapes de la mise en place du DevOps

La transformation digitale impose aux entreprises une plus grande réactivité. Cette course à l’innovation les contraint à développer autrement. Sur ce terrain, le DevOps, qui réunit équipes de développement et d’exploitation, est en passe de s’imposer.

DevOps – contraction des mots Development  et Operations – est un concept qui vise à rapprocher les développeurs (les équipes en charges des projets / évolutions applicatives) et les opérationnels (les équipes en charge du run et de l’exploitation) autour d’objectifs communs à  la création de valeur de l’entreprise. « Ce concept est né en réponse au défi du digital qui impose aux entreprises d’intégrer rapidement l’évolution technologique, réglementaire et d’accélérer le développement de produits ou de services. DevOps consiste à promouvoir le travail commun entre les équipes de développement et d’exploitation, deux fonctions du monde IT qui, jusqu’à présent, étaient bien distinctes », résume Luc Germain, directeur Open Solutions chez Devoteam.

wall confusion
Une illustration schématisant l’incompréhension entre dev et ops dans les organisations traditionnelles.

Ce concept s’inscrit aussi dans l’évolution des méthodes agile et scrum mises en place depuis une quinzaine d’années dans les entreprises. « La méthode agile qui consiste à rapprocher les équipes de développement avec les métiers et à travailler de façon itérative montre ses limites. En effet, cette méthode ne répond pas à la problématique de scission qui existe entre les équipes de développements et d’exploitation. Or ce manque d’interaction ralentit le développement de projet », explique Paul Rebeyrotte, expert en transformation du SI au sein de mc²i Groupe.

Avec la méthode agile, les équipes projets continuent de développer les produits et services demandés par les métiers sans se soucier de la qualité des livraisons dans l’optique de leur mise en production et de leur exploitation. L’infrastructure s’avère donc souvent incompatible avec le service ou le produit, ce qui contraint les équipes à revoir, à postériori, le projet ou l’infrastructure pour pouvoir commercialiser l’offre. « Tout ce process alourdit considérablement le temps de commercialisation des produits et des services, ce qui est préjudiciable dans l’économie actuelle.  C’est la raison pour laquelle les métiers se tournent vers les offres SaaS, qui permettent une exploitation plus rapide d’un service ou d’un produit », poursuit notre interlocuteur. C’est donc pour lutter contre ce phénomène de shadow IT et pour répondre aux exigences du digital qu’est né DevOps. L’objectif ? Construire une équipe regroupant des développeurs, des opérationnels et des métiers pour commercialiser rapidement un service ou un produit. Voici les trois étapes essentielles pour passer dans ce nouveau mode d’organisation :

1) Construire une équipe transversale

La première étape consiste à construire une équipe réunissant des développeurs et des exploitants. Une étape qui nécessite de casser les silos entre ces deux profils. Car là où, dans un projet traditionnel, les équipes d’exploitation interviennent après les développeurs, dans un projet DevOps, les deux équipes travaillent ensemble pour développer un produit ou un service dans son intégralité. Ainsi, après avoir pris connaissance des attentes des métiers, les deux équipes collaborent et prennent mutuellement en compte les impératifs de chacun. « Les développeurs intègrent les contraintes et les standards des infrastructures et, de leur côté, les équipes d’exploitation prennent en compte les besoins des équipes de développement », précise Paul Rebeyrotte. La mise en production est faite au fil de l’eau et les tests sont réalisés de façon récurrente permettant ainsi une amélioration graduelle du projet, au fil des itérations de l’application.

La mise en place d’une telle façon de travailler ne va pas sans se heurter à des obstacles culturels et organisationnels. Difficile, en effet, pour ces équipes qui n’ont jamais travaillé ensemble de construire un projet de bout en bout et en étroite collaboration. « En cas de dysfonctionnement, pas question de se défausser sur l’autre équipe. Dans un projet DevOps, la responsabilité de chacun est engagée », insiste Luc Germain.

Cette nouvelle organisation et ces nouvelles responsabilités nécessitent donc une conduite du changement. Ainsi, la DSI doit identifier les bons profils pour participer à la mission, et accompagner ses équipes dans cette nouvelle collaboration. « Toute la difficulté est d’instaurer les conditions favorables à ce travail collaboratif, reconnait Paul Rebeyrotte. Aussi, pour favoriser cette dynamique, il est essentiel de fixer un objectif et des indicateurs communs pour fédérer tous ces profils. » Par ailleurs, il est important de responsabiliser chacune des parties et de ne jamais considérer qu’une équipe est plus importante qu’une autre. « Bien souvent les développeurs jouissent d’une plus grande reconnaissance (du fait de leur proximité avec les métiers) que les équipes d’exploitation. Or, pour qu’un projet DevOps fonctionne il faut que tous les profils soient traités avec le même égard », insiste-t-il.

2) Commencer par un projet de petite taille

Pour une première expérience DevOps, il est préférable de commencer par une équipe restreinte et un projet de petite taille. En effet, cette façon de travailler étant très différente des pratiques habituelles, mieux vaut se montrer pragmatique et circonscrire l’expérience à un petit groupe de personnes sur un projet très précis. La réussite du projet conduira ensuite l’entreprise à déployer ce concept à des projets plus ambitieux et à des équipes plus nombreuses. En cas d’échec, il sera aussi plus facile et rapide d’en identifier les causes et de réajuster le processus en conséquence.

3) S’appuyer sur des logiciels spécifiques 

Pour accompagner le travail de tout cet écosystème, il est conseillé d’utiliser des logiciels favorisant le partage de données, d’indicateurs et le travail collaboratif. Aujourd’hui, plusieurs  éditeurs comme IBM, CA ou HP, sans oublier des alternatives Open Source, proposent des solutions de gestion du cycle de vie des applications, de management d’API, mais aussi des outils de déploiement, de gestion de la qualité et des tests en continu. « Le but de DevOps est de développer, d’intégrer et d’améliorer sur le long court les processus, les produits et les services délivrés sur le marché.  Il n’y pas plus césure entre les équipes IT et les métiers. Tout se fait de façon itérative et au fil de l’eau », dit Paul Rebeyrotte. Le DevOps permet donc à la DSI de ne plus subir le shadow IT et de retrouver sa place au sein de l’entreprise.

Si certaines entreprises affichent encore quelques réticences face à ce concept, une enquête de Capgemini, réalisée mi-2015 auprès de 1 560 professionnels de l’informatique de 32 pays, révèle que 59% des entreprises intègrent désormais les principes du DevOps à la moitié ou plus de leurs projets de développement logiciel. Selon IDC, 53% des entreprises françaises qui ont engagé une démarche DevOps l’ont généralisée à tous leurs développements. Preuve que la démarche, née dans les start-up du numérique, est en passe de faire son trou dans les DSI plus traditionnelles.

A lire aussi :

Jenkins et Docker, le couple star des équipes DevOps ?

Devops : les DSI français se voient trop beaux

L-CRI : Orange va-t-il inventer la norme Itil de l’ère Devops ?

Crédit Photo : Mcleck-Shutterstock