Description
Cette formation Architecture pragmatique vous permettra de prendre des décisions d'architecture éclairées dans le contexte réel de vos projets, loin des dogmes et des effets de mode.
Pendant 2 jours, vous apprendrez à :
- choisir et justifier une architecture adaptée à votre contexte réel, sans dogme ni effet de mode,
- documenter et communiquer vos décisions clairement, à vos équipes comme aux parties prenantes,
- concevoir des systèmes capables d'évoluer sans accumuler de dette architecturale.
À l'issue de la formation, vous saurez justifier vos décisions d'architecture, les communiquer clairement à vos équipes comme aux parties prenantes, et faire évoluer vos systèmes sans accumuler de dette architecturale.
Public
Cette formation s'adresse aux développeur·euse·s expérimenté·e·s, tech leads et futur·e·s architectes souhaitant prendre des décisions d'architecture pertinentes et savoir les documenter et les défendre. Elle sera également utile aux architectes en poste désirant ancrer leur pratique dans une démarche concrète et orientée terrain.
Les objectifs
- Comprendre ce qui fait une architecture pertinente dans un contexte donné
- Raisonner en attributs de qualité et arbitrer les compromis (trade-offs)
- Choisir un style architectural adapté aux besoins réels du projet
- Documenter une architecture avec le modèle C4 et les ADR
- Concevoir une architecture évolutive et la protéger avec des fitness functions
- Communiquer ses choix d'architecture aux parties prenantes
Pré-requis
- Plusieurs années d'expérience en développement logiciel
- Maîtriser un langage orienté objet et les principes de conception (Programmation orientée objet)
- Avoir déjà travaillé sur une application en production (idéalement de taille moyenne à grande)
- Ordinateur portable à apporter
Le programme de la formation Architecture pragmatique
Jour 1 — Décider : les fondations d'une architecture pragmatique
-
Qu'est-ce qu'une « bonne » architecture ?
- L'architecture comme ensemble de décisions difficiles à changer
- Coût du changement et dette architecturale
- L'architecte intégré à l'équipe vs l'architecte « tour d'ivoire »
-
Raisonner en attributs de qualité (NFR)
- Performance, scalabilité, sécurité, maintenabilité, testabilité…
- Prioriser : tout n'est pas possible en même temps
- Écrire des scénarios de qualité mesurables
-
Le poids du contexte et les trade-offs
- « It depends » : pourquoi aucune architecture n'est universelle
- Contraintes réelles : équipe, délais, budget, existant, time-to-market
- Décider au dernier moment responsable
-
Panorama des styles architecturaux
- Monolithe, monolithe modulaire, microservices : quand et pourquoi
- Architecture en couches, hexagonale, ports & adapters
- Event-driven et CQRS : bénéfices et pièges
- Choisir selon le contexte, pas selon la hype
Mises en pratique :
- Identifier les attributs de qualité prioritaires d'un cas réel et rédiger des scénarios mesurables
- Classer et prioriser les attributs selon les contraintes métier et techniques
- Comparer deux styles architecturaux sur un cas donné et justifier le choix retenu
- Identifier les décisions irréversibles dans une architecture existante
Jour 2 — Documenter, communiquer et faire évoluer
-
Documenter sans tomber dans l'excès
- Le modèle C4 (Context, Container, Component, Code) de Simon Brown
- Adapter le niveau de diagramme à chaque audience
- Documentation « juste assez » : tour d'horizon d'arc42
-
Tracer les décisions : les ADR
- Architecture Decision Records : contexte, décision, conséquences
- Le format MADR et l'intégration dans le dépôt Git
- Relier les décisions aux diagrammes C4
-
Concevoir pour le changement : l'architecture évolutive
- Anticiper l'évolution sans sur-concevoir
- Les fitness functions : tester en continu la qualité architecturale
- Vérifier les règles d'architecture avec ArchUnit / ArchUnitTS
-
L'architecture au quotidien dans l'équipe
- Faire vivre l'architecture : revue et gouvernance légère
- Communiquer avec les parties prenantes techniques et métier
- Lutter contre l'érosion architecturale
Mises en pratique :
- Produire un diagramme C4 Context d'une application existante
- Produire le diagramme C4 Container correspondant et l'adapter à différentes audiences
- Rédiger un ADR au format MADR pour une décision d'architecture imposée
- Relier l'ADR aux diagrammes C4 et le versionner dans une arborescence Git
- Implémenter une fitness function vérifiant l'isolation des couches avec ArchUnit ou ArchUnitTS
- Détecter et analyser des violations d'architecture sur un projet intentionnellement dégradé
Bonus/Options
En fonction du temps disponible et du niveau des apprenants les modules suivants peuvent être aussi étudiés :
- Diagrammer le C4 « as code » avec Structurizr
- Approche EventStorming pour découvrir les frontières d'un système
- Stratégies de migration d'un monolithe vers un monolithe modulaire
Télécharger le programme
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié
Qualiopi, ce qui permet la prise en charge par des organismes comme
Pôle emploi, votre OPCO ou encore le
CPF (Compte Personnel de Formation) pour certaines formations.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
- 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
- 9h30 : la formation commence
- 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
- 14h : reprise de la formation
- 18h : fin de la journée
8 raisons de participer à une formation Human Coders
- Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1866 sessions réalisées). 99% des participants se disent satisfaits de nos formations
- Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
- Catalogue de formations complet : 252 formations au catalogue, de quoi vous accompagner sur tout vos projets
- Écosystème dynamique : Nous accompagnons les dev depuis 14 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
- Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
- Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
- Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
- Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux