Alors que DevOps est largement reconnu pour optimiser la livraison logicielle et améliorer la qualité, créer une équipe véritablement performante dépasse la simple mise en place d'un outil. Il s'agit d'une combinaison stratégique des bons éléments : culture, processus, collaboration et technologie. Cet article explore les composantes essentielles d'une équipe DevOps performante et propose des pistes sur la manière dont les organisations peuvent les intégrer pour obtenir des résultats optimaux.
Pour cette session de questions-réponses, nous avons discuté avec David Brooks, Vice-président principal de l’Évangélisation chez Copado. Fort de 35 ans d'expérience dans la Silicon Valley, il a rejoint Copado en 2018 pour créer la pratique de la gestion de produit et a dirigé l’équipe produit pendant quatre ans. Brooks a rejoint Salesforce.com en 2005 pour lancer l’AppExchange. En tant que Vice-président du Produit, il a dirigé les équipes qui ont développé la plateforme Force.com au cours de ses neuf années chez Salesforce.
Merci beaucoup de prendre le temps de discuter avec nous ! Avant de commencer, pourriez-vous partager votre parcours ?
J’ai obtenu mon Master en Génie Électrique à l’Université d’Auburn en 1984. Mon mémoire portait sur un système d’exploitation multiprocesseur tolérant aux pannes pour la défense antimissile balistique.
Je me suis installé dans la Silicon Valley, et j’ai travaillé dans huit startups, dont trois ont connu un succès de sortie. J’ai également rejoint Salesforce peu après leur introduction en bourse en 2005. J’ai dirigé les équipes qui ont lancé AppExchange, puis la plateforme Salesforce. J’ai occupé principalement des postes de direction en ingénierie et gestion de produit, même si j’ai été fondateur et PDG de deux entreprises.
Personne ne peut atteindre le succès seul. Y a-t-il une personne en particulier qui vous a aidé à arriver là où vous en êtes aujourd’hui ?
Deux personnes ont eu un rôle déterminant. Chuck Comiso était le PDG de Link Technologies, où je dirigeais le développement produit. C’était un manager à l’ancienne formé chez HP. Chuck m’a beaucoup appris sur la gestion des collaborateurs. Ted Elliott était PDG de JobScience et l’est aujourd’hui chez Copado. Ted m’a appris à me concentrer sur l’essentiel et à comprendre ce qu’il faut pour faire grandir une startup.
Quelles sont les trois forces, compétences ou qualités qui vous ont permis d’avancer dans votre carrière ? Comment les autres peuvent-ils développer activement ces aspects chez eux ?
La curiosité, la communication et la créativité. Je suis naturellement curieux et j’apprends tout au long de la vie, c’est un talent que j’apprécie énormément. J’ai aussi la capacité de communiquer avec les gens de façon compréhensible pour eux. Je parle chinois et j’ai appris à être patient avec ceux qui utilisent l’anglais en langue seconde. Cette faculté se traduit aussi par la capacité à expliquer des idées techniques à des personnes non techniques.
Les gens sont souvent tellement occupés à planifier ce qu’ils vont dire ensuite qu’ils passent à côté du vrai problème pendant une conversation. Enfin, comme j’ai de nombreux centres d’intérêt, je parviens à combiner des idées pour créer des approches originales. Ma créativité se manifeste donc par la capacité à synthétiser de nombreuses informations pour trouver de nouvelles applications.
Quelles compétences cherchez-vous encore à développer actuellement ?
Ce serait la communication. J’ai récemment endossé un nouveau rôle d’Évangéliste Technique, ce qui m’oblige à progresser dans la transmission des idées fondamentales qui rendent Copado unique. Je dirige également nos opérations en Chine, donc mon chinois sera mis à l’épreuve.
Parlons de ce qu’est une équipe DevOps performante. Quels pourraient être les principaux objectifs qu’une équipe DevOps identifierait dans un parcours de transformation numérique ?
Je pense que la clarté et le respect sont primordiaux. Clarifier ce qui doit être accompli est une question de priorité, et cela définit précisément les récits utilisateurs et les fonctionnalités. Un excellent chef de produit doit pouvoir communiquer le « quoi » et le « pourquoi ».
Tout commence par une compréhension approfondie du « pourquoi », puis en s’assurant que les équipes de développement et de test le comprennent aussi. Les membres de l’équipe doivent se respecter mutuellement, chacun estimant que ses opinions sont prises en compte et ses préoccupations entendues. Mais ensuite, chaque membre doit remplir ses responsabilités et gagner la confiance de l’équipe lors de chaque sprint.
Existe-t-il des défis ou des pièges courants auxquels les équipes DevOps devraient prêter attention ?
Trop souvent, un Product Owner ne comprend pas vraiment les besoins des utilisateurs — pas ce qu’ils demandent, mais ce dont ils ont besoin. On m’a toujours appris à demander « pourquoi ? » cinq fois. On finit alors par comprendre le besoin réel et par pouvoir le communiquer efficacement au reste de l’équipe.
L’autre défi, c’est lorsque les membres de l’équipe ne sont pas francs au sujet de leurs désaccords. J’ai vu des développeurs dire à un chef de produit qu’une chose n’était pas techniquement faisable simplement parce qu’ils ne pensaient pas que c’était la bonne solution. Chaque membre d’équipe doit sentir que son avis compte et doit s’exprimer en cas de désaccord. Au final, le chef d’équipe prend la décision, et tout le monde s’y rallie.
Comment une collaboration et une communication efficaces entre les membres de l’équipe peuvent-elles améliorer la productivité et le succès d’une équipe DevOps, et quelles pratiques peuvent favoriser cela ?
Une communication franche et ouverte, où chacun se sent libre d’exprimer son avis et d’être entendu, est essentielle. La compréhension du pourquoi l’est également. Si un membre de l’équipe identifie une meilleure façon de répondre à un besoin, il faut que l’équipe soit ouverte à la proposition. Cela aboutit souvent à une meilleure solution, livrée plus rapidement.
Quel rôle joue le CI/CD dans DevOps et quelles sont les meilleures pratiques pour déployer des pipelines CI/CD afin d’assurer un processus de livraison logicielle fluide et fiable ?
La CI/CD consiste à déployer de nombreux petits changements. Cela commence par la définition de User Stories de manière à pouvoir les réaliser en quelques heures, et non en plusieurs jours, et à les livrer à la prochaine étape sans rien casser. Les tests automatisés fonctionnels et de sécurité sont également essentiels.
Les équipes doivent adopter le développement piloté par les tests afin que la fonctionnalité puisse circuler rapidement dans la chaîne de livraison. Des points de contrôle qualité doivent être établis à chaque étape pour garantir qu’un changement ne puisse passer à l’étape suivante que s’il est complet. Une véritable CI/CD jusqu’en production n’est pas toujours réalisable dans certains secteurs très réglementés, mais cela ne devrait pas empêcher l’application de ces pratiques pour toutes les étapes avant la production.
Comment le développement d’une culture DevOps et d’un état d’esprit DevOps contribue-t-il au succès global d’une équipe, et quelles stratégies les organisations peuvent-elles utiliser pour promouvoir cette culture parmi leurs équipes de développement et d’exploitation ?
Adopter un état d’esprit DevOps signifie que tous les membres de l’équipe partagent le même objectif : livrer un travail de qualité jusqu’en production. Les développeurs ne doivent pas considérer leur travail comme terminé une fois qu’ils ont poussé des changements dans le dépôt de code. La qualité n’est pas la tâche d’une seule personne ; chaque membre de l’équipe en est responsable. Cela, combiné à la confiance et à l’ouverture à l’amélioration continue, rend l’équipe performante.
Quels sont les éléments essentiels d’une équipe DevOps performante ?
1 . Confiance mutuelle—Au début de ma carrière, j’ai travaillé dans une équipe où les membres ne se faisaient pas totalement confiance. Ils remettaient sans cesse en question les décisions des autres et effectuaient en secret des modifications pour « corriger » des problèmes. Cela ralentissait le développement et rendait l’ambiance de travail très désagréable.
2 . Engagement envers les objectifs de l’équipe - Un travail d’équipe efficace repose sur des objectifs communs. D’après mon expérience, les équipes les plus performantes vont au-delà des réussites individuelles. J’ai vu des responsables techniques qui, après avoir rapidement terminé leurs propres tâches, guidaient et soutenaient les développeurs juniors. Cet esprit de collaboration s’étendait même aux développeurs qui aidaient les ingénieurs de test à finaliser l’automatisation des tests. Le résultat : cette équipe tenait systématiquement ses engagements et maintenait une atmosphère de travail positive.
3 . Communication claire - Beaucoup de temps et d’énergie peuvent être gaspillés lorsque l’équipe ne communique pas bien. Tout commence par une compréhension claire des objectifs. Lorsque j’ai débuté avec la méthodologie agile en 2006, je trouvais les réunions de planification de sprint trop longues et les réunions quotidiennes inutiles. Cela n’aidait pas que je doive porter une image de coq pendant la réunion pour rappeler que j’étais observateur et n’avais pas le droit de parler.
Avec le recul, je comprends l’importance de garder ces réunions courtes, mais il y avait des occasions manquées d’éclaircir certains points. Plus tard dans ma carrière, nous avons utilisé les réunions quotidiennes pour lever les ambiguïtés. Il ne faut pas attendre la fin du sprint pour s’apercevoir qu’on a développé une fonctionnalité incorrecte.
4 . Amélioration continue - Aucune équipe ne se ressemble, et aucun processus unique ne conviendra à toutes. Le mouvement Lean Manufacturing a permis aux opérateurs sur la chaîne de montage de modifier les processus pour plus d’efficacité. Ils menaient des expériences et évaluaient si les changements étaient bénéfiques ou non. Il en va de même pour les processus de développement logiciel. L’équipe doit mesurer les résultats avec des outils comme le Value Stream Mapping pour comprendre les vrais problèmes, puis être prête à ajuster le processus pour qu’il ait du sens et respecte les règles de conformité de l’entreprise.
5 . Un espace sécurisé pour les nouvelles idées - On n’obtient les idées de tous les membres que s’ils se sentent en sécurité lorsqu’ils les partagent. Il n’existe pas de question ou d’idée stupide. Souvent, une idée peut sembler impossible à mettre en œuvre, mais en interrogeant les habitudes de longue date, on se rend compte que personne ne sait vraiment pourquoi elles existent. La pire réponse que j’aie jamais entendue : « Parce qu’on a toujours fait comme ça ». L’exigence d’amélioration continue impose l’ouverture à de nouvelles façons de penser. Peut-être rejetterez-vous 90 % des nouvelles idées, mais les 10 % retenues peuvent avoir un impact significatif.
-
UptimeRobot
Visit WebsiteThis is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.7 -
Site24x7
Visit WebsiteThis is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.6 -
ManageEngine Applications Manager
Visit WebsiteThis is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.3
Quelles tendances émergentes envisagez-vous dans le domaine du DevOps qui pourraient impacter de façon significative les stratégies de transformation digitale à l’avenir ?
L’intelligence artificielle générative, sans aucun doute. L’usage des produits Copilot pour générer du code et des scripts de test va considérablement augmenter la productivité. Mais il faut commencer par un bon ensemble de spécifications, donc on verra de nettes améliorations dans les outils d’aide à la planification.
La plupart de nos efforts futurs seront axés sur la certitude de faire les bons choix, de comprendre leur impact et leurs dépendances. GenAI facilitera la documentation des versions et améliorera notre capacité à accompagner les utilisateurs finaux en générant des services d’aide en temps réel, à jour avec l’état actuel des applications.
Si vous pouviez inspirer un mouvement qui ferait le plus de bien au plus grand nombre, quel serait-il ?
Wouah ! Je pense que tout se résume à des principes fondamentaux. Traitez les autres comme vous souhaitez être traité, c’est-à-dire avec respect. Prenez la responsabilité de vos engagements et tenez vos promesses, soit l’intégrité. Concentrez-vous sur la réussite de vos parties prenantes ; rendez-les performantes et gagnez leur confiance.
À retenir
Construire une équipe DevOps performante nécessite un effort délibéré et continu. En donnant la priorité aux éléments clés—culture, processus, collaboration et technologie—les organisations peuvent libérer tout le potentiel de DevOps.
- Évaluez votre situation actuelle et identifiez les domaines à améliorer.
- Investissez dans la formation et les ateliers pour favoriser une culture DevOps collaborative.
- Mettez en place des outils et automatisez les processus pour optimiser les flux de travail.
- Mesurez continuellement les progrès et adaptez votre approche en fonction des résultats.
Pour plus d'interviews et d'analyses DevOps, abonnez-vous à la newsletter de The CTO Club.
