Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Recherche Leadership Technique Désespérément

Recherche Leadership Technique Désespérément

Que faire si :
– Votre transformation Agile a négligé les pratiques d’ingénierie Agile;
– Vous voulez aller vers DevOps, mais vous pensez le chemin très ardu, car vos façons de faire actuelles ne semblent pas trop alignées, notamment avec la livraison en continu;
– Vous désirez influencer votre organisme afin d’y établir une culture de code et d’expérimentation;
– Vous ne savez pas comment faire pour que toutes ces pratiques soient adoptées par les équipes de développement. Par exemple, une fois les gens formés, personne ne prend le relais et les notions enseignées tombent dans l’oubli.
Pour répondre à ces questionnements, nous discuterons de leadership technique, de l’attitude et des responsabilités d’un tel leader en mode Agile.
Et pour DevOps, il n’y a pas que nouveaux outils à instaurer! Notre manière de penser, de diviser le travail, de programmer et de concevoir doit être ajustée si ce n’est pas adéquat. Certaines pratiques sont quasiment obligatoires afin de pouvoir livrer fréquemment et avec assurance.
On terminera avec un retour d’expérience d’accompagnement Agile technique. Qu’est-ce qui fonctionne bien et qu’est-ce qui ne fonctionne pas?

Karl Métivier

November 15, 2018
Tweet

More Decks by Karl Métivier

Other Decks in Programming

Transcript

  1. CGI l FACILITÉ Votre conférencier aujourd’hui… Karl Métivier Coach Agile

    Technique Conseiller principal • Architecte logiciel • Développeur • Coach Agile • Formateur 4
  2. CGI l FACILITÉ Êtes-vous? • Développeur? • Analyste? • Architecte?

    • Chef d’équipe/Scrum Master? • Gestionnaire? • Chargé de projet? • DBA? • Ops TI? • Coach? • Autres? 5
  3. CGI l FACILITÉ Pratiques Valeurs C’est quoi le « Extreme

    XP Programming » ? Principes • Petites livraisons • Essais d’acceptation • Équipe complète • Planification en tant que jeu (Planning Game) • Responsabilité collective • Convention de codage • Intégration continue • Vélocité maintenable • Métaphore • Programmation en binôme • Réusinage de code • TDD • Conception simple Communication Simplicité Rétroaction Courage Respect Pas à pas Processus Redondance Réflexion Amélioration Bénéfices mutuels Échec 6
  4. CGI l FACILITÉ Modèle de compétences de coaching agile Base

    • Coaching • Facilitateur • Mentor • Formateur • Praticien Lean/Agile Spécialisation (choisir une) • Affaires/Métier • Organisation/ Transformation • Technique 7 Tiré du Agile Coaching Institute
  5. CGI l FACILITÉ Le plus grand obstacle à l’adoption des

    pratiques XP Manque de leadership dans les équipes ! • Absent • En dormance • Étouffé • . . . 8
  6. CGI l FACILITÉ Gestion = Leadership ? Le leadership n’appartient

    pas qu’à la gestion ! On peut avoir du leadership sans être gestionnaire. Tout le monde peut avoir du leadership • En inspirant les autres • En faisant preuve d’honnêteté et d’intégrité • En ayant du courage pour remettre en question le statu quo • En communiquant et collaborant afin de faire avancer son équipe dans la bonne voie 9
  7. CGI l FACILITÉ Qui peut être un leader technique ?

    • Développeur (sénior) • Architecte logiciel • Chef d’équipe • Toute l’équipe ! 10
  8. CGI l FACILITÉ Aujourd’hui nous allons donc parler de .

    . . • Les problèmes couramment observés • Une vision d’un leader technique • Comment guider les équipes • DevOps, une option ? • Conclusion 11
  9. CGI l FACILITÉ Agilité + Développeurs ??? La réutilisation à

    outrance Livraison à tout prix Qualité passe en 2e Tests OUI. TDD . . .Oups! Problèmes régulièrement observés 14
  10. CGI l FACILITÉ Exemple d’une offre d’emploi Que dit le

    marché . . . Senior Developer « Team Lead » • The Role • Working from our downtown office, you will report to the Fulfillment Lead and will assist in architecting, building, improving, and maintaining world-class solutions for the preparation and delivery. This is a hands-on Team Lead role in the Development Team where you will develop software across the full-stack of a multi-channel platform from HTML, CSS & Javascript to server-side Java. 20
  11. CGI l FACILITÉ Exemple d’une offre d’emploi . . .

    que dit le marché . . . What You'll Do • Cultivate a deep understanding of the portfolio of applications we utilize, along with their respective strengths and weaknesses, to provide solutions to existing and future challenges. • Assist in the design of software components to enhance our portfolio. • Develop complex software using Java and the Spring Framework. • Through your knowledge of industry trends and tools, together with your own experiences, work with the team to improve our software, our environment, and our process. • Provide guidance and direction to the development teams to tear down obstacles and keep initiatives on target and moving forward. • Translate project goals and product roadmaps into organized technical tasks. • Organize, prioritize, and manage multiple projects and multiple stakeholders simultaneously. • Provide technical guidance and support in resolving critical issues. • Offer your input and expertise to technical and non-technical audiences. 21
  12. CGI l FACILITÉ Exemple d’une offre d’emploi . . .

    que dit le marché . . . What You'll Need • You are a seasoned developer with leadership and mentoring experience • You are opinionated about what it takes to produce great software, but remain receptive to other's ideas. • You care about ownership. You proactively seek out bugs and fix them. Occasionally, when bugs find you, you don't sweep them under the rug. • You are experienced with software estimation, often confronted with complexity and uncertainty. • You make decisions based on data. You are versed with tools to measure every aspect of the application. • You have developed large applications in a team environment. • You are not afraid of changes. Armed with excellent refactoring techniques, you work effectively with legacy code. • You are a good communicator. You are able to present complicated solutions to non-technical audience in a simple and logical way. 22
  13. CGI l FACILITÉ Exemple d’une offre d’emploi . . .

    que dit le marché How You’ll Succeed • We seek great people to continually strengthen our culture. We believe great people model our values, are authentic, build trust and make connections. • We’re able to keep innovating because our colleagues are passionate about their work and excited about the future of eCommerce. • If you have big ideas, undeniable enthusiasm, and thrive in a collaborative, creative, and diverse group, we’ll get along just fine. • Looking for a challenge? Good. Love an innovative work environment? Even better. • Apply today. 23
  14. CGI l FACILITÉ Les aspects d’un leader technique efficace D’après

    Patrick Kua dans sa présentation « The Well Rounded Architect ». Communicateur Stratégique avec les technologies Entrepreneur Vision écosystème Développeur Leader 24
  15. CGI l FACILITÉ C’est quoi la pensée agile – «

    Agile/growth mindset » • Désir d’apprendre en continu • Prêt pour les défis, car on va apprendre quelque chose de nouveau • Ne pas avoir peur des échecs car ce sont toujours des opportunités d’apprentissage • Investir beaucoup d’effort pour apprendre et maîtriser quelque chose • Rechercher du feedback car c’est source de nouvelles informations 26 Je crois que mon intelligence peut être développée de manière continue. Mon potentiel véritable est inconnu.
  16. CGI l FACILITÉ Le « Agile Mindset » c’est d’abord

    Être Agile, ensuite Faire Agile. 28 Ahmed Sidky’s Agile Mindset https://www.slideshare.net/AgileNZ/ahmed-sidky-keynote-agilenz
  17. CGI l FACILITÉ Le leadership élastique • Faire varier son

    style de leadership selon la maturité de l’équipe par les phases suivantes • Survie/chaos • Apprentissage • Auto-organisée Roy Osherove 30
  18. CGI l FACILITÉ Phase : Survie/chaos • Eh oui, aussi

    dramatique que son nom l’indique! • Toujours en train d’éteindre des feux • Retards et surcharge de travail • Pas le temps d’apprendre: l’équipe a assez de problèmes ainsi! • Sortir de cette phase en créant du « slack time » • Afin d’avoir du temps pour apprendre 31
  19. CGI l FACILITÉ Comment sortir de cette spirale? • Enlever

    les engagements excédentaires • Modifier les estimations actuelles pour y inclure la qualité • Peut être de 2x au besoin • En prenant ces actions, vous pouvez créer une boucle positive • Corriger les problèmes • Moins de feux à éteindre • Plus de temps pour réparer les causes racines de vos problèmes 32
  20. CGI l FACILITÉ Phase - Apprentissage • Assez de temps

    pour apprendre et pratiquer délibérément • Les erreurs sont permises • Vous pouvez laisser le travail quelques jours sans ouvrir votre ordinateur portable ou cellulaire • Délégation • Temps pour expérimenter • Valide si l’équipe va dans la bonne direction • Apprendre à l’équipe à régler ses problèmes elle-même 33
  21. CGI l FACILITÉ Phase - Auto-organisée • L’équipe est habilitée

    ou sait comment acquérir le manque de connaissances • Le leader n’est pas nécessaire afin que l’équipe soit productive • La prise de décision est auto- organisée • L’équipe est habile à régler ses conflits elle-même 34
  22. CGI l FACILITÉ Le leadership selon les phases Mode Survie

    Mode Apprendre Mode Auto- Organisée Commande et contrôle Coach-Mentor Facilitateur 35
  23. CGI l FACILITÉ Dans le fond, ce que l’on cherche

    d’un leader technique • Attitude ou mindset Agile • Responsabilités • Aspects(6) d’un leader efficace • Leader situationnelle (ou élastique) 36
  24. CGI l FACILITÉ Comment guide-t-on les équipes afin de faire

    émerger du leadership technique ? • Trouver des champions à l’interne • Demander de l’accompagnement technique Agile 38 Lead technique Coach agile technique
  25. CGI l FACILITÉ Être coach • Poser des questions puissantes

    • Écouter, Écouter, Écouter • Être empathique • Provoquer . . . Parfois . . . 40 Mais de différentes manières ou postures
  26. CGI l FACILITÉ Le Formateur Il donne des formation ou

    des ateliers techniques. Il parle de code et explique des concepts avec des exemples. Bon pour • Transmettre de nouvelles connaissances ou manières de travailler • Donne la base pour débuter ainsi qu’un vocabulaire commun • Inspirer les gens à apprendre en continu Par contre • Aucune garantie que les nouvelles notions seront mise en application • La réalité du quotidien est différente de celle de la pratique 41
  27. CGI l FACILITÉ Le Pèlerin Il prêche par l’exemple dans

    ses actions de tous les jours. Il répand la bonne nouvelle et est toujours prêt à en parler. Bon pour • Inspirer les équipes • Montrer une manière différente de travailler • Démontrer que les bonnes pratiques, tout le monde peut en faire Par contre • Peut être trop théorique par moment. Il doit dans ces cas démontrer ses paroles par des gestes proches du code et de la réalité des équipes. 42
  28. CGI l FACILITÉ Le Butineur 43 Tel un insecte pollinisateur,

    il se promène d’équipe en équipe. Répond à des questions en urgence et passe au suivant. Bon pour • Couvrir une transformation agile qui touche plusieurs équipes en même temps • Bonne réaction lorsqu’on fait appel à ses services Par contre • Attend souvent qu’on prenne contact avec lui. Doit alors de lui- même faire la tournée des équipes • Peut passer à côté de certains problèmes car il n’est pas souvent présent • N'a pas le temps de voir la progression d’une équipe et de son code et ainsi d'aligner une vision à moyen/long terme
  29. CGI l FACILITÉ Le Réviseur 44 Il révise le code

    et les tests produits par les équipes qu’il accompagne. Bon pour • Valider le travail accompli par l’équipe • Sert de guide sur c’est quoi la qualité logicielle et des bons tests Par contre • Idéalement faire appel à ses services en début du projet pour éviter un mauvais alignement qui serait difficile à redresser • Il se fait souvent laisser tomber à l’approche d’une date de livraison
  30. CGI l FACILITÉ Le Casseur Il arrive dans l’équipe, démontre

    de manière directe et efficace, une ou plusieurs déficiences de réalisation dans l’équipe. Bon pour • Brasser un équipe qui en a vraiment de besoin • Faire le miroir de l’équipe et leur montrer une autre réalité… • Changer comment se font les choses, de manière drastique Par contre • Peut laisser des blessures ouvertes qui seront difficiles à guérir 45
  31. CGI l FACILITÉ L’Embarqué (proxy) Il arrive dans l’équipe et

    personnifie un équipier ou un leader technique. Très applicable lors des congés prolongés ou pour démarrer un nouvelle équipe. Bon pour • Intercepter les mauvaises pratiques et guider les gens vers la bonne voie • Faire du coaching d’équipe et individuel en même temps • Ressent les mêmes douleurs de l’équipe Par contre • Doit faire des réflexions afin de savoir quand l’équipe est prête à voler des ses propres ailes 46
  32. CGI l FACILITÉ La motivation intrinsèque ne s’enforce pas 47

    Donner une raison d’être Poser des questions Évaluer les besoins en formation Donner des choix
  33. CGI l FACILITÉ Quel posture prendre ? 48 Pèlerin Butineur

    Formateur Réviseur Embarqué Casseur
  34. CGI l FACILITÉ Ce qui ne marche pas en général

    • Juste des formations sans accompagnement ou leader/champion en place • Faire preuve d’impatience envers les équipes si elles nous écoutent pas • Faire du « Test Last Development » • Ne pas établir de ligne directrice entre les « tech leads ». 49
  35. CGI l FACILITÉ On accepte le « Statut Quo »

    en espérant travailler sur la qualité quand on aura du « slack », comme après une livraison ? 51
  36. CGI l FACILITÉ On investit dans la qualité en amont

    ! Vive le TDD et le refactoring ! 52
  37. CGI l FACILITÉ « Mettons que » le DevOps est

    notre objectif • Les pratiques issues du XP Programming, sont-elles encore pertinentes? • Le TDD faut-il vraiment en faire ? Est-ce que tu as des preuves récentes que cela fonctionne et en vaut l’investissement ? 53
  38. CGI l FACILITÉ Qu’est-ce que marche ou qui est nécessaire

    lorsqu’on va vers le DevOps ? • Bonne question ! • Est-ce que vous le savez ? • Il n’y a pas des gens qui font ce genre de recherches ? 54
  39. CGI l FACILITÉ Études récentes tirées livre Accelerate • 5

    années de recherches rigoureuses • > 30 000 professionnels ont répondus • Incluant des données des rapports State of DevOps • Approche scientifique et méthodique • 24 capacités identifiées qui conduisent vers des améliorations significatives 56
  40. CGI l FACILITÉ Accelerate – Livraison en continue • Implanter

    l’intégration continue • Gestionnaire de code source pour TOUT et pour TOUS • Automatiser votre processus de déploiement • Faire du développement « Trunk-based » • Implantation de tests automatisés • Gestion des données de tests • Mettre la sécurité en amont (shift-left) 57
  41. CGI l FACILITÉ Accelerate – Architecture logicielle • Testable •

    Déployable • Faiblement couplée • Équipes habilitées dans le choix de leurs outils 58
  42. CGI l FACILITÉ Accelerate À propos de la culture (Ron

    Westrum) • Pathologique • Basée sur la peur et les menaces • L’information est cachée et difficile à trouver • Recherche du coupable • L’innovation est écrasée • Bureaucratique • Protection des départements (règles, territoires) • Collaboration modeste • L’innovation apporte des problèmes • Générative • Garde le focus sur la mission de l’organisme • Grande collaboration • Les risques sont partagés • L’innovation est implantée 59 Performance logicielle Performance organisationnelle
  43. CGI l FACILITÉ Accelerate – Transformation de culture • Tendre

    vers une culture générative • Les personnes qui sont dans l’équipe ont moins d’importance que la manière dont l’équipe interagit, organise son travail et visualise leur contribution • Supporter un leadership de type « Transformationnel » • Vision • Stimulation intellectuelle • Communication inspirante • Leadership de soutien • Reconnaissance personnelle 60
  44. CGI l FACILITÉ Leadership transformationnel « If you don’t focus

    on creating a culture that allows people to do their best work, then you’ve created nothing » « Si vous ne vous concentrez pas sur la création d’une culture permettant aux gens de faire de leur mieux, alors vous n’avez rien créé » Satya Nadella, CEO de Microsoft 61
  45. CGI l FACILITÉ Instaurer les pratiques d’ingénierie DevOps • Faire

    exceller votre entreprise • Faire grandir des équipes qui seront heureuses au travail • Déploiement plus fréquent et plus stable • Apporte un impact sur la culture 62
  46. CGI l FACILITÉ Accelerate - Résumé 63 Leadership Transformationnel Lean

    Product Development Culture Générative Heureux au travail Performance en livraison et opération Performance organisationnelle Pratiques Techniques Livraison en continue Diminution des burnouts Déploiement plus facile Moins d’éléments à retravailler Lean Management / Kanban
  47. CGI l FACILITÉ La route vers DevOps se développe par

    l’application des 3 principes ou étapes suivantes Dev Ops Ops Dev 1 La pensée systémique (System Thinking) Dev Ops Dev Ops 2 Amplification de la boucle de rétroaction (feedback) DevOps Ops Dev 3 Culture d’expérimentation et d’apprentissage en continu 65
  48. CGI l FACILITÉ Livraison en continue, c’est quoi? « .

    . . stratégie de développement logiciel qui optimise votre processus de livraison afin d’obtenir un logiciel de haute qualité et apportant de la valeur qui est livré aussi rapidement que possible . . . » Jez Humble 66
  49. CGI l FACILITÉ Exemple d’un « pipeline » de livraison

    en continue 67 Archivage Auto Tests + Analyse Auto Acceptation Auto Tests explo. Manuel Tests accept. Manuel Production Manuel Apporte un « feedback » à tous dans la chaine de valeur !
  50. CGI l FACILITÉ Un « beau pipeline » nécessite certaines

    pratiques d’intégration continue • Instaurer la qualité en amont • Une suite compréhensible et fiable de tests automatisés pour valider que nous sommes dans un état déployable • Automatiser les tâches répétitives • Une culture d’équipe qui arrête toute la chaine de production quand nos tests de validations sont en échecs • Poursuite sans relâche de l’amélioration continue • Les développeurs travailler en petits lots sur des branches de code temporaire (Trunk based development) 68
  51. CGI l FACILITÉ Diviser le travail en petits morceaux •

    Réaliser des petits morceaux de travail qui peuvent être implémentés dans une semaine environ • Bien réfléchir à la manière de rédiger nos « User stories » • Appliquer ce principe au niveau fonctionnalité et produit 69
  52. CGI l FACILITÉ Les mesures de performance de DevOps •

    Temps de cycle de déploiement • Fréquence de déploiement • Temps de restauration pour les services/systèmes • Taux d’échec des changements 70 En tant que Leader technique, je devrais avoir ces mesures en tête…
  53. CGI l FACILITÉ Tests automatisés Intégration Continue Livraison en continu

    Scrum TDD BDD DDD Value Steam UX XP Programming Kanban Lean Clean Code Culture SOLID User Story Mapping Management 3.0 Petites livraisons Flow Product Management 73
  54. CGI l FACILITÉ Extreme (XP) Programming ? Pratiques Valeurs Principes

    • Petites livraisons • Essais d’acceptation • Équipe complète • Planification en tant que jeu (Planning Game) • Responsabilité collective • Convention de codage • Intégration continue • Vélocité maintenable • Métaphore • Programmation en binôme • Réusinage de code • TDD • Conception simple Communication Simplicité Rétroaction Courage Respect Pas à pas Processus Redondance Réflexion Amélioration Bénéfices mutuels Échec 75
  55. CGI l FACILITÉ Extreme (XP) Programming dans DevOPs Pratiques Valeurs

    Principes • Petites livraisons • Essais d’acceptation • Responsabilité collective • Convention de codage • Intégration continue • Vélocité maintenable • Métaphore • Programmation en binôme • Réusinage de code • TDD • Conception simple Communication Simplicité Rétroaction Courage Respect Pas à pas Processus Réflexion Amélioration Échec
  56. CGI l FACILITÉ Pour ce genre de transformation, un leadership

    FORT sera nécessaire 80 Soutien de la haute direction Gestionnaire-Leader Leader technique
  57. CGI l FACILITÉ Le leadership technique, cela rapporte ! •

    Effet boule de neige pour régler plusieurs problèmes ou dysfonctions • Sera nécessaire lors d’un passage vers DevOps • Rendra vos équipes heureuses • Consolidera votre culture d’entreprise 83
  58. © 2018 Groupe CGI inc. Plan de match pour un

    leader technique • Valider la base par les pratiques XP • 6 aspects d’un leader technique efficace • Travailler sur les postures de coach • Préparer la route vers DevOps, étape par étape 85
  59. © 2018 Groupe CGI inc. Plan de match pour un

    gestionnaire • Être un leader transformationnel • Encourager les pratiques XP et la formation • Établir un environnement pour habiliter son équipe à accomplir le travail à faire • Laisser l’équipe travailler et choisir ses outils • Permettre les erreurs 86
  60. CGI l FACILITÉ Plan d’attaque sur plusieurs niveaux 87 *Inspiré

    du livre blanc Culture Code Développeur Équipe Organisation Culture • Apprendre à donner et recevoir du feedback • Pratiquer des séances de pair programming • Amélioration continue • Leader technique (agile) au sein des équipes • Noter la dette technique. • Toute l'équipe s'attribue le rôle de testeur • Faire confiance aux équipe • Donner le droit à l'erreur Apprentissage • Formations, conférences • Rencontre de communautés • Encourager le veille technologique • Mentorat et coaching • Dédier un budget pour la formation dans les projets et équipes Pratiques • Code propre • Tests automatisés • Refactoring de code • Développement piloté par les tests (TDD) • Intégration et déploiement continu • Développement piloté par le comportement (BDD) • Identifier les leaders d'influence • Suivi de l'introduction des pratiques
  61. CGI l FACILITÉ Communiquez avec nous pour poursuivre la conversation

    Karl Métivier – Coach Agile Technique Conseiller principal [email protected] www.linkedin.com/in/karlmetivier @karlmet 90