Slide 1

Slide 1 text

http://conferences.elapsetech.com Diapositives + références > FÉLIX-ANTOINE BOURBONNAIS ING., PSM, M. SC. Agile Tour Montréal 2019 Tout est lié!

Slide 2

Slide 2 text

@fbourbonnais | conferences.elapsetech.com 1. Comment émergent les nouvelles pratiques ? 2. Comment les adopter juste à temps avec leurs dépendances ? 3. Qu'est-ce que les entreprises les plus performantes ont en commun et comment elles adoptent de nouvelles façons de faire ?

Slide 3

Slide 3 text

@fbourbonnais | conferences.elapsetech.com La présentation est disponible en ligne ainsi qu'un aide-mémoire contenant toutes les références. Il n'est pas nécessaire de comprendre tous les détails des diapositives pendant la présentation.

Slide 4

Slide 4 text

@fbourbonnais | conferences.elapsetech.com Les sédiments de l'Agilité Où l'on argumente que les pratiques ne sont pas indépendantes et se bâtissent les unes sur les autres.

Slide 5

Slide 5 text

@fbourbonnais | conferences.elapsetech.com Agilité Manifeste pour le développement Agile de logiciels

Slide 6

Slide 6 text

@fbourbonnais | conferences.elapsetech.com Comme des sédiments Un sédiment est un ensemble de particules en suspension dans l'eau, l'atmosphère ou la glace et qui a fini par se déposer sous l'effet de la pesanteur, souvent en couches ou strates successives -- Wikipedia

Slide 7

Slide 7 text

@fbourbonnais | conferences.elapsetech.com Les pratiques selon l'Agile Alliance Agile Alliance, https://www.agilealliance.org/agile101/subway- map-to-agile-practices/

Slide 8

Slide 8 text

@fbourbonnais | conferences.elapsetech.com Sédiments de l'Agilité Source: Deloitte Agile Landscape v3

Slide 9

Slide 9 text

@fbourbonnais | conferences.elapsetech.com Par valeurs et principes Fran Avila, https://blog.novoda.com/mapping-the-agile- manifesto/

Slide 10

Slide 10 text

@fbourbonnais | conferences.elapsetech.com Cache les dépendances et les racines

Slide 11

Slide 11 text

@fbourbonnais | conferences.elapsetech.com Les pratiques ne sont pas indépendantes et se bâtissent les unes sur les autres

Slide 12

Slide 12 text

@fbourbonnais | conferences.elapsetech.com L'émergence d'une idée Où l'on comprend qu'une invention (nouvelle pratique) vient forcément avec ses racines implicites et cachées

Slide 13

Slide 13 text

@fbourbonnais | conferences.elapsetech.com D'où sortent les nouvelles découvertes? > Cal Newport, So Good They Can’t Ignore You, 2012 > Steven Johnson , Where Good Ideas Come From: The Natural History of Innovation, 2011 Possibilités adjacentes Domaine connu Frontière de la connaissance

Slide 14

Slide 14 text

@fbourbonnais | conferences.elapsetech.com Une pratique Une pratique se forme à la frontière Elle prend racine et a des dépendances dans tous les sédiments BDD

Slide 15

Slide 15 text

@fbourbonnais | conferences.elapsetech.com Une pratique Partie visible et convoitée cachant des dépendances - Cardio - Gestion de l'énergie - Alimentation - Intervalles - Endurance - Les souliers Dépendances

Slide 16

Slide 16 text

@fbourbonnais | conferences.elapsetech.com

Slide 17

Slide 17 text

@fbourbonnais | conferences.elapsetech.com L'émergence d'un courant Parfois, certains courants viennent se toucher, émergent ou se fondent Lean DevOps Agile

Slide 18

Slide 18 text

@fbourbonnais | conferences.elapsetech.com Les racines du DevOps […] a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality •Increases the frequency and quality of deployments •Improves innovation and risk-taking by making it safer to experiment •Realizes faster time to market •Improves solution quality and shortens the lead time for fixes •Reduces the severity and frequency of release failures •Improves the Mean Time to Recovery (MTTR) Bass, Len; Weber, Ingo; Zhu, Liming, DevOps: A Software Architect's Perspective, 2015 Définition selon SAFe (Scaled Agile Framework) Lean Toyota Kata (Rother) Agile Agile Infra Lean UX (Gothelf) Lean Startup (Ries) Rugged Computing Env. psy. sécuritaire Boucles courtes 3 ways flots rétroactions exp. continue Value Streams Lead Time TTM

Slide 19

Slide 19 text

@fbourbonnais | conferences.elapsetech.com Les dépendances du BDD Découpage des Stories Slicing vs splitting Facilitation d'ateliers Ubiquitous Language Pyramide des tests Bounded Contexts QA Shift-Left BDD Story Mapping Whole Team …

Slide 20

Slide 20 text

@fbourbonnais | conferences.elapsetech.com Une nouvelle pratique vient forcément avec des racines implicites et cachées de par la nature même d'une invention

Slide 21

Slide 21 text

@fbourbonnais | conferences.elapsetech.com Tirer sur un objectif systémique Où l'on argumente qu'il est préférable de tirer sur un objectifs systémique et adopter les pratiques requises par apprentissage continu.

Slide 22

Slide 22 text

@fbourbonnais | conferences.elapsetech.com Danger: le butinage et la sélection Le danger est de butiner d'une pratique à l'autre et de sélectionner (cherry- picking) dans l'arbre de dépendances

Slide 23

Slide 23 text

@fbourbonnais | conferences.elapsetech.com Adopter l'arbre de dépendances? Il faut comprendre les fondements et les racines pour tirer le maximum de bénéfices Il faut se rapprocher suffisamment de la frontière BDD

Slide 24

Slide 24 text

@fbourbonnais | conferences.elapsetech.com

Slide 25

Slide 25 text

@fbourbonnais | conferences.elapsetech.com Regarder loin Viser à résoudre un problème / amélioration de manière systémique Utiliser des mesures systémiques (outcome) comme The Four Key Metrics Four key metrics ThoughtWorks, Technology Radar, https://www.thoughtworks.com/radar/ techniques/four-key-metrics

Slide 26

Slide 26 text

@fbourbonnais | conferences.elapsetech.com Apprentissage continu BDD △ Apprentissage continu Tirer à partir de l'objectif et laisser les pratiques venir, constater et s'ajuster Drap Variable / indicateur systémique Pratique Pratique Dépendances DevOps culture: Learning culture Google Cloud https://cloud.google.com/solutions/devops/ devops-culture-learning-culture Culture DevOps : réussir sa transformation Google Cloud https://cloud.google.com/solutions/devops/ devops-culture-transform Méthodes impliquées (sans ordre): OKR; Toyota Kata; PDCA; …

Slide 27

Slide 27 text

@fbourbonnais | conferences.elapsetech.com S'améliorer par incréments Augmenter graduellement le niveau de difficulté (objectif systémique) + force l'adoption de nouvelles pratiques + force de devenir meilleurs dans celles existantes

Slide 28

Slide 28 text

@fbourbonnais | conferences.elapsetech.com Éviter les silos Les réels gains de performance sont systémiques Gojko Adzic, Splitting user stories: the hamburger method https://gojko.net/2012/01/23/splitting-user- stories-the-hamburger-method/ Technique Processus Humain / culture Organisation …

Slide 29

Slide 29 text

@fbourbonnais | conferences.elapsetech.com Apprendre durablement… Pratique délibérée > Geoff Colvin, Talent Is Overrated: What Really Separates World-Class Performers from Everybody Else > Cal Newport, The Grandmaster in the Corner Office: What the Study of Chess Experts Teaches Us about Building a Remarkable Life https://www.calnewport.com/blog/2010/01/06/the- grandmaster-in-the-corner-office-what-the-study-of-chess- experts-teaches-us-about-building-a-remarkable-life/

Slide 30

Slide 30 text

@fbourbonnais | conferences.elapsetech.com Il est préférable 1. d'incrémenter graduellement un objectif systémique 2. adopter les pratiques requises pour le niveau actuel 3. améliorer ses pratiques et introduire les dépendances par amélioration continue

Slide 31

Slide 31 text

@fbourbonnais | conferences.elapsetech.com Garder la balance Où l'on s'assure de garder une balance permettant d'avoir une productivité soutenable et durable

Slide 32

Slide 32 text

@fbourbonnais | conferences.elapsetech.com URGENCE (vitesse) FIABILITÉ (stabilité / qualité)

Slide 33

Slide 33 text

@fbourbonnais | conferences.elapsetech.com Le risque Produire vite ! Prioriser uniquement la qualité !

Slide 34

Slide 34 text

@fbourbonnais | conferences.elapsetech.com Contraindre le drap… BDD △ Qualité Vitesse Objectif

Slide 35

Slide 35 text

@fbourbonnais | conferences.elapsetech.com Autre analogie Indicateur pour contraindre Contrainte antifuite Indicateur principal d'amélioration

Slide 36

Slide 36 text

@fbourbonnais | conferences.elapsetech.com Que font les plus performants? Où l'on présente une des plus vastes études en génie logiciel exposant les indicateurs et pratiques des plus performants de notre industrie

Slide 37

Slide 37 text

@fbourbonnais | conferences.elapsetech.com L'étude Conduite de 2014 à 2017, puis 2018 et 2019 Par • Nicole Forsgren, PhD • Jez Humble • Gene Kim Caractéristiques • 23 000 sondages en 2017 • 30 000 en 2019 (cumulés) • 2 000 entreprises (startup à 10K employés) Type d'étude • Primaire, quantitative • Principalement sur des sondages (type Likert Scale) Types d'analyses • Diverses méthodes statistiques • Méthode déductive (inferential) sur l'échelle de Leek-Hopkins • Clustering

Slide 38

Slide 38 text

@fbourbonnais | conferences.elapsetech.com Les plus performants Accelerate: State of DevOps Strategies for a New Economy, DORA, Forsgren et al., Rapport de 2018

Slide 39

Slide 39 text

@fbourbonnais | conferences.elapsetech.com Performants en quoi ? Performance organisationnelle Performance non commerciale • Profitabilité • Part de marché • Productivité • Etc. • Satisfaction du client • Qualité des biens/services • Efficacité opérationnelle • Etc. +

Slide 40

Slide 40 text

@fbourbonnais | conferences.elapsetech.com Que font- ils de différent ? X Ne dépend pas de la technologie utilisée X Ne dépend pas de la quantité de Legacy Code X Ne dépend pas de l'âge de la technologie (ex.: Mainframe) X Ne dépend pas d'un modèle architectural précis X Ne dépend pas de la taille de l'entreprise ✓ Ils préconisent un modèle basé sur des capacités ✓ Ils focalisent sur l'amélioration et l'apprentissage continus pour introduire de nouvelles pratiques ✓ Ils adaptent les pratiques à leurs problèmes et contextes ✓ Aucun compromis sur la balance Vitesse <> Qualité HIGH performers LOW performers 2X Probabilité d'atteindre ou dépasser leurs objectifs de performance organisationnelle

Slide 41

Slide 41 text

@fbourbonnais | conferences.elapsetech.com

Slide 42

Slide 42 text

@fbourbonnais | conferences.elapsetech.com (notation) Construct A Construct B Construct: "Concept" Entité ou modèle imaginé pour expliquer certains phénomènes, pour les rattacher à un facteur causal inobservable. • Ne mesure que ça • Ne mesure rien d'autre • Tous l'interprètent de manière similaire Relation prédictive Lire: [A] == impacte, prédit, pilote … ==> [B] Grand dictionnaire terminologique, OQLF, granddictionnaire.com

Slide 43

Slide 43 text

@fbourbonnais | conferences.elapsetech.com Qu'est-ce qui influence la performance Performance organisationnelle Lean Product Development Software Delivery Performance Culture (Westrum) Satisfaction au travail prédit Accelerate, Forsgren et al. , 2018

Slide 44

Slide 44 text

@fbourbonnais | conferences.elapsetech.com Performance de livraison Commit Production Idée Design / Dev Livraison (delivery) • Créatif • Peu prévisible • Unique • Générique • Prédictif • Possible à standardiser Difficile à mesurer Plus facile à mesurer prédit Performance org. Accelerate, Forsgren et al. , 2018 The DevOps Handbook Gene Kim et al., 2016 Delivery performance

Slide 45

Slide 45 text

@fbourbonnais | conferences.elapsetech.com 24 capacités Performance organisationnelle Lean Product Development Software Delivery Performance Culture (Westrum) prédit prédit 24 capacités validées Technique Processus Culture / humaine Mesures pilotent Accelerate, Forsgren et al. , 2018

Slide 46

Slide 46 text

@fbourbonnais | conferences.elapsetech.com Livraison (delivery) continue Performance organisationnelle Software Delivery Performance Culture (Westrum) prédit Livraison continue (CD) Prédit / pilote Livraison continue • L'équipe peut déployer sur demande en production (utilisateur final) en utilisant le cycle de vie de livraison • Rétroaction rapide sur la qualité et la déployabilité est disponible pour tous les membres de l'équipe et agir sur cette rétroaction est leur plus grande priorité. Burnouts (réduction) -

Slide 47

Slide 47 text

@fbourbonnais | conferences.elapsetech.com Les capacités Performance org. Software Delivery Perf. Livraison continue (CD) • Intégration continue (CI) • Trunk-Based dev. • Architecture découplée • Équipe empowered (auto-organisée) • Monitoring • Shift-Left pour la sécurité • Config+Code dans VCS • Etc. • Petits lots • Intégration de toutes les branches (organisation) sur master < 1 jour • Tests roulent < 10 minutes • < 3 branches actives (toutes équipes) • Aucune phase d'intégration et stabilisation • Indépendamment des technologies • Basé sur des caractéristiques architecturales et non des topologies et technologies spécifiques • Les équipes prennent leur décisions technologiques et architecturales • La communication requise entre les équipes est minimale (loi de Conway '67) Prédit / Pilote Prédit Pratiques techniques Culture

Slide 48

Slide 48 text

@fbourbonnais | conferences.elapsetech.com Les capacités Performance org. Software Delivery Perf. • Expérimentation par les équipes • Petits lots • Équipe recueille des rétroactions de clients réels pour prendre des décisions de manière autonome • Limitation du WIP • Gestion visuelle • Etc. Prédit / Pilote Prédit Culture Lean Product Dev. Gestion Lean Accelerate State of DevOps 2019, Forsgren, Humble et Frazelle DORA, Google

Slide 49

Slide 49 text

@fbourbonnais | conferences.elapsetech.com Les 4 métriques clés Où l'on place les métriques de l'étude pour contraindre le système et adopter nos pratiques juste à temps.

Slide 50

Slide 50 text

@fbourbonnais | conferences.elapsetech.com L'objectif… BDD △ Drap Fréquence de livraison Augmenter graduellement la fréquence de livraison forcera l'introduction progressive et juste-à-temps de pratiques requises

Slide 51

Slide 51 text

@fbourbonnais | conferences.elapsetech.com Mais.. ATTENTION ! Rapidité (vitesse) Fiabilité (qualité)

Slide 52

Slide 52 text

@fbourbonnais | conferences.elapsetech.com Les grands performants : optimisent 4 variables URGENCE (vitesse) FIABILITÉ (stabilité / qualité) 4 variables • Fréquence de livraison • Lead Time (de livraison) • Temps de restauration (MTTR) • Taux d'échec (de livraison) Four key metrics ThoughtWorks, Technology Radar, https://www.thoughtworks.com/radar/ techniques/four-key-metrics Accelerate, Forsgren et al. , 2018

Slide 53

Slide 53 text

@fbourbonnais | conferences.elapsetech.com Passez le test Pour passer le test (DORA DevOps Quick Check) et se comparer par rapport à son industrie: https://www.devops- research.com/quickcheck.html

Slide 54

Slide 54 text

@fbourbonnais | conferences.elapsetech.com La logique Tempo (vitesse) Stabilité ↑ fréquence de livraison => ↓ Taille des lots (Batch size) => ↓ Onde de choc (Blast Radius) potentielle => ↓ Risque => ↓ Temps de réparation en cas de problème => ↓ Problème d'intégration => ↑ Débit (vitesse)

Slide 55

Slide 55 text

@fbourbonnais | conferences.elapsetech.com Pourquoi BDD △ MTTR Lead Time Fréquence de livraison Taux d'échec de livraison

Slide 56

Slide 56 text

@fbourbonnais | conferences.elapsetech.com Conclusion Où l'on argumente que le temps presse car l'écart entre les plus performants et les autres se creuse rapidement.

Slide 57

Slide 57 text

@fbourbonnais | conferences.elapsetech.com Pourquoi Accelerate State of DevOps 2019, Forsgren, Humble et Frazelle DORA, Google

Slide 58

Slide 58 text

@fbourbonnais | conferences.elapsetech.com Et ça se creuse… Accelerate State of DevOps 2019, Forsgren, Humble et Frazelle DORA, Google

Slide 59

Slide 59 text

@fbourbonnais | conferences.elapsetech.com Quelques statistiques

Slide 60

Slide 60 text

@fbourbonnais | conferences.elapsetech.com merci .

Slide 61

Slide 61 text

@fbourbonnais | conferences.elapsetech.com Diagnostics Conférences privées Formations Accompagnement sur place ou de garde Recherches et veille technologique Agilité DevOps Génie logiciel Tests et qualité Enseigner sa passion

Slide 62

Slide 62 text

@fbourbonnais | conferences.elapsetech.com Twitter @fbourbonnais Courriel [email protected] LinkedIn linkedin.com/in/fbourbonnais/fr conferences.elapsetech.com /tout-lie Diapositives et références Félix-Antoine Bourbonnais @ Nous offrirons bientôt de nouvelles formations touchant ce sujet. Inscrivez- vous dès maintenant pour être tenu informé (sans engagement): bit.ly/nouveau-devops Formations DevOps