Posture d’architecte logiciel en grande entreprise

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.

    Complexité et architecture

    • Architecture traditionnelle : ses bons et moins bons côtés, Big Ball of Mud et No Silver Bullet
    • Qu’est-ce qu’une architecture? Est-elle nécessaire?
    • Introduction à la théorie de la complexité et Cynefin
    • Introduction à la découverte empirique
    • Caractéristiques de l'architecture émergente et intentionnelle

    Exactitude et conformité aux besoins et aux exigences non fonctionnelles

    • Besoins des utilisateurs : interprétation des récits, validation par des parcours utilisateur (journey), par des représentations à basse fidélité (wireframe) et par les données
    • Techniques d’identification des exigences non fonctionnelles (Non Functional Requirements)
    • Introduction aux fiches de décisions d’architecture (Architectural Decision Record) comme véhicule pour décrire l’architecture
    • Introduction au modèle C4 pour décrire efficacement ses idées

    Concepts clés d’architecture

    • Tests et déploiements indépendants en continu, couplage et intégration
    • Patrons architecturaux utiles pour un décalage à droite de l'activité d'architecture
    • Architecture basée sur des services et découpage en microservices
    • Architecture pilotée par les événements
    • Ségrégation des commandes et des requêtes
    • Pipeline et architecture par filtres et tubes (programmation orientée aspect)
    • Qualités d’un découpage applicatif incrémental, testable et prêt pour le futur

    Posture mentale de l’architecte/concepteur.trice

    • Qualités recherchées chez un.e architecte/concepteur ou conceptrice… et de son architecture lorsque que l'idée du résultat est vague et que la cible change tout le temps
    • Rôle de l’architecte/concepteur ou conceptrice dans un contexte VUCA : adaptation au changement au lieu de suivre un plan
    • Activités d’architecture et de conception, ses résultats (outcome) et ses artéfacts (output)
    • Activités de l’architecte/concepteur.trice sans valeur ajoutée
    • L’architecte/concepteur ou conceptrice de l’avenir
Éric Chartré

Éric Chartré

M. Sc.

Possédant plus de 30 ans d’expérience, Eric Chartré est un expert-généraliste en architecture de solution, en conception logicielle, en ingénierie logicielle et en gestion de la connaissance. De plus, il détient un bagage théorique et pratique très fort en expérience utilisateur/client/employé, en utilisabilité, en ergonomie cognitive et en sécurité. Ses connaissances et son expérience sont couplées à une pensée agile, réaliste, pragmatique, originale et, parfois, perturbatrice, principalement axée sur l’innovation et la méthode scientifique, mais tout en restant centrée sur l’humain.

Collaborateur

ELAPSE

Les clients qui ont suivi cette formation se sont aussi inscrits à :

Architecture en microservices : se doter de flexibilité et d’agilité