dimanche 19 juin 2016

Le "Projet Flexible" : la fin des grands projets SI risqués

On sait depuis longtemps que les risques d'échec des projets informatiques sont importants. On sait que ces risques s'accroissent en fonction de la taille du projet.
Voir à ce sujet l'excellent article de Frédéric Charles sur Pulse.
Dessin de FIX expert en projets
Et pourtant on continue de mener des projets complexes.
Certes les entreprises et organisations évitent les grands projets. Elles privilégient des développements agiles, et incrémentaux. Cela suffit-il pour créer, au fil du temps, un patrimoine SI harmonieux ? L'obsolescence existera toujours, et, combinée aux exigences des nouveaux espaces qui attirent le business, des projets d'envergure demeurent incontournables.

Une approche traditionnelle rationnelle mais risquée


Il est temps d'envisager de mener ces projets complexes selon une approche différente. La complexité ne se réduira pas d'elle même, Dans un récent article paru dans la revue Génie Logiciel (N° 117 juin 2016), j'ai proposé une explication de cette complexification "naturelle".

On pourrait penser que les développements agiles, que l'abandon du cycle en cascade, que DevOps, sont le remède pour maîtriser les aléas des projets, et réduire la sinistralité. Certes, mais les erreurs, les surprises, ne se situent pas seulement dans le codage, qui est de l'ordre du détail, mais dans l'Architecture du SI. Elles impactent l'assemblage de grands ensembles de codes et de données, avec des effets imprévus perturbants, parfois catastrophiques.

L'approche traditionnelle définit cette architecture qui fonde les développements à engager. Le projet SI en découle, avec ses contraintes de dépendance et ses phases d'intégration, ses tests.

C'est l'ambition de prévoir la décomposition en sous-ensembles fonctionnels, les fameux "building blocks", optimale, calquée sur un puzzle fonctionnel qui sert de maître à penser.

La gestion de projet répartit, ordonnance les travaux et ressources ... en se basant sur cette conception immuable. Une parfaite ingénierie, fondée sur un jeu d'hypothèses objectives : évolution du Business, contraintes réglementaires, bases technologiques, organisation du travail, processus, engagement client, ...

Comment, avec une telle ambition de tout prévoir et ordonnancer, ne pas se tromper ? Il est naturel qu'il y ait des changements, et les aléas sont inévitables. En somme, s'engager dans un projet, c'est entrer dans un labyrinthe dont on croit avoir le plan. Mais, en chemin, les faits se vengent, bousculent le plan, les impasses se révèlent.

Ces changements sont d'autant plus perturbants que le projet est complexe. La combinatoire entre les multiples imprévues est infinie. Tout au plus pourrait-on mettre en équation les probabilités composées qui expliquent les risques pris dans l'architecture traditionnelle de grand projet.

Le projet flexible : refonder l'approche des projets complexes


Les risques projet majeurs sont imputables aux risques portés par l'architecture et par les intégrations induites. Ils ne sont pas localisés en un seul composant, mais dans la propagation systémique, allant jusqu'aux fatals effets domino.

L'architecture traditionnelle repose sur les intégrations donnant assez peu de degrés de liberté. Certes l'intégration par API est plus souple. Elle ne réduit pas la complexité, qui se cache encore sous cet habit de modernité. Le syndrome du "plat de spaghetti", version API, menace.

L'architecture flexible fait éclater ce modèle, et systématise la flexibilité des intégrations. Elle constitue une épine dorsale fondée sur les invariants des chaînes de valeur, naturellement "anti-sismique". Les combinaisons peuvent être testées dès que le cas se présente, à temps pour prévenir les incidents, et avant toute décision sans retour dans un cycle de développement, fût-il agile, dans une conduite du changement, dans un plan de communication.

Ceci a 3 conséquences :
  • réduire les aléas, car les "joints de dilatation" mis en place encaissent de nombreuses surprises, l'architecture n'en est pas remise en cause, et il n'y a pas de propagation systémique
  • simplifier les dépendances entre travaux de développement de logiciel, ceux-ci pouvant être parallélisés ou différés en fonction des urgences ou opportunités,
  • prolonger la durée de vie des applications actuelles, qui peuvent être connectées aux nouveaux composants, sans intrusion, rapidement et à peu de frais. Réduisant d'autant la taille du projet.
C'est une approche en rupture avec la tradition. Nous l'appellerons l'approche "projet flexible". Profitant de l'architecture flexible, le projet pourra différer des choix, éviter de les figer a priori, de spécifier, s'adaptant ainsi, au fil de l'eau, aux évolutions apparues, ou incidents constatés.

Engageant en amont les POC de démonstration et de validation, le projet flexible crée la plateforme de base, le "Data Hub", avant les travaux lourds de développement, de conduite du changement. Le projet flexible complète ainsi les nouvelles approches, agiles, ou DevOps, qui ne portent pas sur le plan de l'Architecture. Agnostique par rapport aux choix technologiques, le projet s'adaptera à tous les contextes techniques.

Changement de paradigme projet


Belle promesse diront les sceptiques. Oui, mais sous condition ! En effet, tout l'avantage découle du "Data Hub" qui est au cœur de l'architecture flexible.

La conception du Data Hub est l'équivalent de la conception de l'architecture dont il était question ci-dessus. La nuance est que cette architecture devient concrète, préexistante, testée, démontrée, au point qu'elle valide ses bases architecturales, sur toutes les "couches" habituelles, du Business, au métier, aux processus, aux SI.

C'est un changement de paradigme projet :
  • l'intégration devient le premier travail, avant les développements,
  • l'ordonnancement projet est moins piloté par les pré-requis SI, et les dépendances entre composants SI, et prend en compte d'autres rigidités,
  • les choix de solutions alternatives, au niveau SI, sont ouverts.

Un projet global calé sur les facteurs sociaux et humains


Les contraintes dues au SI étant diminuées, le projet est plus fluide, avec la possibilité de produire des résultats plus facilement, plus rapidement, de façon diversifiée et plus fiable. En somme, l'inertie de la composante SI du projet est réduite.

Cependant le projet comprend en général d'autres composantes : processus, métier, façade client, industrie, logistique. Le changement de chaque composante  a ses caractéristiques propres, son inertie, son temps de cycle.

L’allègement de l'inertie SI permet de repenser le projet global, en le calant sur les facteurs sociaux et humains, sur les contraintes industrielles. La flexibilité permet aussi d'éclater le projet global en autant de sous-projets qu'il y a de segments clients, ou de zones géographiques, ou toute autre classification pertinente pour constituer des variantes adaptées au contexte.

La flexibilité de l'Architecture ouvre une perspective enthousiasmante de flexibilité du projet, pour minimiser les risques techniques et sociaux, et maximiser l'acceptation et le retour sur investissement au plus tôt.

Le projet flexible : la fin des projets tunnel, des mega-projets d'intégration, des grands projets voués à l'échec et dont on n'ose parler.

lundi 6 juin 2016

Les trésors des "Puits d'événements"

Le monde est devenu "Data Centric", c'est un fait. La civilisation découvre, par delà l'automatisation qu'elle a connue, l'omni présence des données crées à cette occasion, et surtout des avalanches d'informations disponibles qui retracent les comportements des prospects, des clients, les "chat" sur les réseaux sociaux, les "logs", les moindres frémissements des objets connectés.

De nouvelles promesses apparaissent autour des Big Data, du marketing prédictif et autres machines learning. Un nouveau monde avec de nouveaux modèles d'affaire et une émergence technologique foisonnante.

Pour autant, l'ancien monde, celui du patrimoine d'applications existantes, reste au centre du SI opérationnel dans la majorité des cas. Surtout, il rythme les processus, se colle à la réglementation, à l'organisation qui structure encore la masse des emplois.


Le grand écart


Les entreprises et organisations voudraient tirer le meilleur de ces deux mondes, avec la nouvelle intelligence que procurent les "Data Lab", et en préservant l'acquis du SI existant.

On peut voir entre ces deux mondes une rupture de méthode, d'outils de développement, voire une rupture dans les modèles même de représentation des données, avec l'alternative SQL-NoSQL.

On peut voir aussi d'une part le fameux cycle en cascade qui a présidé aux développements selon l'ancienne école du Génie Logiciel, et d'autre part les démarches agiles, incrémentales.

Il y a bien, sur tous ces aspects, deux mondes de l'IT, avec un écart qui ne cesse de se creuser.

Le cas de l'architecture du SI


Le clivage se retrouve aussi au niveau plus global de l'Architecture du SI.

L'ancienne école avait l'ambition de déployer des niveaux de modélisation depuis le Business, jusqu'aux couches techniques. Cette approche demeure majoritaire dans les grandes structures, car opérationnelle pour le SI existant, et surtout maintenant intégrée à la culture d'Entreprise et aux cursus professionnels. Une représentation simple et efficace s'est imposée pour la "couche fonctionnelle", fortement pratiquée en France, est celle du POS (plan d'occupation des sols, selon l'ancienne terminologie des l'urbanisme du droit des sols français), qui est une référence incontournable comme "Carte d'Etat Major" des grandes manœuvres du SI.

Dans le nouveau monde des Big Data, de l'agile, et de toute la mouvance Open Source, il ne se dégage pas encore de "Big Picture" de référence. On trouve même des débats sur les critères de classement des composants, qui divisent les experts.

Pourtant, réduire l'écart entre les deux mondes passe au premier chef par l'architecture du SI. Permettre la dynamique, la synergie entre ces mondes, est typiquement une question d'Architecture.

Le cas des données


Les données seraient l'or de notre nouvelle civilisation. Elles sont au centre d'enjeux entre les individus, les entreprises, la collectivité. Le cadre réglementaire se durcit, en même temps que les océans de données et autres Data Lake deviennent immenses, incommensurables.

La complexité galope plus vite que toutes les bonnes intentions de gouvernance et de maîtrise... vouloir faire un POS de données, une cartographie exhaustive, vouloir tout sécuriser, contrôler sera-t-il possible ?

Une telle "pensée totale" a-t-elle des chances de succès ? Est-elle praticable face au foisonnement actuel, sans en tuer l'énergie débridée ?

Le chemin innovant des "Puits d'événements"


L'approche par les Puits d'événements est en rupture avec les stratégies méthodologiques habituelles. En effet, comme dit ci-dessus, celles-ci se sont développées par niveau, et dans un classement systématique des zones ou quartiers. Elles privilégiaient la vision statique : les cartes de fonctions, de référentiels de données.

Les Puits d'événements, a contrario, sont centrés sur :

  • le noyau de d'informations partagées, noyau réduit et non extensif, simple à maîtriser,
  • les fondamentaux des événements du monde réel : une vision de la réalité dynamique, qui est, dans sont modèle, d'une surprenante stabilité,
  • une implémentation unique depuis la vision business jusqu'aux couches techniques, ce qui évite les tentatives bureaucratiques d'architectes de tous bords, et fédère les acteurs du SI sur une même plateforme commune des noyaux du SI.


Toutes ces qualités des Puits d'événements, posent ce concept comme réponse centrale, et probablement unique, aux défis de convergence exposés ci-dessus.

Les outils de gestion des données


Le concept de "Puits d'événements" ne fait pas partie des standards du Consulting. On constate facilement dans l'avalanche de messages sur l'Architecture d'Entreprise, structurés par les diverses écoles de pensée d'Architecture certifiantes. De même au sein des sirènes du Big Data, voire des prescriptions de l'Open Data.

Cependant les approches se "modernisent", de nouveaux instruments de management, d'audit des données, avec des représentation graphiques macroscopiques, voient le jour. Ils sont mobilisables pour les fusions-acquisitions (voir par exemple).

Un nouveau champ d'expérience et d'exploration est ouvert.

Les "Puits d'événements" sont de petits repères sur ce chemin innovant, repères praticables, simples, mobilisables rapidement. Point n'est besoin d'outil sophistiqué, car, à ce niveau réduit, ils s'agit d'évidences démontrables par un POC (Proof of Concept) rapide et peu coûteux. Ce sont là les trésors des Puits de Données, pivots de l'Architecture Flexible.