Architecte logiciel

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

architecte logiciel

Page d'aide sur l'homonymie Ne doit pas être confondu avec architecte (informatique).

L'architecte logiciel est un expert organisateur en informatique qui est responsable de la création du modèle d'architecture logicielle. Il se distingue de l'architecte informatique qui, lui, travaille sur le matériel.

Il est un informaticien professionnel agréé ou un ingénieur logiciel membre d'un ordre professionnel dans plusieurs pays.

Le rôle d'architecte logiciel peut, dans de petits projets, être tenu par l'analyste, le chef de projet ou le développeur responsable du projet. Dans les grandes entreprises, il est possible de retrouver un architecte en chef qui est responsable de l'application des normes d'architecture à l'ensemble des projets et de la gestion de la réutilisation des composants logiciels à la grandeur de l'entreprise. Dans les projets d'envergure, il est possible de retrouver un architecte logiciel et plusieurs sous-architectes, responsables du développement de l'architecture de parties disjointes du logiciel à construire.

L'analyste fonctionnel, l'architecte logiciel et l'ingénieur logiciel ont leurs responsabilités réparties : le premier pilote les cas d'utilisation, le second l'architecture et le troisième le développement.

En France, en 2010, le Répertoire national des certifications professionnelles ne répertorie qu'une seule formation d'« architecte logiciel »[1] dispensée par l'Afcepf.

La tour d'ivoire[modifier | modifier le code]

L'architecte logiciel a besoin d'avoir une vision globale du système à concevoir ou à maintenir. C'est à ce niveau que son rôle est le plus important car il est souvent le seul à avoir la capacité d'anticiper, ou à défaut de détecter et résoudre les problèmes résultant de l'interaction entre les différentes parties de ce système ou de l'utilisation de sous-systèmes par d'autres sous-systèmes. Il peut s'agir par exemple de problèmes d'interopérabilité, de productivité, d'intégration ou de performance. En conséquence, il travaille souvent avec une vision abstraite et synthétique du système considéré.

Cependant, il a également la nécessité de rester pratique, en contact avec les problèmes quotidiens des ingénieurs logiciels, et les difficultés qu'ils éprouvent à mettre en œuvre les solutions recommandées, appliquer des patterns pas nécessairement aussi aisés d'emploi que l'architecte pourrait le penser. Les facteurs influant sur la productivité et le confort de travail des développeurs sont nombreux : environnement de développement intégrant les problématiques de gestion de configuration qui sont souvent très épineuses, accès à la documentation, contraintes de planning, etc. Il faut bien sûr ajouter à cette liste le travail produit par l'architecte lui-même ; seule la confrontation avec le « monde réel » des développeurs permet de déterminer son degré d'adéquation au besoin. Il est donc impératif que l'architecte consacre du temps à éprouver les solutions qu'il propose, allant éventuellement jusqu'à produire lui-même, dans un environnement de production identique à celui des développeurs, du code les mettant en œuvre afin de le tester et d'évaluer concrètement les avantages et inconvénients de ces solutions.

Concilier la prise de recul avec le maintien d'un contact étroit avec « le monde des développeurs » est un exercice difficile sur des gros projets, et l'un des écueils possibles du rôle d'architecte est de s'isoler dans sa vision abstraite et ne pas parvenir à garder le contact avec la réalité. C'est ce que l'on nomme le « syndrome de la tour d'ivoire ».

Notes et références[modifier | modifier le code]

  1. Fiche « Architecte logiciel », Le Répertoire National des Certifications Professionnelles (RNCP).