architecture-SI-API-mangement

API Management : Au secours j’en ai mis partout !

API Management : Au secours j’en ai mis partout !

16 avril 2018

– 2 minutes de lecture

Bruno Tardy

Senior Manager Architecture

Les APIs sont omniprésentes. Les métiers en demandent car elles promettent les plus belles perspectives commerciales, des effets boules de neige et de la démultiplication de valeur. Les consultants ne jurent que par cette solution. Pas un schéma d’architecture sans que l’API Gateway ne règne en maitresse, ayant comblé le moindre interstice entre les applications et s‘érigeant en barrière impérieuse entre les deux mondes du Legacy et des frontaux Web, chantre et cœur de l’IT bi-modal.

Obnubilé par les promesses de l’API management, la réflexion sur le bien-fondé de l’utilisation d’un échange synchrone est morte née.

Votre direction a donc investi (cher) et la cellule d’architecture applique une stratégie d’API par défaut.

Mais obnubilé par les promesses bien connues de l’API Management, la réflexion sur le bien-fondé de l’utilisation d’un échange synchrone est passée au second plan. Tout comme la SOA avait imposé ses Web-Services pour des raisons de vitesse de propagation, l’API Management assoit sa domination sur sa supériorité technologique pour l’exposition à l’ensemble des partenaires.

Les échanges synchrones n’offrent aucun mécanisme efficient de reprise des erreurs.

On en oublie une caractéristique et une limite intrinsèque à ce type de flux. Les échanges synchrones ne se justifient en effet que quand une réponse (et donc un aller-retour) est nécessaire, et ils imposent en contrepartie un couplage fort entre l’appelant et l’appelé, l’échange ne pouvant pas aboutir si l’appelé n’est pas disponible au moment précis de l’appel. Les échanges synchrones n’offrent ainsi aucun mécanisme efficient de reprise des erreurs techniques (des retry toutes les 5 secondes ? Pendant 1 heure par exemple ? avec de plus en plus de services qui ne répondent plus… ? Autant sortir les arva® et attendre le Saint Bernard).

On tombe ainsi dans des cas où le rejeu devient très gênant et où la responsabilité de ce rejeu est déporté vers l’appelant alors que son message était correctement émis, correctement formaté et qu’il ne tire aucun bénéfice de l’acquittement HTTP qui lui reviendra. On rencontrera particulièrement ce cas sur des appels visant à créer ou modifier des données. Qui est responsable du rejeu d’une fonction POST ou PUT tombée en erreur ? Pour peu que le partenaire appelant soit une application SaaS, un logiciel propriétaire voire pire un partenaire B2B, on se retrouve dans une impasse.

Les échanges asynchrones et leur pattern publish-subscribe apportent par construction une extrême résilience à ce type d’incident en persistant les messages et en laissant les destinataires maitres de leur rythme de consommation. Ajouter à cela la grande facilité de paramétrage d’une nouvelle cible -là ou une plateforme d’API demandera une nouvelle règle de routage- et l’on retrouve pourquoi les solutions asynchrones sont des impératifs d’un SI bien structuré.

Il serait bien trop limitant de se passer d’un portail d’API et de l’accessibilité externe qu’il offre.

Favoriser l’asynchronisme est un bon principe de conception de flux.

Si l’échange est unidirectionnel, que la donnée peut être stockée chez le consommateur et que la fréquence de modification n’est pas trop importante, oubliez le synchronisme, rendez sa liberté au fournisseur d’information et appuyez-vous sur votre MOM ou EAI !

Pour autant il serait bien trop limitant de se passer d’un Portail d’API et de l’accessibilité externe qu’il offre. La facilité d’exposition offerte par ces solutions est sans pareil sur le marché actuel.

Appliquez-vous donc à construire un système hybride. Pensez l’API Gateway, et le package HTTP, REST et JSON comme un connecteur, une porte d’entrée sur votre SI, et débrayez immédiatement derrière sur une solution de bus de messages (MOM ou EAI) dès que cela est sensé.

En cassant la chaine du synchronisme on récupère la souplesse souhaitée, en maintenant la Gateway en frontal on conserve l’ouverture et la facilité d’utilisation.

architectes-agilité

Comment les architectes peuvent interagir avec l’agilité ?

Comment les architectes peuvent interagir avec l’agilité ?

14 avril 2018

– 5 min de lecture

Olivier Constant

Senior Manager Architecture

Architecture d’entreprise et agilité – chap 4 : comment les architectes d’entreprise peuvent interagir avec l’agilité ?

En tant qu’architecte, quelle posture adopter face à un projet Agile ? Et dans le cadre plus global d’une entreprise Agile, comment est intégrée la notion d’architecture ? Quel rôle est dévolu à la fonction Architecture ?

Les architectes, de leur côté, ont défini la « Continuous Architecture » (conférence OpenGroup en 2016) pour édicter les principes de l’Architecture d’entreprise dans le cadre des projets Agile.

Les principaux frameworks d’agilité à l’échelle intègrent l’architecture d’entreprise : DAD – Disciplined Agile Delivery-, SAFe – Scaled Agile Framework- et LeSS – Large Scaled Scrum.

Que nous manque-t-il alors pour vraiment travailler ensemble ?

Les architectes et l’agilité se connaissent !

D’un côté, les architectes ont travaillé à l’évolution de leurs pratiques et regardent l’agilité avec intérêt depuis plusieurs années déjà : article de 2008article de 2010conférence de l’Agile Tour en 2011, etc… Ils ont inventé la « Continuous Architecture »

La « Continuous Architecture » énonce des principes facilitant l’interaction avec les projets en agilité. Ces principes mettent en avant l’adaptation et l’intelligence qui doivent guider les travaux des architectes pour convenir au rythme et au fonctionnement des projets Agiles.

Voici quelques principes de « Continuous Architecture » qu’il est intéressant de noter : partager les décisions, partager l’information, être collaboratif, etc …

D’un autre côté, les framework d’agilité à l’échelle les plus connus (DAD, LeSS ou SAFe par exemple) ont pris en compte les architectes dans leurs modes opératoires. Des définitions de l’architecture sont proposées. Les livrables et interactions des architectes avec les projets / programmes agiles sont définis.

Quelles questions restent donc à traiter pour que les 2 travaillent en symbiose ?

Une bonne définition de l’architecture d’entreprise dans l’agilité

Les définitions proposées par les frameworks d’agilité à l’échelle reprennent les éléments essentiels de l’Architecture d’Entreprise :

Des exemples concrets mettent en avant les apports de l’architecture dans le cycle de vie d’un produit Agile. DAD a un chapitre « Pourquoi l’Architecture d’Entreprise » qui décrit les apports essentiels de l’architecture d’Entreprise pour les projets comme de pouvoir se concentrer sur la valeur ajoutée et une plus grande cohérence dans les solutions.

L’architecture devient agile – forcément

Les frameworks mettent en avant des principes d’agilité que les architectes se doivent de respecter. Ainsi SAFe recommande aux architectes de bien rester en contact avec les activités journalières de développement et les équipes projets. De ce rapprochement, un gain mutuel de confiance est espéré : les architectes auront plus confiance dans les équipes projet pour suivre les cadres d’architecture, les équipes projet auront plus confiance dans les solutions proposées par les architectes.

Pour être en conformité avec les principes agiles, on remarquera que dans DAD, tous les livrables de l’Architecture sont sujets à des feedbacks (retours d’expérience). Il n’y a pas de décision unilatérale. L’architecture est dans un processus permanent de discussion et d’évolution.

Continous architecture – l’architecture agile

Pour se mettre en accord avec les concepts de l’agilité, l’architecture d’entreprise a énoncé un certain nombre de recommandations. L’une d’elles est justement de donner des principes d’architecture et non des règles !

Une autre de ces recommandations consiste à prendre les décisions le plus tard possible, laissant aux projets la possibilité d’étudier plusieurs solutions avant de trancher quand vraiment il le faut.

Une autre recommandation consiste à dire « il faut partager de l’information et non de la documentation », nous rappelle la discussion du chapitre 2 de cette série d’article. En d’autres termes et pour citer le manifeste Agile : les individus et leurs interactions plutôt que les processus et les outils.

Mais parfois l’Architecture semble quand même trop éloignée des préoccupations des projets…

Less et les architectes powerpoint vs les master programmers

Le framework LeSS, dans son chapitre sur Architecture & design, consacre son introduction à préciser que l’architecture de l’informatique est dans le code : ceux qui font sont ceux qui savent. Les architectes qui ne font plus du code mais font de l’architecture pour les managers ou de l’architecture pour de l’architecture finissent par se couper du monde et ne plus être entendus par les projets. Ils deviennent des « Architectes PowerPoint dans leur tour d’ivoire ».

Même si tous les architectes, qui plus est dans les grandes entreprises, ne peuvent pas rester au contact du code (qui plus en est quand la politique d’entreprise est centrée sur l’intégration de progiciels plutôt que la conception d’applications), il est de leur devoir d’interagir avec les architectes plus opérationnels et de veiller à ce que leurs travaux restent compréhensibles par tous. Et bien sûr applicables !

LeSS rappelle que le principal intérêt d’un modèle est la discussion que l’on a en faisant ce modèle. Le modèle n’est pas la solution et ne doit pas rester figé dans le temps.

Ces images illustrent la différence entre ce qui a été proposé (chemin goudronné) et les usages (chemin tracé par le passage des piétons)

Coaching et agilité ?

La transformation vers l’entreprise agile se fait beaucoup à partir de coaching des équipes et des managers. Ils sont accompagnés dans une réelle évolution de leurs pratiques afin de développer des modes de travail plus collaboratifs et les conditions d’une meilleure coopération.

En général, des coachs agiles interviennent pour faire évoluer ces pratiques et accélérer la transformation. Il faut alors qu’un mode de fonctionnement soit établi et les parties prenantes (comme les architectes) impliquées dans ces transformations.

Les architectes doivent donc être inclus dans ces transformations afin de bien mettre en place les modes de fonctionnement adaptés à chaque entreprise.

Les architectes doivent-ils être certifiés SCRUM Master ou Product Owner ? Doivent-ils être formés aux frameworks d’agilité à l’échelle comme DAD, LeSS ou SAFe ? Doivent-ils être accompagnés de coachs agiles ?

Suivant la transformation en cours, chaque entreprise devra apporter sa réponse. Que cela soit pour les architectes ou d’autres fonctions d’ailleurs !

Pour que l’architecture d’entreprise et l’agilité puissent travailler ensemble, il faut que l’entreprise s’approprie l’un et l’autre et pense bien à les faire travailler ensemble. La communication est un élément clé de cette réussite.

L’architecture d’Entreprise doit être un facteur facilitateur de l’agilité car elle apporte une vision partagée de la stratégie d’évolution du SI et doit donc servir à guider l’ensemble des travaux de l’entreprise sur son SI.

Dans le chapitre suivant, nous parlerons de l’évolution d’un des travaux majeurs des Architectes, le Schéma Directeur du SI.

frontaux-digitaux

Un nouveau frontal digital, cache-misère du legacy IT ?

Un nouveau frontal digital, cache-misère du legacy IT ?

Nouveau frontal digital, cache-misère du legacy IT ?

14 avril 2018

– 3 min de lecture

Damien Blandin

Directeur Architecture, Data & Transformation

La révolution digitale est bien en route ! Les Chief Digital Officer ne se comptent plus et Node.JS est désormais partout. Toutes les entreprises, même celles orientées B2B, renouvellent sans cesse leurs frontaux clients et autres applications mobiles afin de satisfaire des utilisateurs toujours plus exigeants.

Un DSI qui se fierait uniquement à toutes ces interfaces dernier cri (responsive design, flat design, progressive webApp…) aurait de quoi paniquer : « Chez Plouf, nous sommes très en retard, il faut tout refaire au sein du SI pour pouvoir construire ce type d’interface » !

Doit-on réellement s’affoler ?

Même si depuis l’extérieur c’est une magnifique voiture de sport qui apparaît, lorsque l’on soulève le capot, on tombe bien souvent encore sur un moteur de 4L (voire de Traction !).

En effet, la majorité des sociétés ayant déjà mis en place des frontaux modernes n’ont pas eu le temps et/ou l’argent (et parfois la volonté) pour moderniser l’ensemble de leur système d’information.

De la magie alors ? Pas tout à fait !

Les frontaux mis en place ne servent en réalité que d’interface utilisateur et les données affichées sont des copies de celles contenues dans les systèmes de gestion. Au mieux, celles-ci sont copiées dans un Data Lake / Data hub avec une couche d’API qui permet de les exposer, au pire elles sont copiées dans une base propre à chaque frontal sans forcément de réflexion sur la gouvernance de ces données (lignage, source(s), qualité, fraicheur – vérité à un instant t, cycle de vie, …).

Dans bien des cas, la mise en place de ces interfaces utilisateur peut se faire car elles se basent quasi-uniquement sur de la consommation de données. Or lorsque les données sont disponibles, il n’est pas extrêmement complexe de monter des frontaux modernes en utilisant les dernières technologies.

Cependant, un certain nombre de problèmes peut subsister, notamment lorsque ces frontaux sont utilisés pour modifier des données qui doivent être prises en compte dans les systèmes de gestion. C’est en effet ces systèmes qui gèrent la complexité des règles métiers, de la qualité des données et ce sont ces mêmes systèmes que l’on ne sait pas remplacer facilement par des outils modernes.

Quels sont donc les principaux points d’attention à surveiller lorsque l’on souhaite mettre en place ce type de frontal digital orienté utilisateur final ?

Notons tout de même que malgré un découplage bien pensé, on ne pourra pas éviter tous les impacts. Lorsqu’il y a des évolutions structurelles, tous les éléments d’un SI sont susceptibles d’être impactés. Les frontaux modernes développés sur des technologies aujourd’hui matures, restent toutefois relativement facilement évolutifs.

Les frontaux digitaux sont les principaux vecteurs de l’image d’une entreprise vers le monde extérieur. Il est donc primordial de leur accorder de l’importance.

Pour autant, doit-on s’arrêter là ? Probablement pas !

Ces nouveaux usages permettent de développer d’autres pratiques :

On s’occupe uniquement des frontaux digitaux alors ?

Des frontaux dernière génération permettent de faire illusion auprès des utilisateurs et peuvent ainsi servir dans un bon nombre de cas de « cache-misère ». Si ces différents frontaux digitaux que l’on peut mettre en place améliorent le quotidien, il ne faut pas pour autant oublier de continuer la rénovation du reste du SI. Cela reste en effet bien souvent le « Legacy » qui soutient réellement les processus métier et les données de l’entreprise. Il est donc critique et mérite un effort de modernisation adéquate.

cartographie documentation

Optimiser la valeur de votre cartographie et de votre documentation

Optimiser la valeur de votre cartographie et de votre documentation

14 avril 2018

– 7 min de lecture

Andreï Sachelarescu

Optimiser la valeur de votre cartographie et de votre documentation avec nos bonnes pratiques![/chapo]

Dans notre monde complexe, la transformation permanente devient un principe de fonctionnement des entreprises. Celles-ci doivent alors choisir les changements qu’il est nécessaire d’implémenter et avec le plus de valeur ajoutée.

Pour faire les bons choix, la connaissance du fonctionnement de l’entreprise est incontournable. Cette connaissance doit être correctement structurée afin que chacun puisse trouver aisément les informations dont il a besoin.

Cartographie et documentation, définition

Une entreprise ne doit pas compter que sur les connaissances de ses employés. Certains peuvent partir et la connaissance qu’ils ont acquise sera alors perdue. Pour se prémunir contre cette perte, une organisation dispose de 2 outils, la cartographie et la documentation :

• La cartographie est une représentation sous forme de listes (des applications, des processus, etc.), de diagrammes et de matrices.
• La documentation est l’ensemble de la production sous format type Office (PPT, Excel, Word, etc.) pérenne ou non, créée par des collaborateurs.

Ces deux outils doivent apporter de la valeur et être utiles, sinon ils seront sans intérêt et l’effort à fournir pour les construire et les garder à jour en vain.

La cartographie doit structurer la documentation

A partir de retours d’expériences sur la mise en place d’un système de cartographie et de documentation chez différents clients, la conclusion est que la cartographie et la documentation devraient être complémentaires et cohérentes.

La cartographie est de valeur car elle offre une vue globale et synthétique de l’entreprise selon plusieurs points de vue: stratégique, métier, fonctionnel, applicatif, technique, données, etc. Comme pour un plan de bâtiment, cela permet de connaître le rôle et la structure de chaque étage. Aussi utile soit-elle, cette vue globale n’explique pas comment chaque élément de l’entreprise fonctionne.

La documentation vient alors enrichir la cartographie grâce aux informations détaillées apportées sur chaque élément représenté. Les informations de l’entreprise sont collectées, classées, exploitées et diffusées grâce à la documentation. Elle est utile grâce aux réponses apportées aux différents besoins de connaissance pour assurer le fonctionnement opérationnel et pour mener les projets de transformation de l’entreprise.

Un intérêt certain, mais des freins importants

Malgré la nécessité de la cartographie et de la documentation, dans plus d’un cas, elles sont incohérentes, incomplètes ou caduques. La cause majeure des problèmes rencontrés est l’absence de principes structurants. Ceux-ci doivent apporter la cohérence entre ces deux parties, veiller à un apport réel de valeur et garantir que seulement ce qui est utile à l’entreprise est documenté et/ ou cartographié. En effet, un esprit frugal visant l’adéquation entre les besoins de l’entreprise et la cartographie et la documentation permet de se prémunir contre des efforts avec peu de valeur ou de pertinence.

Les principes régissant la cartographie sont :
• Identifier la catégorie des informations (métier, fonctionnelle, applicative, etc.)
• Organiser les informations par catégorie (métier, fonctionnel, applicatif, etc.),
• Prendre, si possible, la stratégie comme point de départ de l’organisation de la cartographie
• Puis structurer la cartographie par couches qui se déduisent l’une de la précédente.

Le schéma ci-dessous illustre la relation entre ces différentes couches qui composent l’entreprise :

Les principes régissant la documentation sont :

Procédez par petits pas.

Le système de cartographie et de documentation peut être construit et géré comme un bâtiment :

Les fondations sont les principes mentionnés et qui peuvent être adaptés et enrichis en fonction du contexte de chaque entreprise.

De la même manière que la construction d’un bâtiment doit être maîtrisée et la rénovation également, la construction de la cartographie et sa mise à jour doivent l’être également. Un guide de modélisation définit les règles de cartographie. Un référentiel d’architecture d’entreprise implémente ces règles et assure la maîtrise de la construction de la cartographie. Les différents niveaux sont liés entre eux et une cohérence globale existe entre les informations. Ainsi, la valeur apportée par la cartographie est mise à disposition du plus grand nombre de manière structurée et adaptable aux besoins diverses dans l’entreprise.

Si possible, le point de départ pour la construction de la cartographie devrait être la stratégie. A partir de celle-ci le métier de l’entreprise est décrit. La réalisation du métier engendre des besoins pour l’entreprise qui sont catégorisés dans une vue d’ensemble fonctionnelle. Comme le système informatique et technique de l’entreprise existe pour répondre aux besoins de l’entreprise, la vue d’ensemble fonctionnelle le structurera.

Chaque étage de la cartographie de haut niveau est ensuite décrit en détail et enrichi des échanges d’informations. L’identification des liens entre les différents étages de la cartographie vient compléter cette démarche et est implémentée dans le référentiel d’architecture d’entreprise.

Une fois la cartographie structurée et le référentiel d’architecture d’entreprise mis en place, la base d’organisation de la documentation pérenne est assurée. Les principes de structuration de celle-ci peuvent alors être mis en pratique. La documentation deviendra bien plus utile, grâce à une organisation qui a du sens et qui évite la recherche inutile des informations.

Pour les projets de transformation, le référentiel d’architecture d’entreprise doit servir de point d’entrée dans la phase de cadrage afin d’offrir une vision partagée et globale du fonctionnement de l’entreprise. Les documents liés à la vie du projet peuvent être gérés grâce au référentiel ou séparément. A la fin du projet les différentes transformations apportées par celui-ci seront reportées dans la cartographie et la documentation pérenne produite ou mise à jour y sera associée. Cette inclusion de la cartographie et de la documentation dans les processus projet fera que celles-ci ne seront réalisées qu’au niveau strictement nécessaire. Cela libère du temps pour réaliser le projet au lieu de passer son temps à le documenter.

Différentes méthodes d’optimisation, souvent complémentaires

Mettre en place un système de cartographie et de documentation est important. Par contre, sans l’optimiser et le garder à jour, il perd vite de son intérêt. La pérennité de ce système peut être assurée par des solutions complémentaires comme l’agilité, le Lean ou le principe 5S.

Le principe 5S facilite l’ordre mais aussi la rigueur afin de prévenir les écarts.

Il préconise de structurer un système par catégories d’éléments, d’identifier les anomalies et de viser toujours la rigueur. Ainsi, 5S permet à partir des principes sur la cartographie et sur la documentation de constituer des systèmes ordonnés et cohérents. Cet ordre met en lumière ce qui est en double et réduit le temps de recherche de l’information. Par contre, 5S ne répond pas au besoin de cartographier et de documenter seulement ce qui est demandé.

Le Lean vient alors comme solution au problème de cartographier et de documenter le juste nécessaire. En effet, son principe de base est d’ajuster la production à la demande. Le Lean propose de regarder ce qui est demandé le plus, par qui, et pour quelle raison et s’organiser en conséquence. L’audit des chaînes de production documentaire et de cartographie fait ressortir ces éléments. Ainsi, le système de cartographie et de documentation déjà ordonné par le 5S, se voit allégé au juste nécessaire avec des temps de production optimisés.

L’agilité apporte une perspective orientée valeur des documents et de la cartographie. Seules les cartographies et les documents apportant le plus de valeur perdurent et sont traités en priorité. Au lieu de tout garder à jour comme parfois demandé, l’effort documentaire est concentré sur ce qui apporte le plus de valeur.

Ensemble, ces trois méthodes produisent un système ordonné par le 5S, rendu pertinent et accéléré grâce au Lean, et optimisé en termes de valeur grâce à l’agilité.

Pour conclure, la cartographie et la documentation doivent former un tout cohérent. Elles sont régies par des principes différents qui visent à la fois l’apport de valeur et limitent l’effort à ce qui est utile. Ce système se construit petit à petit comme un bâtiment. La maîtrise des impacts de la transformation de l’entreprise sur la documentation et sur la cartographie est réalisée grâce à un bon référentiel d’architecture d’entreprise et une démarche optimisée mêlant l’agilité, le Lean et le 5S.

Ensemble, la cartographie et la documentation cohérentes facilitent la réduction du time-to-market et l’élimination des redondances par une information structurée et rapide d’accès.

architecture-dentreprise-et-agilite-chapitre-3-un-si-entre-architecture-et-agilite

Architecture et Agilité : Chapitre 3 : Un SI entre Architecture et Agilité ?

Architecture et Agilité : Chapitre 3 : Un SI entre Architecture et Agilité ?

12 avril 2018

– 5 minutes de lecture

Olivier Constant

Senior Manager Architecture

L’expression « SI Agile » revient régulièrement dans les articles récents. Si son sens premier se comprend bien, quel est le rapport entre SI Agile et Entreprise Agile ?

Nous avons vu dans notre chapitre 1 que le terme « Agilité » était employé pour des moyens, des organisations, des méthodes et des techniques utilisés à différents niveaux dans l’entreprise. Mais rien sur le Système d’Information… Pour le SI, le terme de « flexible » semble plus approprié.

Définition du si « agile » ou « flexible » ?

La définition communément admise est un SI dont la capacité de « time-to-market » a été fortement accélérée.

On rajoutera à cette définition, 2 capacités supplémentaires :

  1. Pouvoir réagir à l’inattendu : arrivée d’un nouveau concurrent (Exemple : Free Mobile pour la téléphonie)
  2. Pouvoir s’adapter facilement aux évolutions métiers (réglementaire, uberisation, digitalisation) et exploiter les nouvelles technologiques (Cloud computing, Big Data).

Cette définition est calée sur les résultats attendus des projets agiles : accélération du Time-to-Market, réagir à l’inattendu et s’adapter aux évolutions en cours. Il est donc tentant d’utiliser le même adjectif « Agile » pour désigner les 2.

Pourquoi distinguer agilité de l’entreprise et flexibilité du si ?

Les projets / organisations / entreprises agiles ont besoin d’un SI qui leur permette de délivrer toute leur valeur ajoutée et notamment l’accélération du « time-to-market ».

A l’inverse, les travaux / investissements réalisés pour rendre un SI plus urbanisé et interopérable peuvent pousser l’entreprise à aller vers des projets agiles afin de profiter de tous les avantages de son SI et de rentabiliser ses investissements.

La mise en agilité de l’entreprise pousse à aller vers un SI flexible. Et réciproquement.

L’agilité de l’entreprise et la flexibilité du SI sont corrélés mais pas identiques. Pour étudier la dynamique entre les 2, il est préférable à mon sens de les distinguer : agilité pour l’entreprise et flexibilité pour le SI.

Comment construire un si flexible ?

Le SI s’est construit par accumulation de couches au fur et à mesure de son histoire. Malheureusement le SI résultat n’est pas naturellement flexible au sens où on le souhaite aujourd’hui. Le rendre flexible nécessite des projets et donc des coûts. Alors comment le construire ? Tout le SI doit-il être flexible ? Est-il possible de n’avoir qu’une partie du SI flexible ? Voilà des questions auquel un Architecte d’Entreprise doit être capable d’apporter son concours pour y répondre.

Retour d’Expérience : la tentative du Bi modal

La notion de SI bi-modal a été introduite il y a quelques années par le Gartner. Elle permettait de différencier 2 pans du SI et donc 2 vitesses de transformation différentes. Un SI flexible qui pouvait évoluer très vite pour des problèmes de concurrence, de stratégie commerciale et d’évolutions des clients et des technologies. Et à l’opposé, un SI non flexible, qui pourrait évoluer à une vitesse moindre car il ne serait pas soumis à ces pressions de « time-to-market ». Le problème de cette analyse était qu’elle opposait le front office (la partie distribution / commerce) avec la partie back office (mainframe souvent), en oubliant que les évolutions du premier avaient des impacts sur le second et donc que leur évolution devait être conjointe.

Une réflexion souvent entendue : « je peux bien faire des évolutions sur mon Front client tous les 15j mais quand je demande une évolution sur le mainframe (ouverture d’un flux) il faut 3 à 6 mois de délai »…. Cette notion de SI Bi-Modal a depuis été revue par ses concepteurs

Le SI des sociétés est composé de plusieurs parties qui peuvent évoluer à différentes vitesses grâce aux travaux menés par les architectes et les urbanistes. Ils ont préconisé la mise en place des systèmes d’échanges, des référentiels etc. Le couplage faible et l’interopérabilité entre les différentes parties du SI prennent maintenant tout leur sens.

Dès 2003, le CIGREF faisait le lien entre flexibilité (agilité dans leur vocable) du SI et urbanisation (l’ancien nom de l’Architecture d’Entreprise) http://www.cigref.fr/accroitre-lagilite-du-systeme-dinformation

Le SI est multiple et composite. Ses contraintes et interactions autant internes qu’externes, sont nombreuses et variées. C’est dans l’étude de ses différentes dimensions que nous allons pouvoir dégager des idées pour le rendre plus flexible.

Rendre à la fois toute l’entreprise agile et tout le si flexible?

Certaines entreprises ont lancé de grands programmes de transformation afin de rendre l’ensemble de l’entreprise agile et de rendre le SI flexible (Axa par exemple). Cette révolution est liée au besoin de transformation digitale, à la concurrence des start-ups (Uber, AirBnB) et des GAFA.

Quand cette transformation est impulsée par la Direction (métier pas uniquement la DSI) sur l’ensemble de l’entreprise, cela engendre un changement de culture global de l’entreprise. La mise en agilité est alors facilitée par les moyens mis en œuvre au niveau des directions, des métiers et de l’IT.

On retrouve néanmoins dans ces plans de transformation les 2 dimensions :

  1. Changement de culture d’entreprise et de méthodes pour aller vers l’agilité de l’entreprise
  2. Fortes évolutions architecturales et investissements pour rendre le SI flexible.

Pour des facilités de communication, les 2 sont alors identifiés sous le terme « Agilité ».

Mais cela n’est pas toujours possible, pour des raisons de budget, de culture d’entreprise, de technologie etc. Avant de lancer un tel programme, il peut être intéressant de ne rendre qu’une partie seulement de l’entreprise agile ou une partie du SI flexible. Cela permettra de tester et de valider la démarche avant de la déployer à l’échelle / sur tout le périmètre.

Un si flexible est un si opérationnel bien architecturé et une usine logicielle en place

Pour que le SI soit flexible, 2 axes sont à prendre en compte :

  1. Le SI opérationnel doit être construit sur des bases solides. Ces bases sont connues : points de référence identifiés pour les données, pas de redondance applicative, couplage faible et interopérabilité entre les applications / services / domaines, Maitrise des flux etc.. Les grands principes de l’urbanisation des SI sont bien présents.
  2. La mise en place « d’usines logicielles » permet l’accélération effective du « Time-to-market », pour développer, tester, recetter et mettre en production (devops – du développement jusqu’à la maintenance) dans les meilleurs délais les applications dans le SI opérationnel.

L’usine logicielle est bien un des moyens qui permet de construire et de mettre en place un SI opérationnel répondant aux critères de la flexibilité.

Traditionnellement les architectes interviennent sur la 1ère composante, le SI Opérationnel. Pour des raisons de cohérence d’ensemble, les architectes pourraient aussi avoir un œil sur la mise en place des usines logicielles.

Quelques outils autour du DevOps … qui ont besoin d’architecture

De l’intérêt de la vue d’ensemble du si et de l’architecture

Pour comprendre le SI opérationnel, il faut en avoir une vue d’ensemble et voir ainsi qu’elles sont les parties qui sont plus « étanches » ou « indépendantes » les unes par rapport aux autres. Celles qui peuvent (éventuellement) évoluer indépendamment d’autres parties.

La cartographie du SI est un point d’entrée essentiel de cette analyse. La cartographie doit prendre en compte plusieurs dimensions du SI : fonctionnelle, technologique, flux et données principalement. Mais peut aussi prendre en compte les processus, la finance, les utilisateurs …

Comme on l’a vu, il faut que cette analyse prenne en compte obligatoirement la dimension métier dans sa transversalité par rapport au SI, car c’était bien le défaut initial du SI bi-modal.

Si flexible sur quel périmètre et pour quels critères ?

Dans la réflexion, il est essentiel de bien réfléchir aux 2 aspects du SI que nous avons déjà identifiés : l’usine logicielle et le SI opérationnel pour garder une vue d’ensemble du SI et de sa construction.

Ci-dessous, nous proposons une base de questions pour identifier un périmètre d’amorce de flexibilité du SI :

Il est important, dans ces phases, de faire intervenir les architectes d’entreprise pour garantir la cohérence globale du SI et donc sa future flexibilité.

Construire un SI flexible est un vrai challenge. Souvent lié en plus à un changement de culture avec l’agilité en point de mire.

Par leur connaissance globale du SI et les projets transverses qu’ils peuvent identifier (référentiel, systèmes d’échanges, interopérabilité etc.), les architectes peuvent aider l’entreprise à rentrer dans ce nouveau monde de l’entreprise agile et de son SI flexible.

Suite de la série : les solutions arrivent

Architecture et Agilité : Chapitre 2 : Détournement de valeur(s) en cours

Architecture et Agilité : Chapitre 2 : Détournement de valeur(s) en cours.

10 avril 2018

– 6 min de lecture

Olivier Constant

Senior Manager Architecture

L’agilité défend 4 valeurs principales. Dans certains cas, on constate des équipes dites agiles mais qui ne sont plus en phase avec les valeurs. Pourquoi ?

En quoi les valeurs de l’agilité et de l’architecture devraient-elles se rejoindre ?

Les 4 valeurs de l’agilité

L’agilité se base sur 4 grandes valeurs qui sont tirées du Manifeste Agile, complétées par 12 principes.

Des valeurs et pas des dogmes

Pour commencer, rappelons que ce sont des valeurs et non des règles. Cela signifie qu’il s’agit d’une vision partagée, chacun ayant la liberté de décider des mécanismes à mettre en place pour y arriver.

Ces valeurs présentent une nouvelle façon de faire, par opposition à l’ancienne.

En effet, quand la valeur prône « la collaboration avec les clients plutôt que la négociation contractuelle », cela ne veut pas dire la mort de tous les contrats. La contractualisation à outrance a eu tendance à éloigner les gens, à les faire se retrancher derrière des clauses comme derrière des barrières infranchissables. La nouvelle façon de faire met en avant la collaboration, le partage d’information, la confiance comme des moyens d’avancer plus efficacement. Les contrats existent toujours mais sont faits différemment, sur d’autres bases.

A l’identique de ces valeurs, pour l’Architecture d’Entreprise, un Framework comme TOGAF pose les bases et bons principes de comment faire de l’Architecture d’Entreprise. Chaque entreprise doit s’approprier ces principes, les décliner dans son contexte et les appliquer suivant sa culture et sa maturité. Il ne s’agit pas d’appliquer l’intégralité du Framework sans une réflexion préalable.

Pour illustrer à quel point les valeurs de l’Agilité peuvent être détournées par les projets ou sont mal comprises par des collaborateurs, j’ai choisi 2 phrases. Elles reviennent régulièrement dans la bouche de collaborateurs et elles nous montrent le chemin restant à parcourir pour la compréhension des bénéfices de l’agilité.

En agile, on ne fait pas de documentation !

Nous allons essayer quelque chose appelée

« Développement Agile »

Ce qui signifie qu’il n’y a plus de plannings et plus de documentation. On commence directement à programmer et à se plaindre

– Je suis content que cela ait un nom.

– C’était votre formation.

La valeur prônée par l’agilité est « des logiciels opérationnels plutôt qu’une documentation exhaustive ». Historiquement, les logiciels disposaient d’une documentation abondante (Spécifications générales, détaillées, etc.) qui n’était pas lue, peu utilisée, pas adéquate et très peu maintenue.

Le but principal d’un projet informatique est bien d’avoir un logiciel opérationnel qui répond aux besoins des utilisateurs. La documentation est un sous-produit du logiciel. Elle doit servir aux utilisateurs, aux personnes qui vont en faire la maintenance, etc. mais elle n’est pas un but en soi.

Beaucoup de projets « classiques » semblaient avoir oublié ce but et donnaient l’impression de livrer plus de documentation que de code à la fin des projets, un comble !

Qu’en est-il pour les projets en Agile ? Etant donné la proximité des participants, il n’est pas nécessaire de formaliser tous les échanges par de la documentation in extenso. Les échanges ayant lieu en direct, et verbalement, ils ont moins besoin d’être complètement décrits. Seul le résultat est conservé, les principales décisions, les règles métier et les choix faits. La documentation est réduite au juste nécessaire et une partie est parfois même stockée dans le code directement. Certains projets agiles en ont-ils profité pour ne pas faire de documentation du tout ? Possible. Les responsables des maintenances ont-ils été surpris de ne pas avoir autant de documentation qu’avant ? Fort probable. Que certains développeurs n’aiment pas faire de la documentation in extenso ? On les comprendrait presque. Mais la documentation ne s’adresse pas qu’aux développeurs. La documentation sur les choix métiers, les données et certaines règles de gestion peut avoir son utilité.

La bonne documentation est bien celle qui va servir par la suite et qui sera maintenue…

L’architecture ne fait que de la documentation ?

A l’inverse, les architectes ont souvent été « accusés » de ne produire que de la documentation. De ne produire que des règles et des normes, pas toujours facilement applicables, que le projet doit ensuite se justifier d’utiliser, ou pas.

Les projets penseraient même que l’architecture les contraint à remplir des dossiers et à passer par des comités qui ralentissent leur bonne marche. Que ces étapes coutent chers et n’apportent rien (ou presque).

Ce n’est bien sûr pas comme ça que nous concevons l’Architecture d’Entreprise. Elle se doit d’être au service et en accompagnement des projets. Leur fournir une aide et non être un frein.

Comme pour les projets, l’architecture doit être documentée utilement et sans excès. Elle apporte la vision d’ensemble du SI dont chaque projet a besoin. Il est essentiel de connaître les règles de construction, pourquoi elles ont été définies et pourquoi certaines dérogations ont été accordées… car la règle est la conséquence d’un besoin et la remise en cause de ce besoin doit remettre en cause la règle.

La bonne architecture est bien celle qui est opérationnelle et donc proche des projets…

Le problème avec l’agilité c’est qu’il n’y a pas de planning

Avant de de faire notre business plan pour l’année prochaine, regardons comment nous avons réalisé celui de l’année passée.

Finalement, nous n’avons rien fait de ce qui était prévu. Comme les autres années

– Pourquoi fait-on l’exercice alors ?

– Cela n’aurait aucun sens de de ne pas avoir de plan

La valeur prônée par l’agilité est « l’adaptation au changement plutôt que le suivi d’un plan ». Avant, le plan était roi et devait être suivi, parfois jusqu’à l’absurde. La planification « à la soviétique » (détaillée sur 5 ans et sans changement possible) en était la parfaite illustration.

Maintenant et dans un monde qui change si vite, les projets doivent s’adapter à l’évolution des besoins et des exigences. Plus question de faire des projets avec des « tunnels » de plusieurs années. Plus question de s’entendre dire, les spécifications sont validées, plus rien ne peut changer avant la prochaine version, l’année prochaine au mieux.

Pour autant et pour des besoins de cohérence et de synchronisation entre les livraisons des produits, il est essentiel d’avoir une certaine visibilité sur les projets. Une vision détaillée à court terme et une vision plus globale à moyen / long terme (les notions de court et moyen terme restent à adapter à chaque situation) sont nécessaires. Des outils agiles existent pour réussir à se projeter sur ces échelles de temps, comme le Burn-Up Chart par exemple. Ils utilisent les données issues des itérations complétées pour alimenter des éléments de pilotage permettant de prendre des décisions.

Car les plannings doivent servir à dégager des trajectoires et des orientations sur le long terme. Ils rendent possible la synchronisation entre les différentes évolutions en cours dans le SI.

Les architectes font des plannings sur 5 ans qui sont irréalisables

Les architectes d’entreprise, garants de la vision d’ensemble du SI, se doivent de dégager une trajectoire globale, long terme, du SI. Ce faisant, ils donnent parfois l’impression de figer les évolutions à plus court terme. Tout semble déjà prévu d’avance et sur 5 ans ! Il semble ne plus y avoir de place pour de nouvelles initiatives ou pour des changements. Les projets ont alors l’impression d’être mis devant le fait accompli et de devoir respecter des échéances qui leur sont imposées sans concertation.

C’est une vision de l’architecte que nous ne partageons pas du tout.

Oui, l’architecture d’entreprise doit bien dégager une vue d’ensemble sur le long terme et essayer de « mettre en musique » les différentes évolutions du SI. Pour autant, il n’est pas question de figer cette trajectoire et de ne pas être en capacité de réagir à court et moyen terme aux événements qui ne manqueront pas de survenir.

La cible du SI ainsi que sa trajectoire sont nécessaires pour consolider les évolutions, donner de la visibilité et apporter de la transversalité. Mais ils doivent être adaptés dès le départ aux contraintes projets et être revus régulièrement en fonction des avancées des projets et de tout ce qui peut avoir un impact (stratégie de l’entreprise, concurrence, avancement / retard des projets, technologies etc.).

La trajectoire du SI constitue un outil d’aide à la décision, d’une part en démontrant que l’évolution du SI répond aux enjeux métiers et d’autre part en mettant en évidence les dépendances entre les différents projets.

Le détournement des valeurs de l’Agilité, nous ramène aux reproches qui sont faits aux architectes : trop ou pas assez de documentation et de normes, trop ou pas assez de planification.

Certains sont trop loin des réalités et d’autres trop proches ?

La convergence de l’architecture et de l’Agile vers un (juste) milieu de documentation et de planification semble donc la solution permettant à chacun d’avoir les outils nécessaires.

Parlons-en et travaillons ensemble seront les maîtres mots des prochains chapitres.

Suite de la série : les solutions arrivent