Read in English · Leer en español · Auf Deutsch lesen
Section 1.4 sur 1.8 · Débutant · 18 min de lecture
Ce que fait un architecte : responsabilités, compétences et types d’architectes
Leçon vidéo
5 min · narré en anglais, avec sous-titresÉcouter seulement (audio)
Lire la transcription
Que fait réellement un architecte logiciel ? L’intitulé du poste ne veut pas dire la même chose d’une entreprise à l’autre, mais derrière cette diversité il y a un socle commun. Cherchons-le.
Sur un chantier, l’architecte ne pose pas chaque brique. Mais il décide des choses qu’il serait ruineux de rater. Il explique ces décisions aux constructeurs et aux clients. Et il vérifie sur place que les plans sont respectés, en s’adaptant quand le terrain se révèle plus meuble que prévu. Un architecte logiciel fait de même pour un système logiciel.
Voici donc une définition de travail. L’architecte, c’est quiconque veille à ce que les décisions significatives soient bien prises, comprises par les autres et respectées à mesure que le système évolue. Remarquez le mot quiconque. L’architecture est un rôle avant d’être un intitulé de poste. Dans beaucoup d’équipes, personne ne porte le titre d’architecte, et ce sont les responsables techniques ou les ingénieurs seniors qui font ce travail. Ce qui compte, c’est que quelqu’un en soit clairement responsable. Quand personne ne l’est, l’architecture existe quand même, mais par accident.
Mark Richards et Neal Ford décrivent huit attentes envers un architecte. Prendre des décisions d’architecture, et continuer à analyser si l’architecture convient toujours à mesure que les choses changent. Rester à jour des tendances, et avoir une expérience variée, pour pouvoir comparer de nombreuses technologies. Veiller à ce que les décisions convenues soient réellement suivies, idéalement grâce à des contrôles automatisés. Connaître assez bien le domaine métier pour parler aux parties prenantes dans leurs propres termes. Et avoir des compétences relationnelles, et comprendre les jeux politiques. Peu de ces huit attentes sont purement techniques. Presque chaque décision sera contestée : la négociation et la persuasion sont donc des compétences essentielles, pas des extras.
L’International Software Architecture Qualification Board, ou iSAQB, décrit les tâches de l’architecte comme un cycle. Il commence par la clarification des exigences et des contraintes. Puis vient la conception des structures, et des concepts transversaux comme la persistance et la communication. Ensuite, communiquer et documenter l’architecture, et accompagner sa mise en œuvre aux côtés des personnes qui la construisent. Puis l’évaluer, notamment au regard des risques de ne pas satisfaire les exigences, ce qui ramène à la clarification. Au centre se trouvent les décisions. Chaque tâche les alimente et les réexamine, et le cycle se répète tout au long de la vie du système.
Quelles compétences cela demande-t-il ? Richards et Ford décrivent une pyramide de la connaissance à trois niveaux : ce que vous savez, ce que vous savez ne pas savoir, et ce que vous ne savez pas que vous ne savez pas. Un développeur type est récompensé pour sa profondeur. Le niveau supérieur, l’expertise réelle, est haut, et le niveau intermédiaire n’est qu’une fine bande. Pour un architecte, le niveau intermédiaire est bien plus large : les choses dont vous savez qu’elles existent mais que vous ne maîtrisez pas. Savoir qu’il existe cinq façons de résoudre un problème, et ce en quoi chacune est bonne ou mauvaise, c’est ce qui vous permet de comparer les options. Un architecte qui ne connaît qu’une seule base de données la recommandera à chaque fois.
Voici le cycle pour un seul besoin : le système de réservation d’un hôpital doit envoyer des rappels par SMS. L’architecte commence par clarifier : environ vingt mille par jour, ce qui se passe si le fournisseur de SMS est en panne, et aucun détail clinique, pour la confidentialité. La conception : le service de réservation publie des événements, et un composant de notification distinct envoie les messages à partir d’une file d’attente. Ainsi, une panne de SMS ne bloque jamais les réservations. Puis l’architecte rédige un enregistrement de décision d’une page avec les options et les raisons, et le présente à l’équipe et au responsable de la gouvernance de l’information. Pendant la construction, l’architecte travaille en binôme avec un développeur, relit la logique de nouvelle tentative et ajoute un contrôle automatisé qui empêche les champs cliniques d’apparaître dans le modèle de message. Trois mois plus tard, l’architecte vérifie : pendant une panne du fournisseur, les rappels restent trente minutes en file d’attente, et les cliniciens confirment que c’est acceptable. L’essentiel de l’effort a porté sur la clarification, la communication et la vérification, pas sur le dessin.
Les architectes doivent-ils écrire du code ? La plupart des voix expérimentées conseillent de rester impliqué dans le code, mais en dehors du chemin critique. Construisez une preuve de concept pour tester une option risquée avant que l’équipe ne s’y engage. Écrivez des fonctions d’aptitude : des contrôles automatisés de règles architecturales, par exemple que le code du domaine ne dépende jamais du framework web. Corrigez des bugs, traitez de petits éléments de dette, et relisez régulièrement du code, ce qui montre comment les décisions sont réellement mises en œuvre. Et méfiez-vous des pièges classiques : la tour d’ivoire dont les équipes contournent discrètement les conceptions, le goulot d’étranglement par lequel chaque décision doit passer, et l’expert figé dont le jugement est resté bloqué des années en arrière.
Voilà le rôle de l’architecte. La section complète présente les différents types d’architectes, une semaine type et un exemple de fonction d’aptitude. Ensuite, dans la section un point cinq, nous ferons connaissance avec les personnes que sert une architecture. À très vite.
Ce qu’il faut savoir
- Les architectes veillent à ce que les décisions significatives soient bien prises, comprises et respectées à mesure que le système évolue ; l’architecture est un rôle avant d’être un intitulé de poste.
- Richards et Ford décrivent huit attentes : prendre des décisions, analyser en continu, rester à jour, garantir la conformité, avoir une expérience variée, connaître le domaine métier, avoir des compétences relationnelles et savoir naviguer dans les jeux politiques.
- Le programme de l’iSAQB décrit ainsi les tâches des architectes : clarifier les exigences, concevoir les structures et les concepts transversaux, communiquer, accompagner la mise en œuvre et évaluer, de manière itérative.
- Parmi les types d’architectes figurent l’architecte d’entreprise, de solution, logiciel ou applicatif, des données, de la sécurité et du cloud ou de l’infrastructure ; les staff engineers et les principal engineers assument souvent les mêmes responsabilités.
- Les architectes privilégient l’étendue technique (connaître de nombreuses options et leurs compromis) plutôt qu’une expertise approfondie dans quelques domaines, comme le montre la pyramide de la connaissance.
- Les architectes devraient généralement rester impliqués dans le code sans être responsables de code sur le chemin critique : preuves de concept, fonctions d’aptitude, corrections de bugs et revues de code.
À quoi servent les architectes
Si l’architecture est l’ensemble des décisions et des structures significatives d’un système (section 1.1), l’architecte est quiconque veille à ce que ces décisions soient bien prises, comprises par les autres et respectées à mesure que le système évolue. Cela paraît simple, mais c’est l’un des rôles les moins uniformément définis du logiciel. Dans une entreprise, l’architecte est un ingénieur senior qui écrit encore du code tous les jours ; dans une autre, un membre d’une équipe centrale qui revoit les conceptions et tient à jour les normes ; dans une troisième, une personne qui parle surtout avec les dirigeants métier et les fournisseurs.
Derrière cette diversité se trouve un socle commun. Les architectes prennent ou orientent les décisions coûteuses à inverser, veillent aux qualités du système entier plutôt qu’à celles d’une seule partie, et relient les choix techniques aux objectifs métier. La suite de cette section décrit ce que cela implique, les compétences requises et la façon dont le rôle est organisé.
Huit attentes envers un architecte
Mark Richards et Neal Ford, dans Fundamentals of Software Architecture (O’Reilly, 1re édition 2020, 2e édition 2025), décrivent huit attentes essentielles envers un architecte, quels que soient l’intitulé du poste ou l’entreprise. Elles sont paraphrasées ci-dessous, avec pour chacune un exemple tiré d’une entreprise de livraison de repas.
Les huit attentes (d’après Richards et Ford)
| Attente | Ce que cela signifie | Exemple |
|---|---|---|
| Prendre des décisions d’architecture | Définir les décisions et les principes qui guident les choix technologiques, généralement en orientant l’équipe plutôt qu’en imposant des produits précis. | Décider que les intégrations avec les restaurants passent par une seule couche d’adaptateurs, plutôt que de choisir la bibliothèque de chaque restaurant. |
| Analyser l’architecture en continu | Réévaluer si l’architecture convient toujours à mesure que la technologie et l’activité évoluent, et rechercher les signes de dégradation. | Remarquer que le service d’affectation des livreurs concentre désormais 40 % de tous les échecs de déploiement, et chercher pourquoi. |
| Rester à jour des tendances | Suivre les évolutions des technologies et des pratiques, car les décisions architecturales durent longtemps. | Comprendre les nouvelles offres de bases de données managées avant la prochaine revue de capacité. |
| Garantir la conformité aux décisions | Vérifier que les décisions et principes convenus sont réellement suivis, idéalement à l’aide de contrôles automatisés. | Ajouter au build un contrôle qui échoue lorsque l’app appelle directement le prestataire de paiement. |
| Avoir une exposition et une expérience variées | Connaître un large éventail de technologies, de frameworks et de plateformes suffisamment bien pour les comparer. | Comparer des courtiers de messages (message brokers) sur la garantie d’ordre, la durabilité et le coût d’exploitation. |
| Connaître le domaine métier | Comprendre suffisamment bien l’activité pour parler aux parties prenantes dans leurs propres termes. | Savoir comment fonctionnent les reversements aux restaurants et les remboursements avant de repenser les paiements. |
| Avoir des compétences relationnelles | Diriger, collaborer, encadrer et résoudre les désaccords ; l’essentiel du travail d’architecture passe par d’autres personnes. | Animer une séance où deux équipes se mettent d’accord sur un contrat d’événement. |
| Comprendre les jeux politiques et savoir y naviguer | Obtenir le soutien aux décisions dans une organisation où les budgets, les priorités et les responsabilités sont disputés. | Obtenir l’accord de la finance et de l’exploitation avant de retirer un ancien système de reporting. |
Remarquez combien peu de ces huit attentes sont purement techniques. Richards et Ford soulignent que presque chaque décision d’un architecte sera contestée par quelqu’un (développeurs, autres architectes, product owners, chefs de projet) : la négociation et la persuasion sont donc des compétences essentielles, pas des extras. Une architecture correcte sur le papier mais ni comprise ni acceptée ne sera pas construite comme prévu.
La vision des tâches de l’architecte selon l’iSAQB
L’International Software Architecture Qualification Board (iSAQB), dont le programme de niveau Foundation (CPSA-F) est largement utilisé en Europe, décrit les tâches et responsabilités des architectes de façon similaire. En résumé, les architectes : clarifient et examinent attentivement les exigences et les contraintes ; décident comment décomposer le système en blocs de construction avec leurs dépendances et leurs interfaces ; décident des préoccupations transversales (cross-cutting concerns) comme la persistance, la communication et l’interface utilisateur ; communiquent et documentent l’architecture ; accompagnent sa réalisation et sa mise en œuvre ; l’analysent et l’évaluent, notamment au regard des risques de ne pas satisfaire les exigences ; et expliquent les conséquences des décisions architecturales aux autres parties prenantes.
Le programme souligne aussi que ces tâches sont itératives : les architectes travaillent par cycles, en revenant sur les exigences et les décisions à mesure que les retours arrivent, plutôt que de concevoir une fois pour toutes puis de passer la main. La section 1.8 examine comment cela s’intègre à une livraison itérative et continue.
Le travail de l’architecte comme un cycle
Types d’architectes
Les intitulés suivent les niveaux d’architecture décrits dans la section 1.2. Les responsabilités exactes varient fortement d’une organisation à l’autre : considérez le tableau ci-dessous comme typique plutôt que définitif.
| Type | Périmètre | Livrables typiques |
|---|---|---|
| Architecte d’entreprise | L’organisation entière : capacités, portefeuille d’applications, normes technologiques, alignement sur la stratégie | Cartes des capacités, feuilles de route vers l’état cible, normes, conseils d’investissement |
| Architecte de solution | Un problème métier ou un programme couvrant plusieurs systèmes, fournisseurs et équipes | Conceptions de solution, conceptions d’intégration, évaluations de fournisseurs |
| Architecte logiciel ou applicatif | La structure et les qualités d’un système ou d’un groupe de systèmes étroitement liés | Structures de composants, enregistrements de décision, scénarios de qualité, orientations techniques pour les équipes |
| Architecte des données | La façon dont les données sont modélisées, détenues, stockées, déplacées, gouvernées et analysées | Modèles de données, cartes de responsabilité des données, conceptions de pipelines et de plateformes |
| Architecte sécurité | Identité, accès, protection des données et emplacement des contrôles de sécurité | Modèles de menaces, patrons de sécurité, exigences de contrôle |
| Architecte cloud ou infrastructure | Calcul, réseau, stockage, environnements et plateformes | Landing zones, conceptions réseau, normes de plateforme, modèles de coûts |
Un rôle ou un intitulé de poste ?
L’architecture est un ensemble de responsabilités avant d’être un intitulé de poste. Dans de nombreuses organisations, en particulier les plus petites et celles qui sont organisées autour d’équipes produit autonomes, personne ne porte le titre d’« architecte ». Le travail architectural est pourtant fait, par les responsables techniques, les ingénieurs seniors ou l’équipe collectivement. Ce qui compte, c’est que quelqu’un soit clairement responsable des décisions significatives et des qualités à l’échelle du système. Quand personne ne l’est, une architecture est quand même produite, mais par accident.
De nombreuses entreprises technologiques proposent une filière de carrière technique pour les contributeurs individuels seniors, avec des niveaux comme staff engineer et principal engineer. Le livre Staff Engineer (2021) de Will Larson décrit quatre archétypes courants de ces rôles, dont l’un est explicitement appelé l’Architect : une personne responsable de l’orientation et de la qualité d’un domaine technique critique. Les autres (le Tech Lead, le Solver et le Right Hand) assument aussi une part importante de responsabilité architecturale. Dans ces organisations, le travail de l’architecte est fait par des personnes qui sont aussi ingénieurs.
L’article de Martin Fowler de 2003, Who Needs an Architect?, oppose deux caricatures : un architecte qui prend seul toutes les décisions importantes, et un autre qui travaille étroitement avec l’équipe, encadre les développeurs et les aide à prendre eux-mêmes de bonnes décisions. Fowler plaidait résolument pour le second. La plupart des praticiens s’accordent aujourd’hui à dire que les architectes qui dictent à distance tendent à produire des conceptions que les équipes contournent discrètement.
L’étendue technique face à la profondeur
Les développeurs sont généralement récompensés pour leur profondeur : connaître extrêmement bien un langage, un framework ou une plateforme. Les architectes ont besoin d’un profil différent. Richards et Ford décrivent une pyramide de la connaissance à trois niveaux : ce que vous savez (là où vous avez une réelle expertise), ce que vous savez ne pas savoir (vous savez que cela existe et à peu près à quoi cela sert, mais vous ne pourriez pas vous en servir pour construire quelque chose aujourd’hui), et ce que vous ne savez pas que vous ne savez pas. L’expertise du niveau supérieur doit être entretenue, ce qui prend du temps. Le niveau intermédiaire est peu coûteux à développer, et c’est lui qui vous permet de reconnaître les options.
La valeur d’un architecte réside en grande partie dans son étendue technique (technical breadth) : savoir qu’il existe cinq façons de résoudre un problème, ce en quoi chacune est bonne ou mauvaise, et laquelle mérite un examen plus approfondi. Un architecte qui ne connaît qu’une seule base de données la recommandera à chaque fois. L’étendue a un prix, car le temps passé à élargir le niveau intermédiaire n’est pas passé à approfondir le niveau supérieur ; les architectes laissent donc délibérément s’estomper certaines expertises anciennes et investissent dans la connaissance d’un plus grand nombre de choses. Richards et Ford mettent en garde contre l’échec inverse : l’architecte dont les opinions se sont forgées sur une mauvaise expérience vécue il y a des années et qui rejette toute option qui lui ressemble.
La pyramide de la connaissance
Les architectes doivent-ils écrire du code ?
Les praticiens sont réellement en désaccord sur ce point, et ce désaccord est utile, car chaque camp a raison sur quelque chose.
Les arguments pour. Les architectes qui codent comprennent le coût réel de leurs décisions, remarquent quand un principe est pénible en pratique, gardent leur jugement technique à jour et conservent le respect des développeurs qui doivent mettre en œuvre leurs conceptions. Les architectes qui cessent de coder pendant des années risquent de concevoir des systèmes élégants sur un tableau blanc et malcommodes dans un éditeur.
Les arguments contre. Le temps d’un architecte est réparti entre de nombreuses équipes, réunions et décisions. Un architecte responsable de fonctionnalités sur le chemin critique devient un goulot d’étranglement : l’équipe attend du code retardé par ses autres obligations. Son attention est aussi nécessaire sur les préoccupations inter-équipes dont aucune équipe ne s’occupera seule.
La solution courante. La plupart des voix expérimentées, dont Richards et Ford, recommandent que les architectes restent impliqués dans le code d’une manière qui ne les place pas sur le chemin critique. Par exemple : construire une preuve de concept (proof of concept) pour tester une option risquée avant que l’équipe ne s’y engage ; écrire des fonctions d’aptitude (fitness functions), des contrôles automatisés qui vérifient des règles architecturales comme « le module de domaine ne doit pas dépendre du framework web » ; corriger des bugs et traiter de petits éléments de dette technique ; construire des outils et de l’automatisation pour l’équipe ; et relire régulièrement du code, ce qui montre comment les décisions sont réellement mises en œuvre.
import pathlib, re
FORBIDDEN = re.compile(r"^\s*(from|import)\s+flask\b", re.M)
def test_domain_does_not_depend_on_web_framework():
offenders = []
for path in pathlib.Path("shop/domain").rglob("*.py"):
if FORBIDDEN.search(path.read_text(encoding="utf-8")):
offenders.append(str(path))
assert not offenders, f"Domain code imports Flask: {offenders}"Une semaine dans la vie d’un architecte logiciel (exemple illustratif)
| Jour | Activités principales | Attente mise en œuvre |
|---|---|---|
| Lundi | Planification avec deux équipes produit ; constat qu’une nouvelle fonctionnalité de fidélité a besoin de données que le service des commandes n’expose pas ; ébauche d’options | Prendre des décisions ; connaître le domaine métier |
| Mardi | Atelier avec le délégué à la protection des données et l’équipe sécurité sur le stockage des adresses des clients ; rédaction d’un enregistrement de décision | Compétences relationnelles ; garantir la conformité |
| Mercredi | Preuve de concept de deux jours d’un service managé de streaming d’événements pour tester les garanties d’ordre sous charge | Expérience variée ; rester à jour |
| Jeudi | Revues de code dans l’équipe des paiements ; ajout d’une fonction d’aptitude après avoir repéré une dépendance interdite ; mentorat individuel | Garantir la conformité ; compétences relationnelles |
| Vendredi | Analyse des rapports d’incident et des métriques de délai de livraison pour repérer des signes de dégradation architecturale ; réunion avec la finance sur les coûts du cloud ; lecture | Analyser en continu ; naviguer dans les jeux politiques ; rester à jour |
Exemple commenté
Exemple commenté : une décision, cinq tâches
Le système de prise de rendez-vous d’un hôpital doit envoyer des rappels par SMS. L’architecte logiciel passe en revue les tâches de l’iSAQB pour ce seul besoin.
| Clarifier les exigences | Demande combien de rappels par jour (environ 20 000), dans quel délai ils doivent partir, ce qui se passe si le fournisseur de SMS est en panne, et si les messages peuvent contenir des détails cliniques (ils ne le peuvent pas, pour des raisons de confidentialité). |
|---|---|
| Conception | Propose que le service de réservation publie des événements « rendez-vous réservé » et qu’un composant de notification distinct envoie les messages à partir d’une file d’attente, pour qu’une panne de SMS ne bloque jamais les réservations. |
| Communiquer | Rédige un enregistrement de décision d’une page avec les options envisagées (appel direct ou file d’attente) et les raisons ; le présente à l’équipe et au responsable de la gouvernance de l’information. |
| Accompagner la mise en œuvre | Travaille en binôme avec un développeur sur la première version, relit la logique de nouvelle tentative et ajoute une fonction d’aptitude qui empêche les champs cliniques d’apparaître dans le modèle de message. |
| Évaluer | Trois mois plus tard, vérifie les délais d’acheminement et les taux d’échec ; constate que les rappels restent 30 minutes en file d’attente pendant une panne du fournisseur et confirme avec les cliniciens que c’est acceptable. |
L’essentiel de l’effort de l’architecte a porté sur la clarification, la communication et la vérification, pas sur le dessin de la conception.
La décision a été consignée avec ses raisons, pour qu’une future équipe puisse la réexaminer si le contexte change.
Questions fréquentes
Comment devenir architecte ?
Généralement en faisant du travail d’architecture avant d’en avoir le titre : prendre en charge les décisions transversales de votre équipe, rédiger des enregistrements de décision, élargir délibérément votre étendue technique, apprendre le domaine métier et vous exercer à expliquer les compromis à des personnes non techniques. Des certifications comme le CPSA-F de l’iSAQB peuvent structurer cet apprentissage, mais ne remplacent pas l’expérience.
Chaque équipe a-t-elle besoin d’un architecte ?
Chaque équipe a besoin que la responsabilité architecturale soit clairement attribuée, mais pas nécessairement à une personne dédiée. Les petites équipes la confient souvent à un responsable technique ; les grandes organisations peuvent avoir des architectes qui accompagnent chacun plusieurs équipes.
Quelle est la différence entre un responsable technique et un architecte ?
Un responsable technique est généralement responsable de la livraison technique d’une équipe et passe une grande partie de son temps à coder ; un architecte est généralement responsable des décisions et des qualités qui couvrent plusieurs équipes ou systèmes. Les rôles se recoupent fortement, et dans de nombreuses organisations le responsable technique est l’architecte du système de son équipe.
Combien de temps un architecte doit-il passer en réunion ?
Il n’existe pas de chiffre juste, mais un bon critère consiste à se demander si les réunions produisent des décisions, une compréhension partagée ou la levée d’obstacles. L’image de Gregor Hohpe, celle de l’architecte qui prend l’ascenseur entre la salle du conseil et la salle des machines, rappelle que les deux extrémités doivent être visitées régulièrement.
Vérifiez votre compréhension
Pourquoi Richards et Ford incluent-ils les jeux politiques parmi les attentes envers un architecte ?
Parce que presque chaque décision architecturale sera contestée par quelqu’un, et qu’une décision incapable d’obtenir un soutien face aux enjeux de budgets, de priorités et d’équipes ne sera pas mise en œuvre comme prévu.
Quel niveau de la pyramide de la connaissance un architecte doit-il délibérément développer, et pourquoi ?
Le niveau intermédiaire, ce que vous savez ne pas savoir, car savoir que des options existent et à quoi elles servent permet à un architecte de comparer des solutions.
Citez deux façons dont un architecte peut rester impliqué dans le code sans devenir un goulot d’étranglement.
Deux au choix parmi : construire des preuves de concept, écrire des fonctions d’aptitude, corriger des bugs ou de petits éléments de dette, construire des outils et de l’automatisation, et relire du code.
Sources et lectures complémentaires
Une question sur cette section ? ArchitectBot, l’assistant d’étude IA du cours, répond d’abord à partir du cours.
Demander : « Je suis développeur senior et on vient de me demander d’assurer le rôle d’architecte pour mon équipe. Que dois-je commencer à faire différemment, et que dois-je arrêter de faire ? »