Katas d'architecture
Fred Brooks
How do we get great designers? Great designers design, of course.
Ted Neward
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?
Les katas (dans les arts martiaux): transmission des technique d'un combattant à un autre source
Katas d'architecture -> Coding dojos pour architecte
Etapes
- Préparation (5 min)
- Assembler une équipe de 5 à 6 personnes avec des profiles variés
- Prendre de quoi noter. Pas besoin d'un ordinateur
- Choisir un formalisme. Par exemple, le C4
- Ensuite choisir un sujet de Kata
- Conception (45m-1h)
- On peut poser toutes les questions qu'on veut au modérateur
- Choix de technologie libre et on peut prendre des hypothèses sur les technos qu'on ne connaît pas
- Ne pas assumer le de compétence des développeurs
- Revue des pairs (5 min)
- Chaque équipe présente aux autres groupes à tour de rôle sa vision
- Le modérateur énonce les besoins du projet et jouera le rôle du client si besoin
- Chaque équipe choisit un représentant qui se charge de faire la présentation
- Chaque équipe répond aux questions des autres groupes
- Vote
- Chaque personne donne une note de 1 à 3 pour le projet en cours de présentation
- 1 (pouce levé) signifie que l'équipe maîtrise son projet et a répondu à toutes les question
- 3 (pouce bas) signifie que l'équipe s'est complètement trompée
- 2 signifie un entre deux ou il reste certains où le votant est inconfortable
- Exemple de critères d'évaluation (par exemple en axant sur la simplicité, évolutivité et adaptabilité)
-
Changer les équipes et refaire l'exercice.
-
Il est aussi possible de contextualiser et d'adapter (par exemple en donnant des retours d'expérience d'autres projets)
Modèle C4
Le modèle C4 est un modèle de représentation de l'architecture logicielle. Il est composé de 4 niveaux:
- Contexte système
- Conteneurs
- Composants
- Classes
Le site de online.visual-paradigm.com propose des exemples de diagrammes C4 sur différents cas d'usage. Ils peuvent servir de base pour les katas.
Informations utiles
Sites qui proposent des sujets de katas:
- architecturalkatas.com
- nealford.com
- fundamentalsofsoftwarearchitecture.com
- Exemple complet et exhaustif d'un kata d'architecture dans le contexte d'une compétition
Doc sur le modèle C4:
Exemples / astuces de réalisation de Katas:
- Architecture Kata: Agile Dead Trees
- Learning with Architecture Kata: Introduction
- architectural katas solutions