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

[CAMPING SPEAKERS 2022] Améliorer les compétences et les infrastructures avec les katas d'architecture

[CAMPING SPEAKERS 2022] 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

June 10, 2022
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. 4

  2. 5

  3. 6 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. 7

  5. 8

  6. 9

  7. 10 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
  8. 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. 12
  9. 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 14 Phase 1 : Warm-up (5mn)
  10. Le modèle C4 15 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 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
  11. 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 16
  12. 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 17
  13. Quelques conseils ▪ Clarifier le besoin (pourquoi une nouvelle application

    ?) ▪ Identifier les chiffres clés ▪ Zoomer progressivement 18
  14. 20

  15. 21 Postulat: On ne gère pas les zones blanches. Un

    simple rejeu est fait coté voiture
  16. Phase 3 : Peer Review (5mn/équipe) Vous devez présenter votre

    vision tout au long de la conception … … et présenter votre solution aux autres équipes. 22
  17. 25 A Worldline ▪ Kata mensuel (avant le COVID19) ▪

    On a contextualisé et complexifié les sujets au fur et à mesure ▪ Certaines équipes l’ont personnalisé
  18. ▪ 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 26 Les bénéfices
  19. 29 Un grand architecte ne se développe que par la

    pratique. Franck Brooks (Design of Design)