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.trice?

Cette formation recadre le rôle de l’architecte/concepteur.trice 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, 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)

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.

À savoir lorsque cette formation est en ligne

Nos formations en ligne sont diffusées sous forme de classes virtuelles interactives et nous travaillons avec la plateforme Zoom.

Vous devez avoir un ordinateur avec un bon accès à Internet ainsi qu'une caméra, un micro et des haut-parleurs afin de participer à la formation. Pour faciliter les échanges avec le formateur ou la formatrice et les autres participants et participantes, ainsi que pour être en mesure de participer au volet pratique de la formation, la caméra doit être fonctionnelle et ouverte tout au long de la formation, à défaut de quoi votre participation pourrait être refusée.

    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.trice… 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.trice 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.trice de l’avenir
Éric Chartré

Éric Chartré

Avec plus de 30 années 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 a un bagage théorique et pratique très fort en expérience utilisateur/client/employé, en utilisabilité, en ergonomie cogni1ive 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 tout en restant centrée sur l’humain.