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

[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. Améliorer les compétences et
    les infrastructures avec les
    katas d'architecture
    10 juin 2022

    View Slide

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

    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

    View Slide

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

    View Slide

  11. Les katas
    2.

    View Slide

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

    View Slide

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

    View Slide

  14. 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)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. View Slide

  20. 20

    View Slide

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

    View Slide

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

    View Slide

  23. Comment
    évaluer
    une
    architecture?
    23

    View Slide

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

    View Slide

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

  26. ▪ 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

    View Slide

  27. Nos souhaits
    Les intégrer dans les formations internes d’architecture
    logicielle
    27

    View Slide

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

    View Slide

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

    View Slide

  30. Merci!
    Des questions?
    @touret_alex
    30
    10 juin 2022

    View Slide