On entend très souvent les développeurs séniors se plaindre des options retenues par l'architecte sur leurs projets. Ces plaintes font bien souvent surface lorsque le développeur se trouve confronté à une difficulté majeure qu'il estime due au choix d'architecture.
Lorsqu'il est avéré que l'architecture retenue est en inadéquation avec les développements demandés sur le projet, on est droit de se poser des questions sur la légitimité de l'architecte.
Si le risque était prévisible, alors il est évident qu'il y a eu un trou dans la raquette durant la conception de l’architecture. Mais comment corriger ce problème ?
Pour pallier ce défaut de compétence nuisible au projet, une réponse serait de conseiller à l'architecte d'impliquer le développeur pour le choix de la solution logicielle. Malheureusement, pour des raisons de coût autant que de planning, cette solution n'est pas idéale. En effet, le choix d'architecture se fait souvent avant que le projet n'entre réellement en phase de développement, voire avant que l'on ait décidé si le projet serait ou non réalisé.
Ne reste plus alors comme solution directe en première approche, que d'exiger de l'architecte une maitrise du développement et de ses problématiques.
Une autre solution serait d'apporter de la souplesse au processus de conception réalisation en faisant un point rapide après une première phase de développement pour faire valider par les développeurs l'architecture retenue. On a d'ailleurs de plus en plus souvent recours à des prototypes servant de Proof Of Concept pour l'architecture, sur des projets de grande taille. Néanmoins, même pour ce type de projet, l'architecte devra posséder une culture du développement suffisante pour dialoguer de façon constructive avec le développeur. L'architecte devra avoir également pensé son architecture de façon suffisamment générique pour l'adapter au cours du projet.
Mais intéressons-nous maintenant à savoir pourquoi l'architecte ne possède pas toujours cette connaissance du développement.
Tout d'abord parce que le parcours qualifiant pour devenir architecte ne passe pas forcement par un poste de développeur sur les technologies sur lesquelles il intervient. En effet, certains développeurs sur des technologies « non web » se sont réfugiés dans l'architecture pour éviter d'affronter les frameworks web (JEE notamment) qu'ils ont laissés aux plus jeunes.
Mais aussi parce que les métiers de la conception d'architecture et de développement sont parfois totalement exclusifs l'un de l'autre. C'est particulièrement le cas des projets qui font l'objet de marchés publics, pour lesquels il y a une AMOA (assistance à maitrise d'ouvrage) tournée vers le métier et le fonctionnel, mais qui conçoit l'architecture du SI cible et une MOE (maitrise d’œuvre) qui réalise le logiciel. Et ces deux entités (cols blancs et cols bleus) ne sont pas reconnues pour leur capacité à communiquer pour le bien du projet.
Et vous ?
Chez vous, comment les architectes et développeurs cohabitent-ils ?
L'architecte logiciel est-il trop déconnecté du développement ?
L'architecte logiciel est-il trop déconnecté du développement ?
Le , par autran
Une erreur dans cette actualité ? Signalez-nous-la !