La transformation agile du rôle de l’architecte


Jean-René Rousseau et Mathieu Boisvert - 04/06/2012

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




Tags: , , ,

À propos de Jean-René Rousseau et Mathieu Boisvert

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