$30 off During Our Annual Pro Sale. View Details »

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

[PARIS JUG 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

November 08, 2022
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. Améliorer les compétences et
    les infrastructures avec les
    katas d'architecture
    08 octobre 2022

    View Slide

  2. Alexandre Touret
    Architecte / Développeur
    #Java #API #CI #Cloud
    #Software_Craftsmanship
    2
    https://blog.touret.info
    @touret_alex
    @[email protected]

    View Slide

  3. Histoire d’un
    développeur
    Toute ressemblance avec des personnes existantes ou
    ayant existé...
    1.

    View Slide

  4. 4

    View Slide

  5. 5

    View Slide

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

    View Slide

  7. 7

    View Slide

  8. 8

    View Slide

  9. 9
    https://bit.ly/parisjug-sondage1

    View Slide

  10. 10

    View Slide

  11. 11
    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

    View Slide

  12. Les katas
    2.

    View Slide

  13. 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.
    13

    View Slide

  14. Les katas
    d’architecture
    Du coding dojo pour architectes
    3.

    View Slide

  15. 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
    15
    Phase 1 : Warm-up (5mn)

    View Slide

  16. Le modèle C4

    View Slide

  17. 17
    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

    View Slide

  18. 18
    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

    View Slide

  19. 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
    19

    View Slide

  20. 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.
    Les données proviendront des voitures. Le traitement des données
    doit être anonymisé et compatible GDPR.
    Volumétrie: 1 transaction par seconde par voiture
    20

    View Slide

  21. Quelques conseils
    ▪ Clarifier le besoin (pourquoi une nouvelle application ?)
    ▪ Identifier les chiffres clés
    ▪ Zoomer progressivement
    21

    View Slide

  22. 22

    View Slide

  23. 23
    Postulat:
    On ne gère pas les
    zones blanches. Un
    simple rejeu est fait
    coté voiture

    View Slide

  24. 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.
    24

    View Slide

  25. Comment
    évaluer
    une
    architecture?
    25

    View Slide

  26. Trois caractéristiques
    26
    Simplicité Evolutivité
    Adapté à
    l’environnement

    View Slide

  27. 27
    A Worldline
    ▪ Kata mensuel (avant le COVID19)
    ▪ On a contextualisé et complexifié les sujets au fur et à mesure
    ▪ Certaines équipes l’ont personnalisé

    View Slide

  28. ▪ 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
    28
    Les bénéfices

    View Slide

  29. Pour aller plus loin
    http://nealford.com/katas/list.html
    https://archkatas.herokuapp.com/
    https://blog.worldline.tech/2019/12/12/architecture-katas.html
    29

    View Slide

  30. 30
    Un grand architecte ne se développe
    que par la pratique.
    Franck Brooks (Design of Design)

    View Slide

  31. 31

    View Slide

  32. Merci!
    Des questions?
    @touret_alex
    32
    08 octobre 2022
    @[email protected]

    View Slide