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)
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
Exemples
Who's Your Daddy?
Organization wants to build the world's largest genealogical graph in history
Requirements: data is graph-like, open-ended, and must be viewable and searchable over a variety of technology platforms (web, mobile, etc); API allowing third-party access to all of the data; Facebook integration; historical records (census, marriage, death, parish records, etc) are being added by teams of people in the field--each record must be viewed/transcribed and scanned twice and verified
Users: millions of users, hundreds/thousands of third-party applications