Formation DevOps écrite
Quels sont les rôles au sein de votre organisation DevOps ?
Généraliste DevOps
Le rôle principal d’un généraliste DevOps est de faciliter la mise en place des pratiques DevOps, de favoriser leur progression efficace et saine et de veiller à leur amélioration continue au sein d’une organisation DevOps et de ses équipes. Les compétences et le regard de chaque personne au sein de l’organisation, ainsi que sa capacité à travailler avec les équipes DevOps, sont donc des facteurs déterminants de la réussite et de la pérennité de ces organisations.
Que vous fassiez partie d’une organisation DevOps ou que vous collaboriez simplement avec d’autres équipes DevOps, il est essentiel de comprendre en quoi et pourquoi le DevOps est plus efficace, plus performant et plus agréable à mettre en pratique que les autres méthodes de développement et de livraison de logiciels. À l’ère de la transformation numérique, où le logiciel et son écosystème occupent une place centrale, il est vivement recommandé à chaque professionnel de devenir généraliste DevOps, qu’il exerce ou non un métier technique ou une fonction de direction ou de gestion dans l’informatique, le logiciel ou la technologie.
Cadre DevOps
Les cadres DevOps sont responsables de la bonne application des connaissances DevOps dans leur organisation. Ils jouent un rôle clé auprès des équipes pour instaurer de nouvelles façons de travailler et de penser selon les principes DevOps. Ils savent mobiliser de façon constructive les équipes et la direction pour faire avancer les projets. Ils aident les équipes DevOps à s’aligner sur les stratégies métier et sont chargés d’identifier, de sélectionner, de cadrer et de hiérarchiser les initiatives, puis de piloter le déploiement du DevOps dans leur organisation.
Les cadres DevOps sélectionnent les membres clés de leurs organisations DevOps et veillent à ce que tous les professionnels DevOps soient correctement formés, disposent de missions claires et soient affectés aux projets les plus adaptés à leurs compétences et à leur expérience. Ils accompagnent et conseillent les équipes DevOps, soutiennent la planification des ressources et lèvent les difficultés et les obstacles pour assurer la réussite de toute l’organisation DevOps.
Les cadres DevOps rendent compte à la direction générale des objectifs métier DevOps fixés au préalable et des indicateurs de débit métier retenus. Ils promeuvent les bonnes pratiques, les améliorations obtenues et les réussites, puis les diffusent dans toute leur organisation DevOps. Ils travaillent très étroitement avec toutes les équipes DevOps, notamment avec les chefs de projet, les Product Owners, les responsables des mises en production, les formateurs et les coachs DevOps, compte tenu de leurs missions respectives au sein de l’organisation.
Chef de projet DevOps
Le chef de projet DevOps est responsable de l’atteinte des objectifs déclarés du projet. Ses principales responsabilités sont de fixer des objectifs clairs et réalisables, d’élaborer les exigences du projet et de gérer les contraintes du triangle de gestion de projet, à savoir les coûts, les délais, le périmètre et la qualité.
Le chef de projet DevOps représente souvent le client. Il doit déterminer précisément ses besoins et y répondre en s’appuyant sur sa connaissance de l’entreprise qu’il représente. Il fait le lien entre l’équipe de développement et de livraison et le client. Il connaît donc suffisamment son secteur pour comprendre les problèmes et en discuter avec l’équipe de livraison et le client. Il doit savoir s’adapter aux procédures internes de l’autre partie au contrat et nouer des liens étroits avec les représentants désignés. Cela lui permet de résoudre efficacement les principales questions de coûts, de délais, de périmètre et de qualité, et surtout de satisfaire le client.
Le titre « chef de projet DevOps » désigne la personne chargée de mener un projet à terme. Elle en assume l’entière responsabilité et dispose de l’autorité nécessaire pour atteindre les objectifs du projet dans les délais et le budget impartis, avec la meilleure qualité possible.
Product Owner DevOps
Le Product Owner DevOps exerce un rôle singulier et étendu, qui réunit les aspects les plus exigeants des fonctions traditionnelles de chef de projet et de responsable produit. Il représente également le point de vue du client dans une équipe DevOps et veille à ce que le bon travail soit effectué au bon moment. Il doit être étroitement intégré aux équipes et aux processus de développement et de livraison de logiciels DevOps pour maximiser la valeur ajoutée de chaque mise à disposition du produit.
Les Product Owners DevOps assument plusieurs responsabilités importantes, dont les suivantes :
- Gérer le backlog produit DevOps.
- Contribuer à l’élaboration des feuilles de route et des plans de mise à disposition du produit.
- Identifier les dépendances du produit et fixer des priorités adaptées à la mission de l’organisation.
- Gérer les parties prenantes et la communication.
Si vous travaillez directement avec vos clients, comprendre le rôle du Product Owner DevOps est essentiel, que vous exerciez ou non cette fonction au sein de votre équipe. Cela vous permet de les aider au mieux et de leur apporter le plus de valeur possible.
Architecte DevOps
Un architecte DevOps est responsable de l’architecture, de la conception et du développement des outils et processus de déploiement des produits. Il conçoit et développe des solutions innovantes pour construire et maintenir l’architecture du produit, les outils associés et les processus du pipeline d’intégration et de déploiement continus.
Les architectes DevOps définissent un ensemble de services faiblement couplés, de sorte que les changements apportés à ces services ou à leurs environnements affectent le moins possible leurs consommateurs. Une certaine dépendance est inévitable, puisque le consommateur utilise le service. Les architectes DevOps la réduisent en séparant l’interface de son implémentation et en s’appuyant sur des règles de gestion des versions, des contrats d’exécution, l’indépendance vis-à-vis de la plateforme et la transparence de la localisation.
Les architectes DevOps jouent un rôle essentiel dans la réussite des organisations et des équipes DevOps. En plus de bâtir une architecture optimale à faible couplage pour leurs produits et services, les organisations DevOps doivent disposer d’un environnement extrêmement fiable, entièrement automatisé et sans obstacle. Avec le modèle en cascade, tout le monde avait besoin d’un 4×4 pour franchir un terrain difficile. L’architecte DevOps construit l’autoroute pour que les autres puissent utiliser des voitures plus rapides.
Développeur DevOps
En tant que développeur DevOps, vous traduisez les objectifs métier de vos clients en solutions et systèmes logiciels. Ce qui vous distingue d’un développeur classique, c’est que vous gardez en tête les objectifs et les demandes métier de vos clients tout au long de votre travail. Vous savez pourquoi votre employeur vous a recruté et ce que vos clients attendent de vous.
Vous êtes également le partenaire technologique de confiance de vos clients. Vous donnez à vos employeurs et à vos clients toutes les raisons de vous faire confiance et de continuer à travailler avec vous. Vous reliez les objectifs et les exigences métier à la conception des logiciels et à des lignes de code exécutables. Votre rôle dépasse la seule conception ou programmation. Vous êtes responsable de l’ensemble du cycle de développement de votre logiciel, depuis l’analyse des exigences, la vision architecturale et l’automatisation des tests jusqu’à l’expérience utilisateur, aux extensions, à l’exploitation, à la maintenance et à la fin de vie.
Vous déployez des solutions logicielles fonctionnelles par petites itérations fréquentes. Vous veillez à livrer vos conceptions et logiciels en continu pour créer de la valeur rapidement et sans interruption pour votre activité et celle de vos clients. Vous gardez toujours votre mission à l’esprit : satisfaire vos clients tout en créant des logiciels que vous et vos clients aimez utiliser !
Si vous développez des logiciels avec passion et souhaitez appliquer le DevOps pour créer des systèmes efficaces, de haute qualité et de premier plan, il vous est vivement recommandé de devenir développeur DevOps.
Ingénieur d’exploitation DevOps
Les ingénieurs d’exploitation DevOps supervisent, entretiennent et déploient les logiciels et infrastructures de pointe sur lesquels reposent leurs produits. Ils déploient et entretiennent les infrastructures réseau et les serveurs dans les centres de données. Ils participent également aux installations avec les équipes de livraison et de déploiement DevOps, et élaborent des plans de secours pour la livraison et le déploiement des produits.
Leur travail va du déploiement physique de technologies dans les centres de données à une collaboration étroite avec différentes parties prenantes, notamment les développeurs DevOps, pour intégrer la disponibilité, la maintenabilité, la supervision et l’analyse au cœur des produits.
Tout ce que les clients de votre organisation voient repose sur l’architecture construite par les ingénieurs d’exploitation DevOps. Ils veillent au bon fonctionnement de ces systèmes. Du développement et de la maintenance de produits et services à la création de la prochaine génération de plateformes, ils rendent possible le portefeuille de produits de leur organisation.
Fiers d’être des ingénieurs au service des ingénieurs, ils aiment démonter les équipements, quitte à en annuler la garantie, pour pouvoir les reconstruire. Toujours prêts à assurer l’astreinte, ils maintiennent leurs systèmes et réseaux en état de marche et veillent à offrir aux clients la meilleure expérience et la plus rapide possible.
Ingénieur DevOps en assurance qualité
Les ingénieurs DevOps en assurance qualité analysent activement les arguments distinctifs du produit, les exigences, les cas d’utilisation, l’architecture logicielle et divers autres documents de conception pour déterminer quels types de tests permettront de valider la qualité du produit testé. Ils travaillent avec les développeurs et les chefs de projet DevOps pour choisir les méthodes et outils de mise en œuvre et d’exécution des tests.
Les ingénieurs DevOps en assurance qualité établissent des listes de cas de test inventifs en cherchant résolument à mettre le produit en défaut. Ils classent également leurs cas de test par priorité et niveau de difficulté. Ils rédigent et relisent une documentation détaillée pour que le reste de l’équipe DevOps comprenne correctement ces cas.
Les ingénieurs DevOps en assurance qualité suivent et examinent en continu les phases d’exécution pour s’assurer que les cas de test mis en œuvre atteignent leurs objectifs. En spécialistes fiables et sûrs de leur expertise, ils expliquent le but et l’importance de leurs cas de test. Ils signalent et examinent les défauts et veillent à ce qu’aucune fonctionnalité prévue ne soit sacrifiée.
Les ingénieurs DevOps en assurance qualité encouragent toute l’équipe DevOps à examiner leur conception des tests et tiennent compte des retours pour ajouter de nouveaux cas créatifs et éliminer les redondances. Ils consacrent également une part importante de leur temps à automatiser et à exécuter les tests, puis à les relancer pour valider les corrections fournies par les équipes de développement.
Ingénieur DevOps en sécurité de l’information
Dans les organisations informatiques classiques, la sécurité de l’information est généralement traitée après coup. Elle constitue une exigence non fonctionnelle de plus, dont on s’occupe souvent au moment où les problèmes sont les plus difficiles et coûteux à détecter et à corriger.
Les ingénieurs DevOps en sécurité de l’information élaborent la stratégie de sécurité globale de leur organisation et définissent le détail de sa mise en œuvre. Ils savent qu’il faut constamment mettre en balance les avantages de mesures de sécurité supplémentaires et la charge potentielle pour l’entreprise. Ils identifient et corrigent de façon proactive les problèmes de sécurité dans la conception, dès les premières étapes de développement des produits, ainsi que dans les systèmes logiciels en fonctionnement. Ils surveillent les réseaux et la télémétrie des logiciels, et hiérarchisent les actions en fonction du risque.
Dans les organisations DevOps, ces ingénieurs travaillent aux côtés des développeurs et des ingénieurs d’exploitation DevOps. Ils font bénéficier le développement et la livraison de logiciels de leurs recommandations et de leur expertise beaucoup plus tôt dans le processus. Ils permettent à leur organisation d’intégrer la sécurité au produit tout au long de son cycle de livraison.
Responsable des mises en production DevOps
Les responsables des mises en production DevOps assurent la gestion et la coordination du produit du développement à la production. Ils s’occupent généralement de détails et de difficultés techniques qui dépassent le champ d’intervention d’un chef de projet traditionnel. Ils supervisent la coordination, l’intégration et le déroulement du développement, des tests et des déploiements pour soutenir la livraison continue. Ils se consacrent à la création et à la maintenance de la chaîne d’outils de livraison des applications de bout en bout.
Les responsables des mises en production DevOps travaillent étroitement avec les chefs de projet et les Product Owners DevOps pour élaborer les feuilles de route et les plans de mise en production, identifier les dépendances et les rendre visibles, veiller à ce que les équipes DevOps hiérarchisent les tâches qui en dépendent et contribuer à la gestion du backlog produit DevOps, à la gestion des parties prenantes et à la communication.
Formateur DevOps
Comme les autres tendances qui se développent rapidement dans le secteur informatique, l’adoption du DevOps peut donner lieu à des malentendus et à des idées reçues. De nombreuses équipes et entreprises commettent des erreurs organisationnelles, comportementales et opérationnelles qui nuisent aux performances de leurs équipes DevOps et à leur intégration dans des organisations généralement encore peu agiles. Ces incohérences conduisent parfois à l’abandon des pratiques DevOps, au détriment de notre secteur et de ceux qui défendent cette démarche.
Les formateurs DevOps sont des personnes compétentes et engagées comme vous, qui veillent à bien enseigner les pratiques DevOps dans les organisations.
Les formateurs DevOps peuvent être indépendants des équipes DevOps et bénéficier du soutien direct de la direction pour former l’organisation à tous les niveaux. Ils peuvent aussi faire partie d’équipes DevOps et travailler avec la direction pour obtenir le soutien nécessaire et former régulièrement les autres services afin qu’ils puissent collaborer avec ces équipes. Si vous souhaitez aider vos équipes DevOps, vos équipes métier et les cadres qui vous soutiennent à bien apprendre et mettre en œuvre ces pratiques, il vous est vivement recommandé de devenir formateur DevOps.
Les formateurs DevOps proposent généralement à des clients externes des formations dans un cadre pédagogique. Les coachs DevOps accompagnent généralement les membres des équipes DevOps au sein des organisations clientes, en veillant à ce qu’ils comprennent et appliquent bien le DevOps. Ils conseillent les équipes pendant qu’elles effectuent leur travail dans des conditions réelles.
Coach DevOps
Comme les autres tendances qui se développent rapidement dans le secteur informatique, l’adoption du DevOps peut donner lieu à des malentendus et à des idées reçues. De nombreuses équipes et entreprises commettent des erreurs organisationnelles, comportementales et opérationnelles qui nuisent aux performances de leurs équipes DevOps et à leur intégration dans des organisations généralement encore peu agiles. Ces incohérences conduisent parfois à l’abandon des pratiques DevOps, au détriment de notre secteur et de ceux qui défendent cette démarche.
Comme les formateurs DevOps, les coachs DevOps sont des personnes compétentes et engagées comme vous, qui aident les organisations à comprendre, diffuser et adopter les pratiques DevOps.
Les coachs DevOps peuvent être indépendants des équipes DevOps et bénéficier du soutien direct de la direction pour favoriser l’adoption de la démarche et de sa culture à tous les niveaux. Ils peuvent aussi faire partie d’équipes DevOps et travailler avec la direction pour obtenir le soutien nécessaire et faire évoluer continuellement les autres services afin qu’ils puissent collaborer avec ces équipes. Si vous souhaitez aider vos équipes DevOps, vos équipes métier et les cadres qui vous soutiennent à comprendre, adopter et mettre correctement en œuvre ces pratiques, il vous est vivement recommandé de devenir coach DevOps.
CONCLUSION
Dans ce chapitre, nous avons présenté les rôles les plus courants dans une organisation DevOps. Gardez à l’esprit que chaque équipe de votre organisation n’a pas besoin de compter une personne pour chacun de ces rôles. Concentrez vos efforts sur les quelques rôles essentiels et écartez ceux qui apportent peu pour atteindre les objectifs informatiques et métier de votre organisation.
Votre équipe devrait réunir les rôles et compétences qui lui permettent de maintenir le meilleur flux de travail continu possible. Nous aborderons le flux à partir du prochain chapitre.
