cadrage 360° où l’architecture émerge en même temps que les besoins et la vision produit. Mais cela ne signifie pas que les questions d’architecture ont disparu : seulement qu’on les traite au fur et à mesure.
Pour qu’un développement s’intègre dans un SI, il faut répondre à des questions d’architecture de SI : quels sont les échanges à faire, sous quels formats, comment seront gérées les évolutions…
Ces sujets sont transverses au SI et donner de la cohérence à cette échelle permet de garder la complexité sous contrôle et donc d’augmenter vos chances de construire un système pérenne. Le pilotage de SI doit être pensé comme un investissement à moyen et long terme.
Il s’agit également de faire le lien avec le métier pour l’éclairer sur les conséquences de ses choix.
Ici encore, on peut s’en passer et tout décider en point à point de manière opportuniste, mais c’est risquer de développer un système trop hétérogène difficile à faire évoluer. D’autant plus que le développement en cycles courts peut créer une sorte de myopie qui fait oublier le temps long et que l’architecture a une mauvaise image pour une partie des agilistes.
La plupart des personnes qui développent ont un vernis sur l’architecture de SI : ce sont des extensions des questions d’architecture logicielle, et elles concernent tout le monde sur les projets.
Ce vernis est très utile pour pouvoir comprendre les enjeux, et faire en sorte que ce qui est fait dans le projet soit cohérent avec les décisions d’architecture au niveau du SI, même si l’on n’est pas directement partie prenante des décisions.
Ce vernis peut même être suffisant pour mener des projets. Ainsi tant qu’un projet n’a aucun besoin "exotique" c’est à dire aucune contrainte inhabituelle en terme de volume, performance, intégration avec les autres systèmes … une expertise limitée peut suffire.
Mais dans d’autres cas ce vernis n’est pas suffisant. Prendre certaines décisions nécessite de connaître les conséquences à long terme des différentes options, ou les prérequis pas forcément évidents d’une idée qui semble couler de source. Par exemple tout ce qui tourne autour de la gestion du changement comme les montées de versions avec gestion de la compatibilité, ou la capacité de mettre à jour le système sans interrompre le service. Cela demande de l’expertise, qui repose sur de l’expérience.
Dans des organisations de grande taille, en plus de prendre les décisions il faut faire le lien entre toutes les personnes impliquées sur le sujet, comme les équipes en charge de l’infrastructure ou de la sécurité. L’expertise technique doit alors s’accompagner d’autres compétences.
La question n’est donc pas le fait de porter ou pas le titre d’architecte, mais d’avoir des personnes qui auront les compétences adaptées à votre ou à vos niveaux de besoin : si sur des sujets transverses un·e architecte "classique" est souvent nécessaire, l’expérience OCTO prouve qu’au niveau d’un projet un·e tech lead expérimenté·e peut être le bon choix.
Les équipes d’architectes "tour d’ivoire" des années 2000 nous ont montré les risques de faire de l’architecture de SI loin des projets et de penser que l’architecture devait tout aux architectes. Cette vision est révolue. Pas d’architecture qui fonctionne sans participation du reste de l’IT, voire des métiers.
Notre préconisation est que la (ou les) personnes en charge de l’architecture d’un projet en fasse(nt) partie : cela permet de mieux comprendre les enjeux et ce qui s’y passe. Cela permet de prendre de meilleures décisions tout en impliquant mieux les autres membres de l’équipe.
Avoir un·e architecte "à demeure" est un bon choix, mais souvent un projet n’a pas de quoi occuper un poste à plein temps. L’architecte risque alors de chercher à se rendre utile et à aider le projet malgré lui.
Une des solutions est qu’il ait d’autres cordes à son arc et fasse du développement, de l’ops ou d’autre tâches le reste du temps. La cohésion des projets s’en trouve renforcée mais nécessite d’avoir des moutons à cinq pattes.
Autre option, faire du "consulting" sur d’autres projets dans lesquels le besoin en architecture est plus ponctuel. Cela est bien pratique pour les projets, même si cela rend la gestion du temps plus compliquée.
Les projets qui ont de faibles besoins en architecture n’auront pas besoin de l’aide d’un architecte mais seulement de personnes avec un vernis sur le domaine afin de pouvoir faire le relai avec le reste du SI, et d’en savoir assez pour déterminer à quel moment il devient nécessaire de faire appel à une expertise extérieure.
Ce modèle donne de meilleurs résultats que celui où des équipes d’architectes intervenaient pour les cadrages des projets puis disparaissaient, mais il demande une organisation plus fluide.
Avec les progrès techniques et organisationnels, le temps à passer sur les questions d’architecture a diminué. On a donc de moins en moins besoin d’achitectes.
Cela signifie que les architectes - entre autres - ont bien fait leur travail, et ont su faire progresser leur discipline.
Dans beaucoup de projets, une expertise limitée en architecture est désormais suffisante, tant qu’on sait ce qu’on ne sait pas.
À l’inverse, sur des projets plus complexes ou pour les sujets d’architectures transverses, des architectes SI expérimenté·e·s restent souvent nécessaires. En effet si la capacité à faire a beaucoup progressé, les question de stratégie de SI sont toujours là.