La transformation agile du rôle de l’architecte

Direction informatique invite, à chaque parution, un chroniqueur qui traite d’un thème lié aux technologies de l’information en entreprise. Pour cette édition, Jean-René Rousseau et Mathieu Boisvert, coachs Agile chez Pyxis Technologies, traitent des méthodes de développement agiles.

Sans menacer le rôle de l’architecte informatique, l’adoption de l’agilité introduit de nouveaux paradigmes avec lesquels
ils doivent apprendre à composer, soit :

• une approche incrémentale de développement;
• l’interaction avec des équipes autonomes et multidisciplinaires.

Concevoir de façon Agile

Certains architectes ont tendance à se méfier de l’approche Agile qui, poussée à l’extrême, ne permet pas de tenir compte des enjeux systémiques reliés aux grands projets tels l’interopérabilité, la performance et la sécurité. Ils préfèrent prendre le temps de mitiger les risques avec une analyse détaillée an amont du projet.

Cependant, une analyse en amont n’a pas que des avantages, parce que :

• à elle seule,
elle ne démontre pas le véritable état d’avancement du projet;
• les documents d’analyse ne sont pas à l’abri des erreurs;
• elle demande un investissement pouvant réduire le temps disponible à la réalisation et aux demandes de changements.

L’approche Agile poursuit les mêmes objectifs de réduction de risque avec la pratique de la livraison incrémentale. Cette dernière permet la validation des hypothèses posées lors de l’analyse, et l’ajustement de la conception au regard des résultats obtenus.

Par contre, cela exige que les activités de développement, comme l’analyse, soient exécutées en parallèle, plutôt que concentrée en amont. En mode agile, on parle donc d’une conception émergente et progressive.

Pour profiter des avantages d’une telle approche il faut :

• en amont du projet, limiter l’analyse à une vision de haut niveau, définissant les objectifs à atteindre;
• dans les premières itérations, prouver des enjeux d’architecture par la livraison des exigences affaires;
• adopter la technique du réusinage (refactoring) pour combler les écarts entre les incréments de produit et les objectifs du projet et;
• au fil des itérations, lorsque les enjeux d’architecture seront mitigés, laisser de plus en plus d’espace à la livraison d’exigences affaires;

Interagir avec les équipes agiles

Un principe agile : Les meilleures architectures, spécifications et conceptions sont issues d’équipes autonomes.

Pour qu’une équipe agile soit efficiente, la somme de ses compétences devrait être suffisante pour livrer un incrément fonctionnel à tous les mois, de manière autonome. Pour être utile, l’architecte agile doit trouver le moyen d’ajouter ses compétences
aux équipes qu’il accompagne.

La manière la plus efficace de contribuer, c’est de se joindre à l’équipe. En tant que membre de l’équipe, l’architecte est :

• à même de constater et corriger sur le champ les défauts de la vision d’architecture;
• bien placé pour partager les objectifs de l’architecture;
• capable de profiter de l’intelligence d’analyse et de conception collective;
• en mesure d’apprécier le niveau de compétences de son équipe.
S’il venait qu’à juger que l’équipe est autonome, il pourrait prendre la décision d’accompagner une nouvelle équipe.

Lorsque que le contexte ne lui permet de s’engager, l’architecte agile cherche à se doter de leviers lui permettant d’influencer le développement tout en évitant de devenir un goulot d’étranglement pour les équipes :

• en communiquant avec l’équipe pour qu’elle partage une compréhension commune de l’architecture et se l’approprie;
• en évitant de communiquer seulement par l’échange de document, pour ne pas laisser de place à l’interprétation;
• en se rendant disponible pour des activités d’analyse et de conception, comme lors
de la planification des itérations;
• en collaborant avec le responsable de produit, pour s’entendre sur une planification couvrant à la fois les enjeux d’architecture et la livraison des exigences affaires;
• en participant
à la revue d’itération pour constater de l’état d’avancement de la solution;
• en proposant des points à la définition de terminé pour aider l’équipe à ne pas oublier la rencontre des objectifs de l’architecture.

Transformer les méthodes de travail

L’agilité ne remet pas en cause l’utilité des architectes, mais elle transforme leurs méthodes de travail et d’intervention.

Être agile, ce n’est pas jouer à l’autruche. C’est le juste milieu entre concevoir à l’avance pour saisir les enjeux et limiter les efforts d’analyse du démarrage.
C’est aussi une approche qui permet, en tout temps, de vérifier que la solution est sur la bonne voie et que l’équipe maitrise l’architecture.

Dans une approche agile, l’équipe est imputable de la conception et de la réalisation. Pour maximiser leur succès auprès des équipes agiles, les architectes se doivent d’être de bons communicateurs, être collaboratifs et respecter l’expertise de leurs pairs.

Pour aller plus loin :

Choisir l’agilité – Du développement logiciel à la gouvernance,
par Mathieu Boisvert et Sylvie Trudel, Éditions Dunod
www.agilemodeling.com/essays/agileArchitecture.htm
www.agilearchitect.org/agile/index.asp
www.martinfowler.com/articles/designDead.html
www.infoq.com/articles/agile-architecture

Jean-René Rousseau et Mathieu Boisvert
Jean-René Rousseau et Mathieu Boisvert
Jean-René Rousseau et Mathieu Boisvert sont coachs Agile chez Pyxis Technologies.

Articles connexes

Québec veut plus de numérique en éducation

Un montant de 10,6 millions de dollars sera utilisé sur deux ans par le gouvernement du Québec pour intégrer plus d'outils numériques de gestion et de prise de décisions au ministère de l’Éducation et au réseau scolaire.

Hashtag Tendances, 3 mars 2022 — Effets boule de neige du conflit en Europe; et plus

Hashtag Tendances, 2 mars 2022 — Enjeux d’externalisation; restrictions technologiques; des pirates informatiques choisissent leur camp; et plus.

Enjeux d’externalisation avec la situation en Europe

Le conflit en Europe perturbe l’accès à des ressources humaines en technologies de l'information et en ingénierie.

Cybersécurité : des agences fédérales sont à découvert, selon un comité parlementaire

Des organisations fédérales ne sont pas encore conformes au cadre fédéral de cybersécurité, ce qui expose des informations de l’État fédéral à un « risque important », selon un comité spécial de parlementaires.

Comment les TI peuvent aider à lutter contre la traite des personnes

Les responsables informatiques dans les institutions financières doivent faire équipe avec leurs responsables de la conformité réglementaire pour aider à mettre fin à la traite des personnes, affirme un Canadien qui vient d'être récompensé pour son travail visant à mettre fin à cette forme d'exploitation.