lundi 16 mars 2015

Les limites de la complexité des SI


En notre époque de découverte des déluges de données, de la jungle du tout connecté, de la rupture des architectures logicielles, la complexité du SI s'accroît inexorablement.

Comment endiguer la fuite en avant de la complexité ? Tout nous enseigne en effet que le concours du volume, de la diversité, dans un empilement Kafkaïen, et une combinatoire infernale, ne va pas s'arrêter.

Cette évolution connaîtra-t-elle des limites ? Où aboutira l'explosion actuelle ? En la prolongeant, la complexité du SI ne va-t-elle pas, selon la formulation consacrée en mathématiques "tendre vers +∞" ?

Nous avons recherché, dans des articles précédents, à maîtriser cette complexité extensive, et proposé un fil d'Ariane pour se retrouver dans ces labyrinthes déroutants. Cela suffira-t-il ?

Prenons un peu de recul, déposons un instant les armes de la gouvernance, taisons les incantations méthodologiques et autres prescriptions miracles. Et si nous observions de loin le monde vivant de la planète SI, comme si ne pouvions y agir, et devions simplement étudier sa population d'atomes de logiciels, et ses lois d'assemblage des projets ?

Les lois de la planète SI


Cette planète, dans sa complexité, obéit à deux types de lois :
  • au niveau global, macroscopique, celles d'un "système" qui contribue au fonctionnement du monde vivant, et peut être qualifié par des grandeurs caractéristiques : complexité (ou entropie ?), investissement, coûts récurrents, cycle de transformation, ...
  • au niveau détaillé, celui du "composant", des lois de fabrication, d'entretien, d'obsolescence, mais aussi  celles qui président à leurs assemblages (intégration, partage, dépendance,...), en somme des "fonctions d'intégration".

Cette approche, classique dans les sciences, est justifiée car :
  • Un SI global "infini" est une abstraction, insaisissable, et nous ne savons, avec nos outils actuels, décrire un ensemble que par sa composition : cartographier et tenir à jour une infinité de composants est impossible, recenser les interfaces générées par la combinatoire est hors de portée.
  • Seuls sont réels, descriptibles, spécifiables, des composants infinitésimaux, composants perceptibles, connus au plan local d'un "domaine fonctionnel", dont on ne connaît pas, en termes statistiques, les fonctions d'intégration.

Cette approche a été consacrée dans des disciplines scientifiques :
  • la physique, par exemple avec les lois globales de la thermodynamique et les lois de la mécanique quantique.
  • l'économie, avec les modèles macro-économiques, et l'économétrie micro-économique.

On pourrait ainsi capitaliser sur ces sciences plus anciennes que celles du SI, pour dégager des pistes pour l'avenir.



Quelles lois de composition des atomes du SI ?


Molécule en agitation thermique
Les atomes de composants ont un cycle de vie, et les acteurs du SI, MOA comme MOE y contribuent. Au cours de ces évolutions la question des interactions entre composants est l'objet de choix : partage de composants "réutilisables", respect d'un cadre architectural (SOA,...) de standards en données de référence, ... Ainsi, au cours du temps, les composants constituent des éléments du SI, et, par des compositions plus globales, des systèmes entiers.

Ces compositions ont une base technique, du fait des assemblages possibles, historiques, puis bouleversés par le progrès (intégration "lâche", conteneurs,...). Mais ce sont les acteurs humains, ceux des projets, qui sont à la manoeuvre sur le terrain.

En observant cette "vie sociale" des composants, vue de loin, plusieurs théories explicatives seraient possibles :
  • celle d'une gouvernance rationnelle, dictant ses lois, imposants ses modèles dans une volonté de maîtrise tous azimuts. De fait les traces de cette gouvernance sont troublées par les échecs des projets mégalithiques, et l'utopie des délais de mise en oeuvre. En somme le rêve d'une planète SI à la forme cristalline irréaliste.
  • celle d'une agilité retrouvée dans la vie détaillée de chaque composant, mais qui se heurte à l'absence de vision globale pour l'architecture fonctionnelle, épine dorsale d'une planète SI libérale mais cohérente. En somme le mirage d'une planète SI à la forme gazeuse, invertébrée.
Toujours dans cette vision distante, la clé du système, pour son développement, à la fois libéral dans le détail, et harmonieux dans l'ensemble, est dans la loi de composition des atomes du SI.  Cette loi, observée empiriquement, est méconnue. J'avais proposé une formulation mathématique sur le sujet du ROI des projets d'infrastructure, mais ce n'est qu'une modélisation théorique, on ignore qu'elles sont les vrais leviers, et les paramètres.

Certes cette loi, cette "fonction d'intégration" est probablement variable selon le contexte, les technologies, les comportements des acteurs,... Pour l'instant nous en sommes à des hypothèses.
Entre l'intégration dirigée et l'intégration libérale, aléatoire et opportuniste, existe-t-il d'autres voies ?


Passer du cercle vicieux au cercle vertueux



Remarquons d'abord que dans une société de SI à l'état "naturel", se mettent en place des cercles vicieux qui tendent à la complexifier, rigidifier, fragiliser : le fameux plat de spaghettis des interfaces et échanges, l'empilement des applications, l'imbrication, la propagation de la non qualité, de l'absence de sécurité, les "effets domino" et autres dépendances apparaissant a posteriori.

Ces phénomènes peuvent justifier une réponse autoritaire, comme les "methodos" le prônent.

Cependant quel est le carburant de ces cercles vicieux ? Quelles sont les incitations et les vrais leviers qui guident les décisions des acteurs "terrain", c'est à dire ceux des projets ?

On a sans aucun doute trois forces objectives :
  • la vision locale : l'acteur terrain voit clairement les avantages, ou les dysfonctionnements, sans percevoir les impacts plus distants, d'autant plus méconnus qu'ils sont loin et combinés avec des actions inconnues et non-coordonnées,
  • la vision de court terme, où des avantages et des coûts rapprochés sont plus sûrs et admis que des enjeux plus lointains,
  • les contraintes de l'existant, où le passage à de nouvelles normes, de nouvelles architectures, de nouveaux tempos d'échange, bref à une autre architecture d'intégration, représente un saut culturel, un effort, une prise de risque personnelle, et un coût de changement.
On a longtemps cru que le seul remède aux cercles vicieux était dans l'approche autoritaire et l'économie d'un SI dirigée.

C'est ignorer certains éléments clés de l'offre technologique actuelle, permettant de mobiliser ces mêmes forces dans des cercles vertueux qui réduisent la complexité et améliorent la souplesse de l'ensemble du SI.

Faciliter plutôt que Diriger


L'opportunité est en effet de pouvoir agir, de façon ciblée, minimaliste, sur les composants structurants, clés du SI. Nous avons déjà exposé le levier stratégique des puits de données comme clé d'évolution du SI. Il en va de même pour les données de référence, gérées sous le vocable du "MDM".

La disponibilité sur le marché de routines d'"intégration de données" permet de créer, autour de ces puits et référentiels, une ceinture de conversion permettant des accès dans toutes les temporalités et latences, et selon tous types de protocoles...

Ces composants, organisés en "services de données", font leur affaire de la complexité des "dialectes" locaux et variabilités opportunistes, avec une double vertu :
  • admettre toutes les modalités d'échange et d'intégration, pour une cohabitation "non intrusive" avec le patrimoine existant, donc sans sur-coûts, et dans des pas de temps courts,
  • préfigurer, pour les projets, des modalités nouvelles, plus alignées sur les possibilités actuelles (ESB, latence faible, Cloud, ...) et les exigences imposées au SI (tout connecté, mobilité, traçabilité, transparence, toutes sources,...).


Ce sont des composants "janusiens", du nom du dieux romain au double visage, l'un tourné vers le passé et l'autre vers l'avenir. Ainsi, chaque fois que la question de l'utilisation ou de la production des données de référence sera posée, au travers de MDM ou de "Puits", la solution "janusienne" s'imposera comme :
  • la moins coûteuse,
  • disponible, praticable,
  • évolutive,
  • garantissant l'avenir.
Le cercle vertueux sera en place.

Certes, un minimum d'anticipation et de budget sont nécessaires pour proposer ces composants. Mais, comparer aux dysfonctionnements cumulés, aux risques induits, aux coûts colossaux générés par la volonté de convergence dirigée, ces investissements sont minimes. Et cette approche incrémentale permet la progressivité au moindre risque.

En somme, changeons le paradigme de la maîtrise de la complexité. Changeons durablement les lois d'intégration des SI. Et que la charge de la preuve change aussi de camp : les composants janussiens s'imposeront car ils peuvent être visibles pratiquement, pour un coût raisonnable, dans le cadre de "POC" (proof of concept") rapides.

Changeons les lois de composition des atomes-composants, pour que le mouvement, l'agitation des projets, soient créateurs d'ordre, et non d'empilements aboutissant à l'embolie globale. Alors le "faciliter" primera sur le "diriger".

Et la complexité des SI sera maîtrisée par l'action de tous, autour d'épures tracées a minima. Et, par processus de sélection darwinienne, ces SI, libérés, et efficaces, supplanteront les SI ankylosés dans leurs directives obsolètes.