Read in English · Leer en español · Auf Deutsch lesen
Chapitre 11 sur 12 · Avancé
Évaluation, prise de décision et gouvernance
Ce chapitre porte sur l’évaluation, la gouvernance et l’évolution des architectures dans le temps. Il couvre l’évaluation formelle avec l’ATAM, les revues légères comme le risk-storming et les pre-mortems, les fonctions d’aptitude et l’architecture évolutive, la gouvernance dans les organisations agiles, Team Topologies et la conception sociotechnique, la modernisation des systèmes hérités avec le strangler fig, le leadership et l’influence, ainsi que la justification économique et éthique du travail d’architecture. Il fait la synthèse de tous les chapitres précédents, utilise la plateforme de livraison de repas comme exemple fil rouge et s’adresse aux développeurs expérimentés, aux responsables techniques et aux architectes qui prennent ou orientent des décisions importantes.
Introduction vidéo au chapitre 11
7 min · narré en anglais, avec sous-titresÉcouter seulement (audio)
Lire la transcription
Bienvenue dans le chapitre 11 : Évaluation, prise de décision et gouvernance. Les chapitres précédents vous ont montré comment décrire ce qu’un système doit accomplir, comment le structurer et comment le rendre rapide, fiable, sûr et économique. Ce chapitre porte sur le travail qui entoure ces décisions pendant toute la vie d’un système : les vérifier avant d’engager l’argent, les maintenir vraies alors que des centaines de changements arrivent chaque mois, et les justifier en termes économiques et éthiques.
Le chapitre s’adresse aux développeurs expérimentés, aux responsables techniques et aux architectes qui prennent ou orientent des décisions importantes. C’est là que le cours se rassemble ; il s’appuie donc sur tous les chapitres précédents. Il renvoie le plus souvent aux chapitres 1 à 4 : les compromis, la dette technique, les scénarios d’attributs de qualité, la loi de Conway et les enregistrements de décision. Les chapitres 5 à 10 aident, mais ne sont pas indispensables. Le niveau est avancé, mais chaque section commence par une courte explication pour les débutants. Et il mène au chapitre 12, qui applique toute la discipline aux systèmes construits autour de modèles d’intelligence artificielle.
L’exemple fil rouge est la plateforme de livraison de repas utilisée depuis le chapitre 2. Vous verrez son architecture évaluée, soumise au risk-storming, protégée par des fonctions d’aptitude, gouvernée, réorganisée autour des équipes et en partie modernisée. La section onze point un traite de l’évaluation formelle avec l’Architecture Tradeoff Analysis Method, ou ATAM : ses neuf étapes réparties sur deux réunions, qui y participe, et ses résultats, comme les risques, les points de sensibilité, les points de compromis et les thèmes de risque. La section onze point deux explique pourquoi les comités de revue mensuels échouent si souvent, et ce qui fonctionne à la place : le risk-storming, le pre-mortem, les katas d’architecture et les revues de conception écrites. La section onze point trois transforme une évaluation ponctuelle en protection continue. Une fonction d’aptitude est une vérification objective d’une caractéristique architecturale, idéalement automatisée, comme une règle de dépendance ou un test de charge avec des seuils de percentiles. La section onze point quatre se demande comment une organisation de nombreuses équipes autonomes garde une architecture cohérente, grâce aux principes, aux normes, aux garde-fous et aux points de validation, au processus de consultation et aux radars technologiques.
Ce diagramme de la section onze point quatre oppose deux façons de gouverner. Dans la gouvernance par points de validation, une équipe conçoit, puis attend pendant des semaines dans la file d’un comité de revue. Si la conception est rejetée, elle est reprise et attend de nouveau. Ce n’est qu’après l’approbation que l’équipe peut construire et mettre en production. Dans la gouvernance par garde-fous, l’équipe décide, et son changement passe par un pipeline doté de garde-fous : la politique en tant que code et des fonctions d’aptitude qui vérifient automatiquement des règles objectives. Il peut arriver en production en quelques minutes. En dessous se trouvent les appuis : le processus de consultation pour les décisions importantes, des principes et un radar technologique pour une direction commune, et un chemin balisé (paved road) de modèles et de plateforme. Les garde-fous laissent les personnes libres pour les décisions qui demandent du jugement. Et dans le processus de consultation, n’importe qui peut prendre une décision architecturale, après avoir demandé conseil aux personnes concernées et aux experts, et l’avoir consignée.
La section onze point cinq prend au sérieux la loi de Conway comme outil de conception. Elle présente Team Topologies : quatre types d’équipes, trois façons d’interagir pour les équipes, et les limites de la charge cognitive d’une équipe. La section onze point six traite des systèmes qui existent déjà : pourquoi les réécritures big bang échouent si souvent, et les techniques incrémentales qui fonctionnent. La section onze point sept couvre la dimension humaine du rôle : diriger sans autorité formelle, bâtir la confiance, faciliter les décisions, gérer les conflits et communiquer avec les dirigeants. Et la section onze point huit clôt le chapitre avec deux argumentaires qu’un architecte doit savoir bien construire : l’analyse de rentabilité, avec la valeur actuelle nette et le délai de récupération, et la justification éthique, y compris les préjudices prévisibles et la durabilité.
Ce diagramme de la section onze point six montre l’une de ces techniques, le strangler fig : remplacer un système hérité morceau par morceau pendant qu’il continue de fonctionner. D’abord, intercepter. Les clients appellent une façade de routage, qui envoie encore tout le trafic au monolithe hérité. Rien ne change encore dans le comportement. Ensuite, la première tranche. La façade envoie une fonctionnalité, le suivi des commandes, vers un petit service nouveau, avec une synchronisation temporaire des données entre l’ancien et le nouveau. Tranche après tranche, l’essentiel du trafic bascule, jusqu’à ce qu’il ne reste plus que la facturation dans l’ancien système. Enfin, tout le trafic va vers les nouveaux services, et le système hérité est éteint. La migration n’est terminée que lorsque l’ancien système et le code temporaire ont tous deux été supprimés.
L’architecture n’est pas terminée quand le diagramme est dessiné. Ses décisions doivent être mises à l’épreuve, protégées pendant que le système évolue, prises par les bonnes personnes, portées par des équipes dont la structure leur correspond, et justifiées auprès des commanditaires et de la société. Les architectes les plus efficaces rendent ce travail léger et continu, plutôt que lourd et ponctuel. De courtes revues des risques, au lieu d’audits annuels. Des garde-fous automatisés, au lieu de files d’approbation. Des conseils, au lieu d’autorisations. Et une migration incrémentale, au lieu de réécritures. La discipline qui relie le tout est celle par laquelle ce cours a commencé : nommer la qualité dont vous avez besoin, la rendre mesurable, décider délibérément, écrire pourquoi, et continuer à vérifier.
À la fin du chapitre, vous saurez expliquer quand évaluer une architecture, et mener soit l’ATAM, soit une revue légère comme le risk-storming, avec un registre des risques et des responsables. Vous saurez concevoir des fonctions d’aptitude qui transforment les scénarios d’attributs de qualité en vérifications automatisées. Vous saurez planifier une modernisation incrémentale, avec le strangler fig, le branch by abstraction et les exécutions en parallèle. Et vous saurez calculer la valeur actuelle nette et le délai de récupération pour une analyse de rentabilité, et examiner une architecture sous l’angle des préoccupations éthiques et de durabilité.
Vous pouvez lire le chapitre dans l’ordre, ou aller directement à la section dont vous avez besoin. Si une idée d’un chapitre précédent ne vous est pas familière, suivez le lien qui y renvoie. Comptez environ trois heures et demie pour lire tout le chapitre. À la fin de chaque section, vous trouverez des questions d’autoévaluation. Répondez-y de tête avant de regarder les réponses. Quand vous serez prêt, un test du chapitre facultatif vous attend ; il prend environ quarante-cinq minutes. Il comporte vingt questions à choix multiples et deux réponses rédigées. La note de réussite est de quatre-vingts pour cent.
Voilà comment le chapitre est construit. Commencez par la section onze point un, sur l’évaluation de l’architecture et l’ATAM. À très vite.
En un coup d’œil
Vous apprendrez à
- Expliquer quand et pourquoi évaluer une architecture, et dérouler les neuf étapes de l’ATAM pour produire des risques, des non-risques, des points de sensibilité, des points de compromis et des thèmes de risque.
- Animer des revues légères comme le risk-storming et les pre-mortems, et transformer leurs résultats en un registre des risques avec des responsables.
- Concevoir des fonctions d’aptitude qui transforment les scénarios d’attributs de qualité en vérifications automatisées de la structure, des performances, de la sécurité, de la résilience et des données.
- Rédiger des principes d’architecture et choisir entre garde-fous, points de validation et processus de consultation pour gouverner différents types de décisions.
- Appliquer les types d’équipes, les modes d’interaction et la charge cognitive de Team Topologies pour aligner les équipes sur l’architecture visée.
- Planifier une modernisation incrémentale d’un système hérité avec le strangler fig, le branch by abstraction et les exécutions en parallèle.
- Mener et influencer les décisions architecturales sans autorité formelle, y compris dans la communication avec les dirigeants.
- Calculer la valeur actuelle nette et le délai de récupération pour une analyse de rentabilité, et examiner une architecture sous l’angle des préoccupations éthiques et de durabilité.
Avant de commencer
Les chapitres 1 à 4, en particulier les décisions et les compromis (section 1.6), la dette technique (section 1.7), les scénarios d’attributs de qualité et les arbres d’utilité (sections 2.3 et 2.8), la loi de Conway (section 3.7) et les enregistrements de décision (section 4.5). Les chapitres 5 à 10 aident, mais ne sont pas indispensables.
Durée
Environ 3 heures et demie de lecture ; 45 minutes pour le test.
Termes clés
ATAM · Arbre d’utilité · Point de sensibilité · Point de compromis · Risk-storming · Pre-mortem · Fonction d’aptitude (fitness function) · Architecture évolutive · Processus de consultation (advice process) · Radar technologique · Team Topologies · Strangler fig (figuier étrangleur) · Valeur actuelle nette · Software Carbon Intensity
Juger, gouverner et faire évoluer l’architecture
Les chapitres précédents ont montré comment décrire ce qu’un système doit accomplir, comment le structurer et comment le rendre rapide, fiable, sûr et économique. Ce chapitre porte sur le travail qui entoure ces décisions pendant toute la vie d’un système : vérifier qu’elles sont solides avant d’engager l’argent, les maintenir vraies alors que des centaines de changements arrivent chaque mois, décider qui peut prendre quelles décisions dans une organisation de nombreuses équipes, remodeler les équipes et les systèmes hérités, convaincre, et justifier le coût du travail d’architecture en termes économiques et éthiques. C’est là que le cours se rassemble ; il renvoie donc souvent aux chapitres précédents : aux scénarios d’attributs de qualité et aux arbres d’utilité du chapitre 2, aux principes et aux métriques du chapitre 3, aux enregistrements de décision du chapitre 4, à la loi de Conway de la section 3.7 et à la dette technique de la section 1.7.
Le niveau est avancé, mais chaque section commence par une courte explication pour les débutants, et l’exemple fil rouge est la plateforme de livraison de repas utilisée depuis le chapitre 2 : des clients, des restaurants et des livreurs, des services de commandes, d’affectation des livreurs et de notifications, un courtier d’événements et un prestataire de paiement externe. Vous verrez son architecture évaluée, soumise au risk-storming, protégée par des fonctions d’aptitude, gouvernée par des principes et un radar technologique, réorganisée autour des équipes et en partie modernisée.
Évaluer et protéger les décisions : sections 11.1 à 11.3
La section 11.1 traite de l’évaluation de l’architecture formelle et de l’ATAM du SEI : pourquoi et quand évaluer, ses neuf étapes réparties sur deux réunions, qui y participe, et ses résultats caractéristiques : les risques, les non-risques avec leurs hypothèses, les points de sensibilité, les points de compromis et les thèmes de risque. L’arbre d’utilité de la section 2.8 revient dans son cadre d’origine, et la CBAM montre comment mettre en balance le bénéfice de chaque correction et son coût. Une ATAM condensée de la plateforme de livraison de repas montre les tableaux que produit réellement une évaluation.
La section 11.2 explique pourquoi les comités de revue mensuels échouent si souvent et ce qui fonctionne à la place : le risk-storming de Simon Brown, le pre-mortem de Gary Klein, les katas d’architecture de Ted Neward, TARA d’Eoin Woods pour les systèmes existants, les revues de conception écrites et les listes de contrôle. Elle se termine par un format pas à pas pour une revue de 90 minutes et par un guide pour choisir entre les techniques.
La section 11.3 transforme une évaluation ponctuelle en protection continue. Une fonction d’aptitude (fitness function) est une vérification objective d’une caractéristique architecturale, idéalement automatisée : une règle de dépendance, un test de charge avec des seuils de percentiles, une analyse de vulnérabilités, une expérience de chaos ou une vérification de compatibilité de schéma. Associées à des changements petits, fréquents et sûrs, les fonctions d’aptitude rendent possible une architecture évolutive. Trois scénarios du chapitre 2 deviennent des vérifications opérationnelles, avec le code.
Gouverner, organiser et moderniser : sections 11.4 à 11.6
La section 11.4 se demande comment une organisation de nombreuses équipes autonomes garde une architecture cohérente. Elle distingue principes, normes, garde-fous et points de validation ; montre comment rédiger des principes avec un nom, un énoncé, une justification et des implications ; et décrit la prise de décision décentralisée grâce au processus de consultation (advice process) d’Andrew Harmel-Law, aux forums consultatifs d’architecture et aux radars technologiques, la conformité étant automatisée par des fonctions d’aptitude et la politique en tant que code (policy as code).
La section 11.5 prend au sérieux la loi de Conway comme outil de conception. Elle présente Team Topologies de Matthew Skelton et Manuel Pais : quatre types d’équipes, trois modes d’interaction, la charge cognitive de l’équipe, les API d’équipe et les plans de fracture, et montre comment réorganiser les équipes de la plateforme de livraison de repas autour de flux de changement. La section 11.6 traite des systèmes qui existent déjà : pourquoi les réécritures big bang échouent si souvent, l’éventail des stratégies de migration et les techniques incrémentales qui fonctionnent, dont le strangler fig, le branch by abstraction, les exécutions en parallèle, la capture des données modifiées et les couches anticorruption, mises en pratique en extrayant un module de commandes d’un monolithe à la manière d’un figuier étrangleur.
Diriger, justifier et agir de manière responsable : sections 11.7 et 11.8
La section 11.7 couvre la dimension humaine du rôle : diriger sans autorité formelle, bâtir la confiance, faciliter les décisions par consentement ou par consensus, gérer les conflits et la politique interne, communiquer avec les dirigeants, faire du mentorat, les parcours d’ingénierie staff-plus et les pièges de décision qui guettent les personnes expérimentées, avec une décision contestée sur un bus d’événements menée pas à pas.
La section 11.8 clôt le chapitre avec les deux argumentaires qu’un architecte doit le plus savoir bien construire. L’analyse de rentabilité : coûts, bénéfices, risques et options, avec la valeur actuelle nette et le délai de récupération calculés dans un exemple commenté, et la dette technique exprimée en argent et en temps. Et la justification éthique : codes de conduite professionnels, préjudices prévisibles comme la perte de vie privée, les biais, l’inaccessibilité et la conception manipulatrice, et la durabilité mesurée avec la spécification Software Carbon Intensity.
L’idée à retenir
L’architecture n’est pas terminée quand le diagramme est dessiné. Ses décisions doivent être confrontées aux besoins du métier, protégées pendant que le système évolue, prises par les bonnes personnes avec les bons conseils, portées par des équipes dont la structure leur correspond, et justifiées dans des termes que les commanditaires et la société peuvent accepter. Les architectes les plus efficaces rendent ce travail léger et continu plutôt que lourd et ponctuel : de courtes revues des risques au lieu d’audits annuels, des garde-fous automatisés au lieu de files d’approbation, des conseils au lieu d’autorisations, une migration incrémentale au lieu de réécritures. La discipline qui relie le tout est celle par laquelle ce cours a commencé : nommer la qualité dont vous avez besoin, la rendre mesurable, décider délibérément, écrire pourquoi, et continuer à vérifier.
Les 8 sections
Test du chapitre
Vérifiez votre compréhension du chapitre 11
Facultatif : 20 questions à choix multiples et 2 courtes réponses rédigées, tirées à chaque fois d’une banque de 72 questions. Note de réussite : 80 %. Réussir tous les tests de chapitre, puis l’évaluation finale, donne droit au Certificat de fin de formation Be Wise.
Passer le test du chapitre 11 dans l’appLectures complémentaires
- Software Architecture in Practice, 4th edition, Len Bass, Paul Clements and Rick Kazman (2021), Addison-Wesley. Le manuel de référence ; ses chapitres sur l’évaluation de l’architecture décrivent l’ATAM et sa variante légère, par les auteurs de la méthode.
- ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004), Rick Kazman, Mark Klein and Paul Clements (2000), Software Engineering Institute, Carnegie Mellon University. Le rapport technique d’origine qui définit les étapes, les rôles et les résultats de l’ATAM, avec un cas commenté.
- Building Evolutionary Architectures: Automated Software Governance, 2nd edition, Neal Ford, Rebecca Parsons, Patrick Kua and Pramod Sadalage (2022), O'Reilly Media. La source des fonctions d’aptitude architecturales et la présentation la plus claire de l’architecture évolutive.
- Performing a Project Premortem, Gary Klein (2007), Harvard Business Review. Le court article qui a introduit le pre-mortem : imaginer d’abord l’échec, puis le prévenir.
- Scaling the Practice of Architecture, Conversationally, Andrew Harmel-Law (2021), martinfowler.com. Décrit le processus de consultation, les forums consultatifs, les principes élaborés par les équipes et un radar technologique interne.
- Design It! From Programmer to Software Architect, Michael Keeling (2017), Pragmatic Bookshelf. Un guide pratique de l’architecture comme activité d’équipe, avec de nombreuses activités d’atelier, de conception et d’évaluation pour les équipes.
- Kill It with Fire: Manage Aging Computer Systems (and Future Proof Modern Ones), Marianne Bellotti (2021), No Starch Press. Un guide franc, fondé sur l’expérience, pour moderniser les systèmes hérités sans réécriture vouée à l’échec.