Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Les katas 2.

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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)

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Comment évaluer une architecture? 23

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

▪ 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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Merci! Des questions? @touret_alex 29 22 juin 2022