dimanche 13 mars 2011

Condom Architect

J'ai eu ces derniers jours à réfléchir sur le métier d'architecte. L'éternel incompris de l'informatique, à cheval entre le savant-cosinus et le super-admin. Un rôle indéfinissable et nécessaire, mais nécessaire à quoi?!
En tout cas on entendra fatalement à un moment donné d'un projet, ce cri "munchien" de désespoir: De grâce, un architecte!!! Un cri qui arrive généralement lorsque le projet amorce la pente douce progressivement raide vers le gouffre de sa fin déshonorrante.

Quelques questions pour commencer :
Est-ce qu’un bon spécialiste peut faire un bon architecte ?
Un bon spécialiste dans une équipe d’architecte ne risque t-il pas de devenir… un bon spécialiste dans une équipe d’architecte ?

Cela m'amène à me poser la question : Qu’est ce qu’un architecte ? (ou qu’est-ce qu’il n’est pas ?)
Sans être aussi caricatural que Martin Fowler dans sa description du "Matrix Reloaded Architect", voici ce que pourrait être une charte d'architecte:
  • Ne pas écrire de scripts, de code Java ou C/C++, ou résister à l'envie de le faire. Se placer plutôt comme mentor en donnant des normes et des bonnes pratiques et rappeler que le développement est un art. Ce qui suppose d’être bien au dessus des compétences classiques d’un développeur. De temps en temps, mettre les mains dans de cambouï, écrire des portions de code pour accélérer les choses et pour rester crédible (et aussi pour ne pas s'ennuyer!).
  • Ne pas exécuter de commandes d’administration ou résister à l'envie de le faire. Donner plutôt un support de (très) haut niveau pour administrer ou analyser un élément du SI : OS, Middleware, logiciel… Pousser les intégrateurs et les administrateurs à être autonômes et à rechercher d'eux même en leur dévoilant quelques astuces méconnues dans leur spécialité.
  • Ne pas remplacer le chef de projet mais l’assister à mener à terme son projet, sans le « vampiriser », en ramenant sans cesse le débat sur les éléments clés du projet : objectif métier, délai, budget, intégration au SI et performances contractuelles. Considérer les projets comme des étapes plutôt que des aboutissements.
  • Partager, communiquer, évangéliser sur les projets et aussi sur les concepts inhérents au SI, en simplifiant les choses le plus possible, cela évite le rejet et permet l’adhésion des parties prenantes. On adhère à un projet quand on comprend ses dimensions techniques et métier.
D'où la définition suivante:
Un architecte technique est un consultant interne, un référent technique multi-spécialiste (expertise), capable d’expliquer sans donner de leçons (communication, pédagogie et modestie), d’accélérer une réalisation sans se l’approprier (délégation). Il doit planifier, fédérer puis clôturer (gestion).
C’est l’électron libre qui maintien le système en mouvement.

Pour terminer sur un peu de légèreté, j'ai lu récemment une BD satirique dans laquelle un architecte était comparé à un... préservatif! On s'en passerait bien vu sa capacité à enlever tout plasir. Mais quand les choses vont mal, on commence vraiment à regretter de ne pas avoir eu le bon sens de l'utiliser :-)