Cela fait plus de dix ans que nous avons élaboré notre approche d’architecture centrée sur le risque et les coûts*. Depuis, les pratiques agiles, comme la mise à l’échelle agile, sont devenues courantes, et les cadres de mise à l’échelle agile, comme le cadre de gestion agile (SAFe), aident les organisations à tirer parti des avantages du développement agile.
De nombreuses organisations qui adoptent les pratiques de notre approche d’architecture centrée sur le risque et les coûts mettent également en œuvre des pratiques de mise à l’échelle agile, souvent fondées sur un cadre SAFe. Dans cet article, je vous présenterai quelques-unes de leurs expériences, qui démontrent comment la combinaison de notre approche et du cadre SAFe peut aider n’importe quelle organisation à mieux concevoir et gérer son architecture.
Architecture à l’échelle
Pour qu’une équipe agile soit performante, sa taille est souvent limitée (le plus souvent à dix personnes). Il s’agit de la règle des deux pizzas. Si une organisation a besoin de plus d’une équipe pour accomplir tout le travail nécessaire, les tâches doivent être coordonnées entre les différentes équipes. Les cadres de mise à l’échelle agile renferment des meilleures pratiques pour orienter cet effort de coordination, et l’architecture y joue un rôle important.
Les styles architecturaux comme les microservices sont conçus pour réduire au minimum le besoin de coordination entre les équipes dans une certaine mesure, mais il y aura toujours des interdépendances à coordonner, en plus des politiques, des décisions et des compromis en matière d’architecture. Selon la taille et la structure de l’organisation, il peut y avoir plusieurs niveaux de coordination architecturale :
- coordination entre des équipes qui travaillent sur un même système (architecture de système);
- coordination entre plusieurs systèmes qui résolvent ensemble un problème opérationnel (architecture de solutions);
- coordination à l’échelle d’un domaine d’affaires ou d’une entreprise (architecture d’entreprise).
Le cadre SAFe prescrit des rôles d’architecte pour chacun de ces niveaux : architecte de systèmes, architecte de solutions et architecture d’entreprise.
Pour les équipes seules, il n’y a pas de rôle d’architecte coordonnateur. Chaque équipe est plutôt responsable de ses propres décisions de conception.
Figure 1 – Niveaux d’architecture dans un cadre SAFe
Chacun des niveaux présentés dans le diagramme ci-dessus (merci à Dana Bredemeyer) est associé à des responsabilités d’architecture semblables à celles décrites par notre approche d’architecture centrée sur le risque et les coûts. Chaque acteur doit comprendre le contexte opérationnel et technologique lié à sa portée, prendre des décisions et élaborer des modèles, confirmer la conception, puis appuyer le perfectionnement et la mise en œuvre de son architecture. La principale différence entre ces niveaux ne se trouve pas dans les tâches et les responsabilités liées à l’architecture, mais dans la portée des modèles et des décisions, comme on peut le voir ci-dessus. Les pratiques de notre approche appuient le travail lié à l’architecture à chacun de ces niveaux.
Valeur commerciale de l’architecture
L’« adoption d’un point de vue économique » est le premier principe lean-agile du cadre SAFe. Lorsqu’on développe des systèmes, il est important de prendre des décisions liées à l’architecture et à l’établissement des priorités en tenant compte du bon contexte économique. L’adoption d’une perspective économique en matière d’architecture est également le principe directeur de notre approche. Les pratiques de notre approche se sont révélées particulièrement solides pour appuyer ce principe, par exemple en énonçant la valeur commerciale de l’architecture. Notre approche permet de comprendre la valeur commerciale des épopées, des fonctionnalités et des histoires architecturales, ainsi que la valeur de la documentation, des modèles et des décisions liés à l’architecture – sur le plan commercial. Voici trois études de cas qui illustrent ce point.
Documentation de l’intention de la solution
Une grande organisation d’infrastructures publiques nous a demandé de l’aider à transformer sa façon de concevoir des architectures. Ses architectes mettaient l’accent sur les livrables, principalement les documents de conception anticipée, ce qui jouait un rôle important dans la gouvernance des projets. Le cadre SAFe s’appuie sur l’« intention de la solution » pour favoriser une architecture intentionnelle et une conception émergente, mais il ne prescrit pas de format ou de niveau de granularité pour documenter cette intention.
Dans ce cas de figure, notre approche centrée sur les risques et les coûts a été très utile pour élaborer de nouvelles façons d’assurer aux propriétaires d’entreprise que leur investissement était suffisamment maîtrisé. La priorité est passée des documents de conception exhaustifs aux décisions architecturales ayant des incidences élevées sur les coûts et les risques. Les décisions moins risquées ont été reportées, et les approbateurs de l’entreprise ont cessé de se plaindre au sujet de conceptions incomplètes. Notre approche de documentation sur l’architecture axée sur la valeur a été particulièrement utile, et nous l’avons par la suite adoptée au sein de nombreuses autres organisations. Elle cadre bien avec les directives du cadre SAFe relatives à la « communication avec les modèles ».
Responsabilité des catalyseurs et dette technique
La mise en œuvre de décisions architecturales constitue un travail, lequel est géré en tant que fonctionnalités et histoires dans la liste des tâches en attente. De telles histoires sont appelées des « catalyseurs » dans le cadre SAFe, car d’autres fonctionnalités ou histoires en dépendent souvent. Leur mise en œuvre permet de construire la piste architecturale.
Les catalyseurs ne créent habituellement de la valeur commerciale qu’indirectement. Ils n’ont pas de valeur commerciale directe en soi, mais ils constituent le fondement des fonctionnalités et des histoires opérationnelles. C’est pourquoi la hiérarchisation des catalyseurs mène souvent à des discussions, surtout lorsque les organisations utilisent la méthode de priorisation des tâches les plus courtes après pondération du cadre SAFe pour établir l’ordre de priorité des tâches en attente**.
Figure 2 – Modèle de valeur de Kruchten pour les tâches en attente
Un écueil commun est le fait que les partenaires d’affaires considèrent souvent les catalyseurs comme des atouts techniques desquels ils ne se sentent pas responsables, même si l’intégrité de leurs produits en dépend généralement (« Pourquoi ne payez-vous pas pour cela à l’aide de votre budget de maintenance? »). Nous avons abordé cet enjeu au sein d’une grande organisation de transport de passagers en présentant le modèle de raisonnement de Philippe Kruchten sur la valeur des tâches en attente. Ce modèle joue un rôle important dans les pratiques de soutien à la prestation de services de notre approche d’architecture centrée sur le risque et les coûts, et il contribue à rendre le développement de la valeur d’un portefeuille ou d’un produit plus transparent et à positionner les histoires architecturales en termes commerciaux. De plus, il sert de guide pour la répartition des capacités.
Le cadre SAFe définit la « répartition des capacités » comme le processus de répartition du temps et des ressources disponibles d’une équipe pour différents types de travail. En allouant des capacités pour les histoires commerciales et les activités liées à l’état de santé des systèmes, les organisations peuvent s’assurer non seulement de proposer de nouvelles fonctionnalités, mais aussi de maintenir la stabilité, la fiabilité et la performance de leurs systèmes. Cet équilibre est essentiel pour offrir une expérience utilisateur de grande qualité et éviter des interruptions ou des défaillances coûteuses.
Modification du rôle des architectes
La mise en œuvre d’une méthode de travail agile a une incidence importante sur les architectes. Même si les différents rôles d’architecte dans le cadre SAFe (architecte d’entreprise/de solutions/de système) semblent familiers, un état d’esprit et un comportement différents sont requis pour jouer un rôle d’architecte dans une organisation véritablement agile. Les architectes traditionnels qui ont l’habitude de préparer des documents de conception validés en amont devront sortir de leur zone de confort. L’idée que des équipes autonomes prennent leurs propres décisions de conception peut parfois les inquiéter.
Nous avons particulièrement insisté sur cet aspect lorsque nous avons encadré des architectes dans les secteurs public et financier. L’apprentissage des pratiques de modélisation et de prestation de services tirées de notre approche leur a permis de gagner en confiance et de partager la responsabilité des décisions de conception architecturale avec les équipes agiles. Ils se sont alors éloignés de l’antimodèle du comité d’examen de l’architecture, qui entre en conflit avec certains principes du cadre SAFe comme la « décentralisation de la prise de décisions » et la « promotion de la motivation intrinsèque des travailleurs du savoir ».
La prise de décisions architecturales est devenue un travail d’équipe à tous les niveaux organisationnels, où l’accent mis sur les risques et les coûts a permis d’établir une orientation pour les mandats décisionnels centralisés et décentralisés (c.-à-d. quelles décisions architecturales devraient être prises à quel niveau).
L’architecture agile exige plus qu’un cadre de gestion
Les approches de mise à l’échelle agile comme le cadre SAFe englobent une vaste base de connaissances, et les organisations qui les mettent en œuvre doivent souvent se concentrer sur la valeur commerciale au-delà de la formation, ainsi que sur les nouveaux rôles, rythmes et rituels. Devenir un véritable architecte agile exige beaucoup plus d’adaptation que ne semblent le laisser entendre les rôles d’architecte au caractère familier du cadre SAFe – et ce n’est pas le cas que pour les architectes. Le cadre SAFe propose une description des rôles et des responsabilités des architectes et repose sur la coopération, tandis que notre approche d’architecture centrée sur le risque et les coûts fournit des conseils sur la façon de concevoir une architecture.
Nous avons découvert que les pratiques de notre approche offrent un soutien précieux aux architectes et aux membres de l’équipe qui veulent faire plus que changer leurs rituels. Elles se sont révélées particulièrement utiles pour concentrer les efforts sur la valeur commerciale et obtenir la participation des partenaires commerciaux à l’architecture.
Apprenez-en plus sur notre approche d’architecture centrée sur le risque et les coûts. De plus, n’hésitez pas à communiquer avec moi pour poursuivre la discussion.
* Un autre nom donné à notre approche est « approche réactive et collaborative en matière d’architecture numérique »; les deux options sont tout aussi valables.
** La méthode de priorisation des tâches les plus courtes après pondération ne doit jamais être utilisée pour hiérarchiser les catalyseurs mêlés aux histoires qui ne sont pas de type « catalyseur »; il faut plutôt utiliser la répartition des capacités, l’une des règles de budgétisation agile du cadre SAFe.