Slide 1

Slide 1 text

@yot88 Par yoan thirion 50 nuances de pratiques de développement

Slide 2

Slide 2 text

Who am I ? Technical Agile coach, Software craftsman I’m Yoan THIRION (freelance) • design software since more than 12 years • fundamental to succeed in that area : agility and technical excellence • help teams deliver well crafted software • implementation of agile and technical practices (eXtreme programming, Refactoring, DDD, Mob programming, …) Let’s connect My services https://www.yoan-thirion.com/ Technical agile coaching Communities of practice Cultural change devops Brown bags Serious games

Slide 3

Slide 3 text

@yot88 eXtreme programming (in a nutshell) 5 valeurs Communication Courage Feedback Respect Simplicité Méthode agile née en 95 / 96 Kent beck majoritairement Pratiques associées Boucles de feedback

Slide 4

Slide 4 text

@yot88 XP : 1 source d’inspiration https://www.linkedin.com/posts/maurostrione_scrum-agile-devops-activity-6650103984235298819-Zb5a

Slide 5

Slide 5 text

@yot88 Qu’est ce qu’on y ajouterait en 2020 ? Sûrement quelques pratiques techniques

Slide 6

Slide 6 text

@yot88 Mob programming • renforcer le collective ownership / s’aligner • diffuser la connaissance • apprendre ensemble mob

Slide 7

Slide 7 text

@yot88 approval testing • Aussi appelé : Snapshot Tests ou Golden Master • outputs qui ont besoin d’une approbation humaine permettant de dire si la fonctionnalité est implémentée comme attendue Moins d’assertions / moins de tests Must have pour travailler sur du code legacy Un atout pour du TDD https://yoan-thirion.gitbook.io/knowledge-base/software-craftsmanship/code-katas/gilded-rose-approval-testing

Slide 8

Slide 8 text

@yot88 Property-based testing • identifier et tester des invariants / propriétés • quelque chose qui sera toujours vrai, quelles que soient les données que vous fournissez à votre algorithme for all (x, y, ...) such that property (x, y, ...) is satisfied https://yoan-thirion.gitbook.io/knowledge-base/software-craftsmanship/testing/improve-your-software-quality-with-property-based-testing#364c Given (x, y, ...) When I [call the subject under test] with (x, y, ...) Then I expect this (output) Example-based property-based

Slide 9

Slide 9 text

@yot88 Mikado • décomposer les tâches de refactoring en plus petites • le code ne se trouve pratiquement JAMAIS DANS un état instable. https://yoan-thirion.gitbook.io/knowledge-base/software-craftsmanship/code-katas/mikado-method

Slide 10

Slide 10 text

@yot88 mutation testing Une technique permettant de jauger de la qualité de nos tests • Generate mutants • Launch tests • Check result / Generate report https://yoan-thirion.gitbook.io/knowledge-base/software-craftsmanship/testing/mutation-testing

Slide 11

Slide 11 text

Design session / co-design architecture sécu ops tech leads / dev db experts porteur de la vision technique techradar design sessions co-construit diffuse participe / propose participe / propose participe / propose participe / propose alimente knowledge base adr matérialisée par Solution design Puzzle Driven Development

Slide 12

Slide 12 text

@yot88 Et plein d’autres… • DDD • Tech Radar • ADR • CQRS / Event sourcing • Consumer driven contract testing • 12 Factor apps • Functional core imperative shell https://www.thoughtworks.com/radar • Togaf • Enterprise Integration patterns • Micro-services • Functional programming paradigms • ATDD / BDD • Refactoring • Cloud computing • …

Slide 13

Slide 13 text

@yot88 La technique mais pas que… Pour bien vivre en équipe ? “no matter what they tell you, it’s always a people problem.” - Gerald Weinberg

Slide 14

Slide 14 text

@yot88 Savoir être / communication • Pour bien vivre en équipe • Se comprendre les uns les autres CNV Donner / recevoir du feedback pnl

Slide 15

Slide 15 text

@yot88 Facilitation (interactions, ateliers) Événements (rétrospectives, stand-ups, …) Event storming, story mapping, Casser les silos / alignement Liberating structures 7 P Canvas

Slide 16

Slide 16 text

@yot88 leadership Host leadership https://yoan-thirion.gitbook.io/knowledge-base/leadership/learn-leadership-from-the-navy-seals

Slide 17

Slide 17 text

@yot88 Coacher / enseigner Solution focus

Slide 18

Slide 18 text

@yot88 Pour résumer

Slide 19

Slide 19 text

@yot88 DDD / CQRS / ES Clean Architecture 12 Factor apps Functional core imperative shell Togaf Enterprise Integration patterns Micro-services … Approches de test : tdd (classic / outside-in), pbt, mutation, Approval, … cdc Clean Code Techniques de refactoring Mob programming Functional programming … Leadership, (M3.0, extreme ownership, host leadership…) Facilitation (event storming, story mapping, liberating structures, …) Coaching (grow, solution focus, …) Enseignement (training from the back of the room) Communication (CNV, PNl, …) …

Slide 20

Slide 20 text

Apprentissage continu

Slide 21

Slide 21 text

@yot88 Apprentissage continu… mais comment ?

Slide 22

Slide 22 text

@yot88 Communauté de pratiques • connecter les gens / casser les silos • partager la connaissance • Apprendre ensemble • résoudre des problèmes (intelligence collective)

Slide 23

Slide 23 text

@yot88 Learning hours / mentoring Code katas Deliberate practice M.E.N.T.O.R model Mission Engagement Networking Trust Opportunity Review / Renewal

Slide 24

Slide 24 text

@yot88 xtrem(s) • stimuler l’intelligence collective avec o de la veille en groupe o de la lecture • partager des passions / de la connaissance • découvrir en groupe Des outils pour Devenir une organisation apprenante XTREM Watch XTREM reading

Slide 25

Slide 25 text

@yot88 Coaching technique Aider les équipes à grandir : Learning hours, code katas, pair programming, mob programming, agile, coaching, … https://philippe.bourgau.net/the-story-about-how-we-do-agile-technical-coaching/

Slide 26

Slide 26 text

– Allan Kelly Mettez en place ce qui fait du sens dans votre contexte : expérimentez / apprenez "create your own process, don’t follow someone else’s prescription.” - allan kelly

Slide 27

Slide 27 text

@yot88 Questions / réponses

Slide 28

Slide 28 text

merci Technical Agile coach, Software craftsman On reste connecté https://www.yoan-thirion.com/ https://www.yoan-thirion.com/files/brown-bag-offer.pdf Mes brown bags