Description de la formation
Avec l’arrivée de l’agilité, on ne sait plus quand ni comment faire de l’architecture logicielle, particulièrement quand on a l’impression que l’utilisateur et son responsable de produit (Product Owner, PO) ne semblent pas savoir ce qu’ils veulent ou donnent l’impression de changer constamment d’idée.
Devrait-on faire un sprint 0? Devrait-on abandonner l’activité d’architecture? Qu’est-ce qu’une architecture quand on livre par petits incréments allant de quelques heures à quelques semaines? Quel est mon rôle en tant qu’architecte ou concepteur / conceptrice?
Cette formation recadre le rôle de l’architecte/concepteur ou conceptrice dans un contexte volatile, incertain, complexe et ambigu (VUCA). Par un décalage à droite (shift-right), elle donne des pistes qui permettent de faire des activités d'architecture utiles et probantes en aval à la différence des conceptions exhaustives en amont (Big Design Up Front, BDUF). Elle vise à défaire certaines idées reçues concernant l’architecture et veut placer les responsables de l’architecture dans une posture qui leur permettra d’aider leur équipe à livrer une solution de qualité qui a de la valeur pour l’utilisateur ou l'utilisatrice, au fur et à mesure de la découverte de ses besoins et des exigences non fonctionnelles.
Objectifs pédagogiques
À la fin de cette formation, vous serez en mesure de :
- Connaître et appliquer les pratiques modernes d’architecture : DDD, TDD, DevOps, etc. dans un contexte de développement non trivial (complexe)
- Identifier les exigences non fonctionnelles (Non-Functional Requirements ou -ilities)
- Utiliser les patrons les plus courants permettant de concevoir des applications prêtes pour le futur (? à l’épreuve du futur)
- Réaliser un découpage applicatif testable
- Concevoir des applications de façon itérative et émergente, sans avoir à faire une conception en aval
- Identifier les principales difficultés en ingénierie logicielle
- Utiliser les fiches de décisions d’architecture et le modèle C4 comme assises à la documentation
- Identifier les éléments de transformation afin de passer d’une posture traditionnelle d’architecte/concepteur.trice vers une posture de servant-leader
- Appliquer certaines techniques qui permettront de s’assurer que la solution livrée de façon incrémentale correspond aux besoins des utilisateurs et aux exigences non fonctionnelles tout en étant en adéquation avec les objectifs de l’architecture (architectural fitness function)
Méthodologie
Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisés tout au long de la formation :
Clientèle visée
Développeurs.euses et analystes qui doivent réaliser de la conception ou de l’architecture, architectes/concepteurs.trices logiciel (organiques). Cette formation peut aussi s'adresser aux architectes de solution qui ont à évoluer dans un contexte agile.