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

Améliorer les compétences et les infrastructure...

Améliorer les compétences et les infrastructures avec les katas d'architecture

Comment devenir architecte ? Comment progresser dans ce domaine ? A quoi reconnaît-on une bonne ou une mauvaise architecture ? Il existe certes un grand nombre d' ouvrages et formations sur le sujet, mais le mieux est quand même de pratiquer !

Une solution à ce problème pourrait être donc de s’entraîner régulièrement sur des sujets différents pour gagner en expérience.

Pour rendre l’apprentissage de l’architecture et de la conception plus empirique - et plus ludique, nous allons découvrir les Katas d’Architecture au travers d’un retour d’expérience. Nous découvrirons comment les mettre en œuvre ainsi que les bénéfices que j’en ai tirés.

Alexandre Touret

September 09, 2022
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. Speaker : Alexandre Touret - @touret_alex Améliorer les compétences et

    les infrastructures avec les katas d'architecture
  2. #JugSummerCamp @touret_alex Alexandre Touret Architecte / Développeur #Java #API #CI

    #Cloud #Software_Craftsmanship blog.touret.info blog.worldline.tech
  3. #JugSummerCamp @touret_alex All architecture is design but not all design

    is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. Grady Booch
  4. #JugSummerCamp @touret_alex So how are we supposed to get great

    architects, if they only get the chance to architect fewer than a half-dozen times in their career?" Ted Neward
  5. #JugSummerCamp @touret_alex Il s'agit de mouvements codifiés à partir de

    l'expérience de combattants dont les noms ont été perdus. Les katas sont par la suite devenus des outils de transmission de techniques, mais aussi de principes, de combat.
  6. #JugSummerCamp @touret_alex Phase 1: Warm-up (5mn) ▪ On constitue les

    équipes en “brassant” les populations ▪ Pas besoin d’ordinateur, du papier et des marqueurs suffisent ▪ On essaye de se focaliser sur le formalisme à adopter
  7. #JugSummerCamp @touret_alex User My wonderful system Enables magic API Management

    Identifies/authorizes customers requests Calls API endpoint External System User Call / Usage System Internal System Chart legend: FILE GATEWAY Sends files Fetchs files regularly S3 STORAGE Stores files
  8. #JugSummerCamp @touret_alex External System User Call / Usage System Internal

    System Chart legend: User My API GATEWAY API Proxy Runtime:[Api Gateway] Mediation to back end OAUTHv2 Provider Runtime:[Api Gateway] Identifies and authorizes (1) API Call [JSON/HTTPS] My Wonderful System My App Runtime:[K8S,Docker,Spring Boot,JAVA11] (2) API Call [JSON/HTTPS] (3) Queries and stores datas [mongodb] Kubernetes MongoDB Replicaset Primary Secondary Arbiter
  9. #JugSummerCamp @touret_alex Phase 2: Conception (1H) ▪ Les équipes reçoivent

    le sujet ▪ On peut demander toutes les questions que l’on veut au modérateur ▪ Les équipes peuvent prendre des hypothèses ▪ On peut utiliser toutes les technologies que l’on veut
  10. #JugSummerCamp @touret_alex Un exemple: Les plus mauvaises routes Les collectivités

    territoriales ont du mal à identifier les routes à rénover et ont de moins en moins de moyens. Elles souhaitent avoir des rapports dynamiques et précis sur l’utilisation des routes à la journée. […] Volumétrie: 1 transaction par seconde par voiture
  11. #JugSummerCamp @touret_alex Quelques conseils ▪ Clarifier le besoin (pourquoi une

    nouvelle application ?) ▪ Identifier les chiffres clés ▪ Zoomer progressivement
  12. #JugSummerCamp @touret_alex Peer Review (5mn/équipe) ▪ Vous devez présenter votre

    vision tout au long de la conception … ▪ … et présenter votre solution aux autres équipes.
  13. #JugSummerCamp @touret_alex A Worldline ▪ Kata mensuel (avant le COVID19)

    ▪ On a contextualisé et complexifié les sujets au fur et à mesure ▪ Certaines équipes l’ont personnalisé
  14. #JugSummerCamp @touret_alex Les bénéfices ▪ Travailler en équipe sur un

    nouveau sujet ▪ Identifier et s’adapter aux contraintes ▪ Communiquer et convaincre ▪ D’appréhender d’autres manières de penser ▪ Progresser grâce à l’expérience de vos collègues
  15. #JugSummerCamp @touret_alex Un grand architecte ne se développe que par

    la pratique. Franck Brooks (Design of Design)