Q : Avez-vous un mentor qui vous a inspiré ou aidé dans votre parcours professionnel jusqu'à présent ?
Il y en a tellement. Faire partie de la communauté des start-ups à Raleigh, en Caroline du Nord, a été formidable, et des dizaines de personnes m'ont aidé d'une manière dont elles n'ont parfois même pas conscience. Bien que je pourrais citer des noms en particulier, certaines histoires marquantes ont réellement façonné ma vision du monde.
Une histoire me vient d’un responsable commercial qui est intervenu lors d’un de mes cours d’entrepreneuriat durant ma licence. En tant qu’étudiant en ingénierie axé sur le code et le développement de compétences techniques, la vente m’était aussi étrangère qu’inintéressante. Pourtant, cette personne a partagé une anecdote qui m’a permis de voir les choses autrement.
Il se souvenait d’une discussion avec un de ses collègues techniques. Ce collègue lui avait dit : « Je ne vois pas comment tu fais. » Le commercial avait répondu : « Faire quoi ? » Et le collègue : « Supporter le quota. Cela doit être tellement stressant de devoir vendre pour pouvoir manger. » Il y a réfléchi un instant et a simplement répondu : « Oui, mais si je ne vends pas, toi non plus tu ne manges pas. »
Cette histoire m’a vraiment aidé à contextualiser le métier d’ingénieur.
Vous pouvez créer le produit ou service le plus cool du monde, mais si vous n’arrivez pas à montrer la valeur à ceux que cela peut aider, vous faites simplement de l’ingénierie dans le vide.
Une autre personne qui m’a aidé était un mentor ayant dirigé des entreprises et départements d’ingénierie, avant de recentrer sa carrière pour aider les gens à concrétiser leurs idées et à trouver des rôles dans différentes start-ups. Il m’a accompagné à travers de nombreux défis, mais un des enseignements clés qu’il m’a transmis est que la plupart des dirigeants d’organisations techniques excellent dans l’un de ces trois domaines :
Le « chef geek », le manageur rockstar, ou la personne clé en produit. Il a poursuivi en expliquant qu'une entreprise prospère a besoin des trois, et qu’un bon leader doit savoir qui il est et ensuite recruter pour compléter les autres compétences. Cela m’a aidé à comprendre ma croissance en tant que leader technique et quand m’investir sur certains sujets ou au contraire, prendre du recul.
Q : Pouvez-vous citer trois forces ou compétences qui ont été importantes dans votre parcours ?
Une devise que je suis est « S’intégrer, puis se démarquer. » Même si ça sonne comme une pirouette, cela me rappelle que lorsque je travaille avec une nouvelle équipe, je dois d’abord apprendre à la connaître. Comprendre pourquoi les choses sont comme elles sont est crucial pour instaurer la confiance.
Par exemple, si j’arrive le premier jour et que je tente de mettre en œuvre ou de promouvoir un changement majeur, la réaction par défaut sera la résistance et je me compliquerai la tâche pour la suite. Il est essentiel de rechercher les points communs et les domaines d’accord au sein d’une nouvelle équipe avant de vouloir bousculer les habitudes ou impulser de grands changements. Cette approche s’applique à la création de toute nouvelle relation dans la vie.
Un autre principe qui me guide est : « Ce que les gens disent et font n’est corrélé qu’en partie à ce qu’ils pensent et ressentent. » Même si cela peut sembler pessimiste, j’aime l’idée que les humains agissent souvent sous une énorme pression pour parler ou agir d’une certaine façon.
Par exemple, quand vous demandez à quelqu’un comment ça va, il répondra presque toujours « Bien », au lieu de vraiment ouvrir son cœur. Lorsqu’on travaille avec des équipes et des groupes, il est important d’être attentif à ces pressions pour vraiment comprendre et faire preuve d’empathie. À titre d’exemple, si quelqu’un relève de vous, il peut être difficile pour lui d’assumer une erreur s’il craint des répercussions.
En tant que leader, il est essentiel de bâtir et d’évaluer sans cesse notre environnement afin de favoriser l’ouverture. Sinon, on risque d’installer une culture où les problèmes s’enracinent en interne sans jamais être traités.
En matière de gestion d’équipes, il faut être continuellement introspectif et rétrospectif pour développer des compétences solides. Même si « regarder à l’intérieur de soi » fonctionne pour moi, cela ne marchera peut-être pas pour tout le monde, et un bon leader doit savoir reconnaître les différentes manières dont chacun apprend et grandit.
Un leader efficace se concentre sur l’équilibre entre l’accomplissement et l’empathie, tout en réfléchissant constamment à ses propres forces et faiblesses ainsi qu’à celles de l’ensemble de l’équipe.
Q : Quelles compétences cherchez-vous encore à développer aujourd’hui ?
Pour revenir au conseil d’un de mes mentors, je continue sans relâche à travailler le pilier du management parmi les trois rôles du leader technique. J’ai eu la chance de collaborer avec un collègue exceptionnel dans ce domaine, qui m’a montré plusieurs façons clés d’évoluer et de m’améliorer.
En tant que cofondateur d’une start-up technologique, je me suis beaucoup concentré sur la technologie et les produits, et travaillé avec de petites équipes. Maintenant que notre organisation grandit, je dois évoluer avec elle. L’art du management est une compétence aussi essentielle que le développement logiciel.
Q : Parlons d'une équipe DevOps performante. Quels sont les objectifs clés qu’une équipe DevOps peut identifier lors d'un parcours de transformation numérique ?
L’un des points les plus importants que j’entends de la part d’autres leaders, c’est d’établir une compréhension partagée de ce que DevOps signifie pour votre organisation. J’ai vu des entreprises pour lesquelles « DevOps » consiste à embaucher un SRE, l’appeler ingénieur DevOps, puis fêter cela.
Commencer par les composants essentiels du cycle DevOps et identifier comment le travail et les idées circulent dans votre processus de développement est un point de départ clé. Prenez un ticket de développement unique dès sa création et suivez-le jusqu’à ce qu’il génère le ticket suivant : cela peut vous permettre d’identifier des lacunes essentielles.
Par exemple, vous pouvez constater que votre équipe QA travaille en silo et que vous avez une mentalité de « passer le bébé » qui affecte votre capacité à avancer rapidement. Dès que vous commencez à formaliser ce flux au sein de votre organisation, vous pouvez ensuite réfléchir aux outils à mettre en place pour accompagner ce changement.
Beaucoup d’organisations commencent par les outils et essaient de faire évoluer l’organisation à partir de là, lentement et difficilement. C’est une manière inversée de débuter.
Q : Existe-t-il des défis ou des pièges classiques auxquels les équipes DevOps doivent prêter attention ?
DevOps est avant tout une façon de travailler. À bien des égards, c’est la suite logique de la transformation agile qui a bouleversé l’industrie du développement logiciel il y a des décennies. Il est essentiel de raisonner ainsi. De nombreuses organisations ont eu du mal avec la transformation agile en raison d’un manque de compréhension et d’adhésion de la part des dirigeants. Certains pensaient qu’il suffisait de mettre en place des réunions quotidiennes pour accomplir 50% de tickets en plus. Il est évident avec le recul que cette vision était erronée.
De la même manière, certains dirigeants pensent aujourd’hui qu’il suffit d’un pipeline CI/CD pour battre les indicateurs Dora et obtenir 50% de productivité en plus. Mais le changement d’état d’esprit est crucial. DevOps permet une prise en main complète du cycle de livraison logicielle, ce qui aide les équipes à bâtir de meilleurs systèmes. DevOps offre aux équipes la possibilité d’identifier comment s’améliorer et de mettre en œuvre ces changements. Aux dirigeants, donc, de leur offrir l’espace et le soutien nécessaires pour constater réellement l’impact sur l’organisation.
Q : Comment la collaboration et la communication efficaces entre les membres d’une équipe améliorent-elles la productivité et la réussite d’une équipe DevOps ? Quelles pratiques facilitent cela ?
La communication est capitale dans l’ingénierie. Presque tous les problèmes, in fine, découlent d’une communication défaillante, et DevOps ne fait pas exception. Pour en revenir à la nécessité d’un langage commun sur le sens de DevOps dans votre organisation, il faut vraiment savoir où l’on va et partager cette vision pour maximiser ses chances de réussites.
Parmi les pratiques essentielles que j’ai observées : la définition de points de validation simples dans vos processus. Ceux-ci doivent concerner le travail lui-même et non les personnes qui l’accomplissent. Disposer de processus bien définis pour le passage des tâches et des informations dans l’équipe permet d’être efficace dans le changement de contexte, notamment lorsque du travail imprévu survient, et de faire évoluer indépendamment différentes composantes de l’équipe.
Chaque équipe et chaque produit ont des besoins légèrement différents : définir ces étapes et clarifier ce qui doit s’y passer vous aidera à identifier où résident vos inefficacités.
Q : Quel rôle joue l’intégration et le déploiement continus (CI/CD) dans DevOps, et quelles sont les meilleures pratiques pour mettre en œuvre des pipelines CI/CD afin d’assurer un processus de publication logicielle fluide et fiable ?
Il est essentiel d’amener les modifications logicielles de l’idée à la production aussi rapidement que possible. Les processus manuels sont extrêmement lents et soumis à l’erreur humaine. Les humains, bien qu'excellents pour résoudre des problèmes et faire preuve de créativité, sont en général peu efficaces pour dérouler exhaustivement des check-lists des centaines de fois par jour. L'automatisation des tâches fastidieuses permet réellement à votre équipe de se concentrer là où elle excelle. En outre, les ordinateurs sont exceptionnellement rapides et peuvent évoluer rapidement à grande échelle. Mettre en place un pipeline qui exploite ces capacités est le principal avantage de l’adoption d’un processus CI/CD.
Un élément clé à garder à l’esprit lors de la création d’un tel processus est de trouver le bon équilibre entre vitesse et sécurité. Vous pouvez certes automatiser complètement chaque commit d’un développeur jusqu’à la production, mais cela ne garantit aucune sécurité. Construire votre pipeline pour permettre ce niveau de rapidité et ajouter progressivement des contrôles vous aidera à l’avenir. Peut-être qu’au début, chaque étape doit être explicitement validée par un ingénieur qualité et un ingénieur de mise en production, mais le processus lui-même pourrait n'être qu’une pression sur un bouton.
Une fois que vous aurez mis en place des tests automatisés, vous pourrez peut-être supprimer la validation du QA.
Q : En quoi favoriser une culture et un état d’esprit DevOps contribue-t-il au succès global d’une équipe DevOps, et quelles stratégies les organisations peuvent-elles utiliser pour promouvoir cette culture au sein de leurs équipes de développement et d’exploitation ?
Le principal combat dans cette transformation est de lutter contre la mentalité « je le jette par-dessus le mur ». Si vous débutez dans cette démarche, vous pouvez avoir cinq ou six équipes devant intervenir sur chaque élément de travail avant qu’il n’atteigne la production. Lorsque vous adoptez DevOps, vous encouragez la responsabilité partagée sur l’ensemble du cycle de vie du produit.
Cela peut exiger d’importants changements dans votre façon de concevoir, construire et déployer votre solution. Bien que beaucoup soient familiers avec la création de logiciels plus testables, adopter une culture DevOps exige de construire des systèmes et des plateformes pouvant être gérés de bout en bout par de petites équipes.
Q : Quels sont les « 5 composants essentiels d’une équipe DevOps performante » ? Merci de partager une histoire ou un exemple pour chacun.
1. Une compréhension commune de ce que signifie DevOps pour votre organisation — L’un des écueils les plus contre-productifs d’une démarche DevOps, c’est lorsque la direction et l’équipe n’ont pas la même vision des résultats attendus. DevOps, ce n’est pas simplement embaucher des ingénieurs « DevOps » et acquérir un outil CI/CD. Une fois que vous êtes alignés sur le fait qu’il s’agit d’un changement de mentalité, vous permettez aux équipes de véritablement s’approprier la livraison de valeur client de bout en bout.
2. Temps et soutien pour identifier et mettre en œuvre le changement — Les équipes DevOps identifient souvent de multiples moyens d’améliorer la livraison et l’efficacité de l’équipe. Ne pas laisser de la place à cette exploration limite fortement l’impact que votre équipe peut avoir sur la conduite du changement.
3. Des moyens de mesurer et d’identifier le succès grâce aux données — Tout le monde connaît les métriques DORA, et les quatre mesures clés pour évaluer la maturité DevOps de votre organisation de développement. Bien que ce soit un excellent point de départ, il vous faut définir ce que signifie être une organisation DevOps pour votre activité — et cela doit être guidé par la donnée.
4. Un produit conçu pour soutenir l’appropriation et le développement de cette philosophie — DevOps est une philosophie intéressante pour de nombreuses organisations, mais il arrive souvent que certaines entreprises ne soient pas prêtes à faire ce pas. Il faut s’assurer que votre produit puisse être géré par une équipe qui combine opérations et développement. Les produits hébergés sur site, avec des cycles de publication rigides, ou qui n’ont pas la maturité nécessaire pour soutenir ce type d’équipes ne sont pas toujours adaptés. Vous constaterez certains bénéfices en adoptant une approche plus opérationnelle, mais ils restent limités.
5. Automatisation et outils — Assurez-vous que les processus se déroulent toujours de manière cohérente et rapide, et que la responsabilité concernant les accords de travail est garantie. Un des changements clés dans une organisation DevOps concerne justement les accords de fonctionnement passés avec votre équipe et entre équipes. Si vous mettez en place un processus de test exigeant que tout le code soit testé en régression avant déploiement, vous devez l’automatiser. Vous devez instaurer des contrôles automatisés pour assurer cela. Une fois ces outils et pratiques établis, vous découvrez souvent que des objectifs ambitieux comme le déploiement continu ne sont qu’à quelques étapes de plus.
Assurez-vous que les tests ne se contentent pas de s’exécuter, mais qu’ils répondent à vos normes de qualité.
Q : Quelles tendances émergentes voyez-vous qui pourraient avoir un impact significatif sur les stratégies de transformation numérique à l'avenir ?
Bon nombre des grandes promesses liées, par exemple, à l'adoption du DevOps reposent sur des données générales et des résultats globaux. Bien souvent, ces chiffres mis en avant, comme « votre organisation est 50 pour cent plus efficace », sont presque impossibles à mesurer, et il peut être difficile de vérifier que vous atteignez ce type de résultats.
Je m’attends à voir un effort plus ciblé pour identifier des résultats spécifiques pour chaque organisation avant de se lancer dans un parcours de transformation numérique sur plusieurs années. Non seulement cela s’aligne avec l’accent accru mis sur l’efficacité depuis quelques années, mais cela garantit aussi le succès. Plutôt que de viser des objectifs globaux comme ceux mentionnés, des buts précis (mais impactants) comme « Nous résolvons les problèmes clients 25 pour cent plus rapidement » sont plus pertinents.
Favoriser la Croissance par le Mentorat
Le pouvoir du mentorat et d’une communication ouverte est évident dans le parcours de Jeremy Freeman. En apprenant activement des autres et en favorisant un environnement collaboratif, les dirigeants peuvent permettre à leurs équipes DevOps d’accomplir de grandes choses.
Abonnez-vous à la newsletter The CTO Club pour retrouver plus d’interviews, de conseils DevOps et d’astuces de mentorat !
