Sept façons de réussir la transformation DevOps de votre entreprise

Les sociétés de tous les secteurs adoptent les pratiques DevOps pour conserver une longueur d’avance sur leurs concurrents. Mais opérer la transition vers cette nouvelle culture peut s’avérer difficile, surtout pour les grandes entreprises.

Contrairement à de plus petites structures, les processus de déploiement de logiciels traditionnels dans les grands groupes sont plus complexes avec des équipes distribuées et de lourdes applications monolithiques. Elles sont pilotées dans une volonté de stabilité et d’anticipation, ce qui risque de faire obstacle aux nombreux changements nécessaires à une transformation DevOps.Les start-up et autres petites entreprises sont au contraire dispensées de l’héritage technique de processus lourds et de logiciels patrimoniaux ; elles peuvent donc appliquer rapidement de nouvelles technologies et résoudre d’anciens problèmes de manière plus agile et moderne. Dans le contexte d’évolution rapide des marchés, l’accessibilité aux ressources cloud disponibles instantanément, la prolifération des pratiques DevOps et de déploiement continu (CD) font que ces petites structures peuvent maintenant rivaliser avec des entreprises qui font plusieurs fois leur taille.Si les petites entreprises sont naturellement avantagées dans la mise en œuvre de DevOps, il n’est pas impossible pour les grandes d’opérer cette mutation. Beaucoup l’ont d’ailleurs déjà faite. Les transformations DevOps réussies de grandes entreprises ont en commun plusieurs caractéristiques, orientations stratégiques et techniques. Collectivement, celles-ci décomposent la transformation en petites étapes réalistes et réalisables, qui sont autant d’occasions d’apprendre, de constater les améliorations progressives et de se rapprocher de l’objectif en créant une dynamique.Voici sept façons de réussir la transformation DevOps de votre entreprise.
Obtenir le soutien de la direction
DevOps nécessite l’adhésion de la direction. Si elle ne mesure pas clairement l’importance critique des principes de déploiement continu (CD) et DevOps pour l’entreprise, alors l’initiative est probablement vaine. Mais même si son soutien à 100% est vital, il n’est pas indispensable de l’obtenir d’emblée. 

Dans la pratique, il faut parfois un mouvement parti de la base et quelques réussites précoces pour la convaincre. Souvent, un seul projet de démonstration de la faisabilité du concept suffit à démontrer la valeur du CD et DevOps s’il est mené par un groupe faisant preuve de flexibilité et d’une forte volonté d’innovation. Si vous considérez que le soutien de la direction est un impératif dès les premières étapes, vous ne serez peut-être jamais prêt. Commencez plutôt en gardant à l’esprit qu’il vous faudra obtenir son soutien ferme et sans équivoque à un moment donné.

Définir les responsabilités de la transformation
Il est impératif qu’un groupe au sein de l’entreprise soit désigné responsable de la transformation DevOps. Ce peut être une équipe DevOps récemment constituée, l’équipe en charge des outils dans l’organisation ou même une équipe de développement préexistante ayant les attributs culturels et techniques propices à l’adoption des principes DevOps. Plus spécifiquement, il doit s’agir d’un groupe compétent, capable d’innover, de fonctionner de façon collaborative, sans les contraintes d’un calendrier de production serré. Comme cette équipe devra amener d’autres équipes de l’organisation à adopter ces nouvelles pratiques, il n’est pas recommandé de choisir une équipe de développement de produits. Elle manquerait probablement de visibilité transversale et de la détermination nécessaire pour propager les changements dans toute l’entreprise. 

Au fil du temps et de la standardisation de toute l’entreprise sur les pratiques DevOps, la nécessité de cette équipe se dissipera. Tout le monde doit donc bien comprendre, dès le début, qu'elle est constituée pour une durée provisoire avec pour mission d’amorcer et de guider la transition, et non de superviser et gérer ensuite les pratiques DevOps sur le long terme. 

Commencer par un projet pilote
Il est difficile d’appliquer des changements d’envergure à toute une entreprise. En plus de perturber les programmes et la dynamique d’équipe, de tels changements semblent souvent négliger les besoins et les avis des personnes affectées et induisent un degré de complexité qui peut paralyser l’effort tout entier. C’est donc une bonne idée d’adopter une approche progressive d’implémentation incrémentale des pratiques DevOps plutôt qu’une approche "Big Bang" radicale. Cela permettra aux équipes d’apprendre de façon empirique ce qui fonctionne le mieux pour elles. La meilleure façon de commencer est d’opter pour un projet pilote de mise en œuvre et de démonstration des concepts CD et DevOps. Ce projet pilote doit présenter un niveau de risque faible et produire des avantages tangibles. Identifiez ou constituez ensuite une équipe polyvalente de membres du personnel de production pour établir et tester l’infrastructure des outils, le process et la culture favorables aux pratiques CD et DevOps. Avec le soutien du groupe responsable de DevOps, cette équipe pilote doit entreprendre les tâches suivantes :
Evaluation : faites le point de la situation de l’équipe, en termes d’outils, de processus et des défis à relever.Alignement : définissez des objectifs clairs et partagés, élaborez une feuille de route pour l’équipe.Lettre de mission : rédigez un cahier des charges et fixez-vous des objectifs à atteindre : augmenter la fréquence des versions, améliorer la satisfaction vis-à-vis du travail, faciliter la collaboration, accroître la satisfaction clients, etc.Plan : établissez un plan général avec des indicateurs de performance KPI (key performance indicators) objectifs, des jalons et des objectifs spécifiques réalisables. Par exemple :  "automatiser les processus QA manuels et éliminer les processus redondants pour réduire les délais de QA de XX% d’ici la fin de l’année."Progression : démarrez la mise en œuvre, n’attendez pas que tous soient devenus des experts de la nouvelle approche pour commencer.Mesure : évaluez et surveillez les progrès en continu.
Communiquer sur les échecs et les réussites
Tout au long du projet pilote, prenez soin d’identifier les échecs et les réussites et de les documenter. Diffusez au plus grand nombre et en toute transparence les enseignements acquis par l’équipe, dans toute l’organisation. Utilisez une plateforme collaborative pour diffuser l’information, de type wiki, tableau de bord ou newsletter. Au fil du temps, les réussites prendront le pas sur les échecs et cet effort de communication produira de l’enthousiasme et de l’excitation qui permettront de relever de nouveaux défis. 

Veillez à communiquer des mesures quantitatives, comme les KPI, mais aussi des résultats plus qualitatifs et des observations. Vous pouvez, par exemple, indiquer que de nouveaux membres ont rejoint l’équipe quelles parties du processus ont été automatisées ou quels nouveaux outils ont été adoptés.

Identifier des réussites rapides permettant d’opérer une transformation incrémentale
Pendant le projet pilote et après, envisagez chaque processus de déploiement de logiciels à automatiser ou à éliminer pour obtenir des effets rapides. Tous ces gains cumulés en faveur de l’accélération du processus de déploiement de logiciel sont gagnants au total pour l’entreprise. Une transformation DevOps ne se produit pas d’un coup. C’est une suite de petites améliorations continues. 

Selon l’approche de développement agile, les petits changements incrémentaux aident une organisation à progresser car elle en retire des enseignements utiles et que ces réussites cumulées constituent un capital propice à la conduite du changement. Les petites victoires rapides contribuent à l’effort global. Elles permettent aux équipes de se familiariser avec les pratiques et les principes qui conviennent le mieux à leur organisation, et aident à instiller dans l’organisation un sentiment de confiance dans la réussite d’une transformation DevOps totale.

Élargir aux autres équipes
Forte d’un projet pilote concluant et avec plusieurs victoires faciles à son actif, l’équipe doit s’attacher à mobiliser d’autres équipes de développement. Comme pour le reste de la transformation, ce processus d’extension à d’autres équipes fonctionne mieux de façon progressive. A mesure que les équipes sont formées individuellement et familiarisées avec les pratiques CD et DevOps, continuez de perfectionner les outils, le process et la culture en fonction des besoins de chaque nouvelle équipe et des insights obtenus des équipes déjà converties.

Se féliciter

Le succès appelle le succès. Sachez féliciter et récompenser les équipes qui atteignent systématiquement leurs objectifs. Des équipes qui sont témoins de la réussite d’autres collègues voudront elles aussi opérer au plus vite leur transition vers les pratiques CD et DevOps. 

La reconnaissance peut prendre différentes formes ; optez pour des pratiques qui s’inscrivent dans les normes culturelles de votre entreprise. L’envoi d’un e-mail célébrant les accomplissements d’un groupe peut convenir à telle organisation, alors que dans d’autres, on préférera une déclaration publique ou une mention du CEO lors d’une réunion trimestrielle. Le plus important est de veiller à ce que les équipes les plus méritantes soient effectivement félicitées et que tout le monde dans l’entreprise en soit témoin.
Parvenir à destination
Quand on travaille d’arrache-pied à piloter la transformation de son entreprise, il peut arriver que l’on perde de vue la ligne d’horizon. Comment savoir quand le projet est terminé ? Voici trois indications parmi d’autres que votre organisation a bien été transformée :
●    Vos équipes peuvent déployer des logiciels à volonté. Vous ne voudrez peut-être pas que les mises à jour soient systématiquement déployées automatiquement en environnement de production, mais chaque fois qu’une nouvelle partie de code est produite, le logiciel devrait être prêt à être déployé.
●    Vous avez tenu vos objectifs de KPI. En mesurant systématiquement vos KPI vous constatez chaque fois de nouvelles améliorations.
●      Les clients, les utilisateurs et les salariés sont davantage satisfaits. Utilisez des enquêtes d’opinion, des formulaires à remplir par les utilisateurs ou d’autres méthodes pour collecter des données qualitatives en complément des données quantitatives des KPI.

Enfin, notez qu’une transformation DevOps n’est jamais complètement terminée. De nouvelles étapes sont toujours envisageables pour accélérer les processus, intensifier l’automatisation et réduire les délais de commercialisation, même après avoir atteint l’objectif initial…