L'ingénierie de plateforme : une pratique accessible à tous
L'expérience des développeurs ne devrait pas être le seul objectif d'une plateforme de développement interne, car il est tout aussi important d'avoir un impact sur l'activité de l'organisation.
L'ingénierie de plateforme, qui centralise les meilleures pratiques et les composants pour les équipes de développement, prend de l'ampleur à mesure que les pratiques et les cadres DevSecOps s'intègrent de plus en plus dans les organisations. L'objectif de l'ingénierie de plateforme est de normaliser et de standardiser les workflows des développeurs en leur offrant des golden paths pour la majorité de leurs charges de travail, tout en leur permettant de définir des exceptions pour les autres cas.
En effet, Gartner prévoit qu'en 2026, 80% des grandes organisations de génie logiciel mettront en place des équipes d'ingénierie de plateforme en tant que fournisseurs internes de services réutilisables, de composants et d'outils de livraison d'applications, contre 45% en 2022. L'ingénierie de plateforme permet aux organisations, et notamment aux grandes organisations qui ont de nombreuses initiatives d'ingénierie menées en même temps, de déployer plus facilement les principes et les outils de DevSecOps. Cela est particulièrement crucial lorsque les organisations sont sous pression pour faire plus avec moins de ressources.
Le modèle DevSecOps a apporté de réels bénéfices en termes de rapidité, de coût et d'agilité. Pourtant, les grandes organisations ont eu du mal à l'adopter notamment en raison des coûts, des difficultés à recruter suffisamment de talents et de la présence des technologies héritées. Si elle n'est pas mise en œuvre de manière réfléchie, l'approche traditionnelle de DevOps peut également conduire à la création de silos d'outils locaux, chaque équipe choisissant les outils et processus qui lui conviennent le mieux, mais qui ne sont pas nécessairement efficaces pour l'ensemble de l’organisation.
Lorsqu'elles développent une nouvelle initiative d'ingénierie de plateforme, les organisations peuvent choisir entre deux options. La première consiste à construire une couche d'authentification et de visualisation qui s'étend sur plusieurs outils spécifiques. Cependant, cette approche ne résoudra pas les problèmes sous-jacents des technologies héritées et des silos d'outils, ce qui en fait une solution peu envisageable à long terme. L'autre option consiste à mettre en place une plateforme de développement interne (IDP) qui réduit la charge cognitive des développeurs en regroupant plusieurs technologies et outils dans une expérience unique en libre-service.
Les principaux avantages de l'ingénierie plateforme
- Une accélération de la mise sur le marché : l'ingénierie de plateforme permet aux organisations de livrer des logiciels de meilleure qualité, plus rapidement et de manière plus rentable. La mise en place d’une équipe d'ingénierie de plateforme sera donc une stratégie payante à long terme, en permettant aux grandes organisations de se développer plus vite avec moins de logiciels et d'outils, entraînant ainsi des économies importantes.
- Une réduction des risques en matière de sécurité et de conformité : moins d'outils et des processus de travail plus standardisés diminuent la charge liée à la conformité et réduisent la surface d'attaque potentielle. Selon le rapport 2024 d'IBM sur le coût des violations de données, le coût moyen d'une violation de données en France en 2024 atteint 3,85 millions d'euros, marquant une augmentation de 3% par rapport à l'année précédente. Cependant, les organisations ayant bien géré leur surface d'attaque ont pu contenir les violations plus rapidement.
- Une optimisation de l'expérience développeur (DevEx) : l'expérience développeur devient une priorité croissante, et les organisations se battent pour attirer et fidéliser les meilleurs talents. Les équipes d'ingénierie de plateforme peuvent contribuer à améliorer l'expérience développeur en créant des workflows automatisés et efficaces, ou des golden paths, tout en allégeant les tâches manuelles et superflues des développeurs. Cela simplifie leur quotidien, leur permettant de construire, tester et déployer des applications de manière plus efficace, et de se concentrer sur des tâches plus importantes et stratégiques pour l’organisation.
Les meilleures pratiques en ingénierie de plateforme
Commencer par la culture
Les équipes d'ingénierie de plateforme devraient se considérer comme des propriétaires de produits, et agir comme si les développeurs étaient leurs clients. Elles doivent effectuer des recherches pour comprendre les besoins des développeurs, puis aller à la rencontre des utilisateurs finaux pour les aider à tirer parti des ressources mises à leur disposition. Cela nécessite des compétences en marketing, en communication et en support client, ce qui manque souvent au sein d'équipes très techniques.
Le point clé réside dans un état d’esprit et une culture axée sur le produit. Ceci permet aux équipes d'ingénierie de plateforme de se focaliser sur la création de valeur pour les utilisateurs finaux (développeurs), en écoutant les retours des utilisateurs et en améliorant constamment leur plateforme de développement. Les dirigeants doivent favoriser un environnement où les membres de l’équipe se sentent autonomes pour trouver des moyens d’aider leurs clients internes. Leur objectif sera de faciliter au maximum l'accès à leurs services, probablement à travers des interfaces en libre-service ou des APIs programmables.
Rester concentré sur la création de valeur business
Lorsqu'une organisation lance une initiative d'ingénierie de plateforme, elle peut être tentée d'observer les équipes les plus productives et de copier leurs pratiques. Malheureusement, elle met souvent trop l'accent sur la structure ou les outils de l'équipe modèle, qui sont souvent le résultat d'une équipe hautement productive, et non leur cause. Les dirigeants devraient plutôt se concentrer sur les résultats qu'ils souhaitent atteindre, puis identifier les outils et les structures d'équipe adaptés pour atteindre ces objectifs.
Définir l'objectif de votre pratique d’'ingénierie de plateforme en termes d'impact business
Augmenter la vitesse et l'agilité est un but courant, mais plusieurs objectifs commerciaux peuvent en découler. Un temps de mise sur le marché lent représente un coût d'opportunité évident, car les organisations doivent prendre des décisions difficiles sur les produits à prioriser. Les organisations capables de livrer plus rapidement sont également mieux préparées à répondre à des marchés en constante évolution. De plus, il y a des implications en matière de sécurité : les organisations doivent pouvoir réagir rapidement et efficacement en cas d'incident de sécurité.
Les indicateurs de productivité et d'efficacité courants sont utiles, mais les dirigeants devraient envisager de convertir ces métriques en valeurs monétaires pour mieux démontrer leur valeur commerciale. Par exemple, supposons qu'une initiative d'ingénierie de plateforme réduise le temps nécessaire à un nouveau développeur pour effectuer son premier engagement en production. L'organisation économise ainsi un pourcentage du salaire de ce développeur durant sa première année, ainsi qu'une partie des salaires des collaborateurs qui l'aident dans son intégration. De plus, l'organisation verra probablement une amélioration de la rétention du personnel, ce qui diminue le besoin de recrutement qui peut s’avérer coûteux (publicité, cabinets de recrutement, longs processus d’entretiens etc).
Les dirigeants peuvent optimiser les initiatives d'ingénierie de plateforme en restant concentrés sur la valeur commerciale pour obtenir les bons résultats.
Construire pour tous
Les premiers utilisateurs d'une plateforme de développement peuvent être les plus visibles au début du processus. Cependant, il est important de se rappeler que ces premiers adopteurs — qui, selon la théorie de la diffusion des innovations, représentent généralement moins de 20% d'une organisation — peuvent avoir des besoins très différents de ceux de la majorité des utilisateurs qui utilisent finalement la plateforme. Lorsque sont définis les golden paths qui ont du sens pour une organisation, il faut s’assurer de construire pour la majorité, et pas seulement pour les premiers adopteurs.
Un golden path courant qui mérite un investissement préalable est un pipeline CI/CD de bout en bout supportant un type de charge de travail particulier sur un ensemble de plateformes cibles (comme Kubernetes). Une fois que cette charge de travail de base est supportée, elle fournit une fondation solide pour d'autres cas d'usage et renforce la confiance dans la capacité de la plateforme à créer de la valeur. Il faut donc définir les parcours prioritaires d’une organisation en fonction des résultats commerciaux qu'ils permettent.
En faire plus avec moins
L'ingénierie de plateforme offre des avantages tels qu'une mise sur le marché plus rapide, une réduction des risques de sécurité et de conformité, ainsi qu'une amélioration de l'expérience développeur. Mettre en place une culture axée sur le produit et définir des objectifs business clairs sont des éléments clés pour réussir en ingénierie de plateforme. Alors que les organisations cherchent à accomplir davantage avec moins de ressources, il est évident que l'ingénierie de plateforme n'a jamais été aussi cruciale qu'aujourd'hui.