RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

Le simplisme contre la simplicité

24 avril 2002

Un système d'information ne peut être réussi que s'il est aussi simple que possible sur le plan fonctionnel, car son coût est une fonction quadratique de sa richesse fonctionnelle. Cependant son architecture ne sera pas nécessairement simple : il est souvent difficile de décrire simplement la solution la plus efficace sur le plan informatique. 

Les décideurs, souvent trop tolérants envers les complications fonctionnelles, sont par contre aisément séduits par des architectures techniques qui leur paraissent simples. Ils font alors le choix du simplisme et non celui de la simplicité. 

J'en ai vu des exemples en ce qui concerne l'EAI (Enterprise Application Integration) et l'ERP (Enterprise Resource Planning). 

EAI (Enterprise Application Integration)

L'expression EAI désigne les projets, méthodes et outils qui aident à coordonner les applications informatiques d'une entreprise. L'EAI vise à répondre aux besoins d'une entreprise qui veut continuer à utiliser des applications et bases de données anciennes tout en mettant en oeuvre de nouvelles applications via l'Internet (e-commerce, Extranet). 

Toutes les grandes SSII ont une offre d'EAI. La mise en oeuvre utilise des techniques récentes : langages orientés objet, outils de middleware, brokers de messages, interfaces avec gestion des files d'attente, accès aux données avec XML etc. 

 

Les commerciaux des SSII disent que l'EAI résout les problèmes d'interconnexion des applications et les problèmes d'interopérabilité entre SI d'entreprises différentes (architectures d'entreprise étendue). Ils présentent à leurs client un transparent séduisant : "l'architecture du passé", où les échanges entre applications sont représentés par un fouillis d'arcs reliant celles-ci deux à deux, contraste avec "l'architecture de l'avenir" où les applications sont toutes bien proprement reliées à un "bus" EAI.

Cependant cette simplicité masque la véritable nature des EAI. La communication entre applications suppose en effet résolus des problèmes de physique, de logique. L'EAI ne dispense pas de cet effort. Tout au plus fournit-il, dans le meilleur des cas, des outils qui le facilitent.

Voici les plus importants parmi ces problèmes :

1) référentiel : si le codage des données n'est pas le même dans les diverses applications (c'est fréquent), il faut prévoir des transcodages pour faire communiquer celles-ci ; ces transcodages peuvent impliquer une perte de qualité des données - par exemple si l'on passe d'un code géographique à un autre dont les zones sont différentes, le transcodage automatique est approximatif ; un transcodage exact nécessite le traitement humain des cas douteux.

2) synchronisme : la chronologie des données d'une application mise à jour une fois par semaine n'est pas la même que celle d'une autre application mise à jour quotidiennement ou en mode transactionnel : on ne peut donc pas faire communiquer sans précautions ni corrections des applications non synchronisées. 

3) volumétrie : les solutions à retenir ne sont pas les mêmes selon le volume à échanger. Si le canal est trop étroit, les mémoires ("buffers") vont déborder et des messages seront perdus.

4) traitement des rejets : il faut définir le traitement (souvent en partie automatique, en partie humain) des messages que l'interface entre deux applications refuse.

5) concurrence : lorsque plusieurs personnes peuvent avoir accès en même temps au même dossier, il faut éviter que les modifications qu'introduit quelqu'un ne soient écrasées par des modifications qu'introduit quelqu'un d'autre.

Le fonctionnement d'un EAI suppose ces divers problèmes résolus. L'EAI n'est pas une "technologie", un "outil" qui les résoudrait de façon automatique, mais une démarche d'architecture assistée par des outils. On peut dire que l'EAI a la vertu de contraindre l'entreprise à résoudre ces problèmes ; mais il faut peut-être dire aussi que l'on aurait dû les affronter sans y être contraint par la mise en place d'un EAI.

Les bons EAI sont ceux qui comportent des outils documentaires ou autres assistant la solution de ces problèmes. Il faut donc, lorsqu'un fournisseur propose un EAI, l'interroger sur les fonctionnalités offertes. Quelle aide l'EAI apportera-t-il à la solution des problèmes posés par l'incohérence des nomenclatures ? par l'asynchronisme, la volumétrie, la concurrence, etc. ? La discussion devient alors précise ; elle se complique et l'on échappe à l'illusion de simplicité qui constitue l'essentiel de l'offre commerciale. 

Si le commercial vous dit que ces questions ne sont pas importantes, qu'il faut faire confiance à la technologie, être de son temps et aller de l'avant, cessez de discuter avec lui : il y a des chances que son offre ne soit pas sérieuse. Méfiez-vous toutefois, prenez vos précautions : il se peut qu'il aille voir votre supérieur hiérarchique pour dire que vous êtes rétrograde, que vous refusez le progrès, et celui-ci le croira s'il est séduit par la simplicité de la présentation !

ERP (Enterprise Resource Planning)  

Un ERP est un logiciel comprenant divers modules permettant à une entreprise de gérer certaines parties de ses affaires : planification de la production, achats de produits intermédiaires, gestion du stock de pièces de rechange, relations avec les fournisseurs, services aux clients, suivi de l'exécution des commandes, comptabilité et gestion des ressources humaines.  

Un ERP est fondé sur l'utilisation d'une base de données relationnelle alimentant des modules. Sa mise en place peut nécessiter un lourd travail d'analyse et de transformation des processus de travail ainsi que la formation des personnes. Les grands fournisseurs d'ERP sont SAP, Peoplesoft, J. D. Edwards, Oracle etc.

Le problème est un peu le même qu'avec les EAI. Les fournisseurs suggèrent de rebâtir votre système d'information de sorte que les données soient placées au milieu des diverses applications et que celles-ci puisent dans le même stock. C'est en effet un excellent principe. Le malheur, c'est que lorsque l'on installe un ERP dans une entreprise il faut l'interfacer avec les applications existantes, modifier les processus de travail et changer l'organisation. Tout cela est coûteux. Si vous payez 2 M€ pour acheter les licences de l'ERP, vous devrez payer de l'ordre de 60 M€ pour le paramétrer, modifier l'organisation et lancer l'exploitation. Il faut avoir cette proportion en tête lorsque l'on évalue une offre. 

Parfois l'ERP sert à imposer à l'entreprise des changements que l'on n'a pas eu le courage de faire autrement. Chez l'un de mes clients le service "achats" était notoirement inefficace. Les 250 acheteurs passaient avec les fournisseurs des contrats que chacun gardait pour soi : si l'acheteur A avait passé avec le fournisseur F un contrat prévoyant un tarif dégressif, il gardait cette information pour lui et l'acheteur B ne pouvait pas tirer parti de la dégressivité. Il aurait été facile de mettre ces contrats dans une base documentaire partagée par les acheteurs ; cela n'aurait coûté que 100 k€ environ, mais cela demandait un courage que le directeur des achats n'avait pas. Pour résoudre ce problème, et traiter il est vrai d'autres problèmes de comptabilité, il a préféré acheter un ERP dont la mise en oeuvre a coûté plusieurs dizaines de millions d'euros et contraint à retenir une solution relativement inefficace pour la gestion des stocks.

Cette solution avait horrifié le directeur de l'informatique, le directeur de la logistique, la maîtrise d'ouvrage du système d'information ; mais le directeur des achats a eu gain de cause lors de l'arbitrage devant le DG : celui-ci n'a pas voulu désavouer un de ses directeurs (cf. "le compromis managérial") et en outre il a été séduit par la "simplicité" de la solution.  

En fait l'ERP est efficace pour des opérations banales, situées hors du cœur de métier. Pour votre cœur de métier, vous aurez besoin de fonctionnalités trop fines pour que l'ERP puisse les offrir de façon convenable. La gestion des stocks faisait partie du cœur de métier de mon client ; renoncer à son optimisation a dû lui coûter quelques dizaines de millions d'euros par an.

La simplicité de l'ERP, la simplicité de l'EAI sont purement nominales : c'est la dénomination qui est simple, non la chose elle-même. Ces dénominations sont comme le boîtier d'un ordinateur dont l'apparence parallélépipédique recouvre et masque un monstre de complication, une merveille d'ingénierie.