Pourquoi on aime la solution Exalead de Dassault Systèmes ?

En tant qu’experts du « Search » (c’est-à-dire des moteurs de recherche), on nous demande souvent de comparer les différents moteurs de recherche. Nous n’hésitons pas à indiquer celui qui nous semble le plus adapté dans telle ou telle situation. Et pour cause ! De nombreux acteurs sont présents sur les marchés et chacun à sa propre vision et offre.
Il n’y a qu’à voir le Magic Quadrant Gartner qui présente notamment Sinequa, Coveo, Exalead de Dassault Systèmes, HP, IBM, mais, ne cite pas ElasticSearch ou Algolia, qui sont pourtant extrêmement utilisées.

Depuis plusieurs années, nous travaillons notamment sur Exalead et sur ElasticSearch. Alors, autant vous partager quelques retours d’expérience et vous expliquer notre avis sur ces solutions et leur fort apport aux utilisateurs métier en entreprise.

Ici, on s’intéressera plus particulièrement à Exalead de Dassault Systèmes que Mind7 Consulting met en œuvre depuis 2012.

En effet, nous sommes Partenaires Intégrateurs et Conseil de cette solution, et, avons eu l’opportunité de la mettre en œuvre dans des contextes business variés (Retail, Assurance, secteur Public, etc…) ainsi que des cas d’utilisations qui le sont encore plus.

Il faut savoir que la solution Exalead de Dassault Systèmes se décline sous plusieurs verticales et marques différentes :

  • CloudView (qui malgré son nom n’est pas une solution Saas mais « on premise » comme toutes les autres) qui offre la technologie « Core » d’Exalead.
  • OneCall : solution prépackagée qui permet de constituer une vue à 360° de chaque client et prospect, travailler le portefeuille client pour proposer les meilleurs produits.
  • PLM Analytics : solution prépackagée qui s’intègre notamment avec les outils PLM de Dassault Systèmes (Catia, Enovia notamment) pour valoriser les données et les projets de conception.
  • OnePart : solution prépackagée qui permet de retrouver les pièces et les équipements notamment grâce à de la recherche par similarité (y compris dans les plans 3D).

On voit bien qu’avec ces descriptions succinctes : on est loin du « simple » moteur de recherche. Et c’est là que réside une vraie innovation.
L’idée est d’utiliser les technologies de type moteur de recherche, pour créer des applications métier qui répondent aux besoins concrets des opérationnels sur le terrain.

Mais un moteur de recherche, c’est quoi ?

Un moteur de recherche est une application qui récupère de l’information des systèmes sources (d’autres applications) et la stocke dans son propre référentiel (on parle d’un index).
Ainsi, l’information circule plus rapidement (parce que vous cherchez sur son index plutôt que sur l’ensemble des sources).

Par exemple, si vous pensez aux recherches web (type Google) lorsque vous cherchez une informations sur internet, la comparaison est évidente.
En amont de votre recherche, le moteur a scanné (crawler dans le jargon) les différents sites pour récupérer l’information des pages existantes.
Puis, il l’a stocké dans son index. Ainsi, lorsque vous cherchez, instantanément une réponse apparaît parce que cet index a été spécialement conçu pour optimiser la performance à la recherche. En plus de cela, des traitements particuliers de catégorisation, de filtrage mais aussi sémantiques (synonymes, glossaire, correction orthographique, suggestions…) vous permettent d’obtenir des réponses pertinentes et triées. Y compris sur d’énormes volumes de données parce que par définition, les technologies ont été conçues pour stocker… toute l’info du Web !
Vous avez dit Big Data ?

Et,pourquoi c’est plus que cela ?

La donnée stockée dans l’index est traitée, parfois nettoyée ou enrichie puis enregistrée. Donc, on pourra mettre de « l’intelligence » dans cette indexation. Par exemple, catégoriser des documents en fonction de leur contenu, les répertorier, les identifier, les lier entre eux, même sur des informations non structurées (du texte libre et des commentaires, plutôt que des chiffres qui seraient plus faciles à interpréter). A ce titre, les moteurs de recherche sont plus souples et plus faciles à mettre en œuvre que des outils de type Business Intelligence. En effet, même si la règle du « Garbage In – Gabage Out » reste valable, les moteurs de recherche savent très facilement traiter de l’information disparate et non encore normalisée. On a donc besoin de moins de Gouvernance en amont.

De plus, une fois que l’information est stockée dans l’index, on peut l’exploiter et la visualiser de toutes les façons imaginables :
– listes de résultats (pensez encore à une recherche à la Google sur internet)
– tableaux de bord (Analytics, graphiques, indicateurs), …
Enfin, ces données seront utilisées pour les intégrer dans les processus opérationnels « métier ». C’est-à-dire activer des modules, outils ou développements complémentaires.
Les exemples d’utilisation sont divers comme :
– Recommander une action en fonction du contexte de tel ou tel client (concept de « next best action »),
– Plugger des algorithmes de type Machine Learning pour analyser les données centralisées, et, ainsi déclencher des tâches et des actes de gestion,
– Enrichir la donnée collectée…

De ce fait, la technologie du Moteur de recherche s’intègre bien dans les problématiques de nombreux clients souhaitant collecter et valoriser la donnée disponible (en interne ou en externe), en grande quantité. Avec des besoins de rafraîchissement quasi temps réel, ils mettent à disposition de leurs opérationnels des outils qui leur simplifient le quotidien.
C’est pour cela que chez Mind7 Consulting, on s’intéresse à ces concepts depuis longtemps, et, pensons que ces solutions ont encore de beaux jours devant elles ! D’autant qu’elles sont extrêmement rapides à mettre en œuvre (2 à 3 mois en moyenne seulement).

 

…Et, c’est là qu’une solution comme Exalead apporte un plus !

Pour en revenir à notre expérience en tant qu’intégrateur d’Exalead de Dassault Systèmes, l’avantage de cette solution par rapport, notamment, à une solution Open Source telle qu’ElasticSearch, est qu’elle est complète et packagée. En effet, chacune des solutions Exalead indiquées plus haut, couvre :
– des connecteurs standards pour gérer, paramétrer l’accès aux données et les traitements d’indexation (sémantique, enrichissement, consolidation, nettoyage…).
– un module (la « mashup ») permettant de créer l’interface utilisateur par drag & drop, à partir des widgets mis à disposition par Exalead.
– des consoles d’administration fonctionnelle et technique donnant les moyens de superviser, gérer, déployer les applications, ainsi que les règles métier (ex dictionnaires de synonymes).

Ainsi, on peut constater qu’Exalead a plusieurs avantages non négligeables :

  • pouvoir construire une application très rapidement (d’autant que plusieurs verticales sont disponibles en fonction du cas d’utilisation),
  • adresser des cas d’utilisation et des contextes très variés,
  • administrer au quotidien avec une équipe minimale !

Quand on met tout cela bout à bout, le ticket d’entrée se révèle bien plus intéressant que certaines autres solutions (y compris open source) nécessitant des équipes beaucoup plus conséquentes.

 

Andrea Zerial

Retour sur la participation de Mind7 Consulting et Myrtea Metrics au salon Big Data Paris

Pour le deuxième année consécutive, Mind7 Consulting a participé au salon Big Data Paris. Ce fut l’occasion pour ses consultants experts de réaliser de nombreuses démonstrations, sur des sujets tels que le fast data, l’amélioration des processus, la vue 360° ou encore l’IOT en passant par la solution de Myrtea Metrics. Tous les acteurs de mind7 Consulting ont été ravis de cette expérience, qui donne l’opportunité de faire des belles rencontres avec les acteurs du domaine et du secteur.

Ce fut aussi le cas de Myrtea Metrics, petite sœur de Mind7 Consulting – intégrateur de la solution, et startup éditrice de logiciels, qui a créé sa propre solution de management augmenté, développée pour aider les managers à prendre les bonnes décisions, le tout alliant intelligence artificielle et temps réel. Situé au village startup, la participation de Myrtea Metrics a été une réelle aubaine. A cette occasion, la jeune startup a eu l’opportunité de présenter sa solution et de réaliser une démonstration lors d’un atelier workshop de trente minutes.

Dans sa lancée, la startup avait déposé sa candidature pour les trophées de l’innovation du salon, événement interne au Big Data Paris qui assurait aux gagnants une belle visibilité, un espace dédié au village startup pour la prochaine édition du salon et un emplacement auprès des centres d’innovation de CGI. Myrtea Metrics, candidat et finaliste dans la catégorie startup a bravé l’épreuve de la battle qui s’est tenue le 12 mars dans l’amphithéâtre principal et a su convaincre son auditoire sur l’innovation de sa solution car c’est avec plus de 70% des votes de l’assemblée en sa faveur que la startup a remporté le trophée ! Sur un petit nuage, la startup n’a pas fini de vous étonner grâce à son manager augmenté qui sera naturellement intégré par les experts de Mind7 Consulting…

 

Aude Lepot

Prendre le train en marche…

Avez-vous déjà essayé de prendre un train en marche ? Non, bien évidemment ! C’est dangereux et en plus vous aurez très peu de chance d’y arriver…
Plus sérieusement, je pense que tout le monde s’accordera à dire qu’il est bien plus facile de monter à bord et trouver sa place lorsque le train est arrêté à quai et que vous avez acheté un billet avec votre voiture et place indiquées.

Dans le contexte de l’on-boarding (embarquement) d’un consultant sur une mission, hélas, on ne peut pas arrêter le projet afin d’embarquer le consultant, mais, on peut l’aiguiller au mieux pour l’intégrer dans de bonnes conditions.

En tant que consultant, j’entends souvent parler des mêmes défis et barrières lors du démarrage d’une nouvelle mission. Il faut faire ses preuves rapidement sur son périmètre tout en s’adaptant au contexte client (tant au niveau de la méthodologie qu’au niveau de la culture d’entreprise).
Ces défis sont d’autant plus difficiles à relever dans le cas d’un consultant envoyé seul en clientèle (pas d’équipe en place, pas de contact « connu ») pour assurer une mission sur un projet déjà lancé.

Aujourd’hui, je voudrais m’attarder sur ce cas, celui que j’ai vécu, que je vis et que je serai sûrement amené à revivre dans le futur, et auquel vous avez surement aussi été confronté.

Tout d’abord, il faut savoir que certaines contraintes ne peuvent être évitées car elles sont inhérentes au projet et au client. Parmi elles : l’organisation du projet (découpage des activités et responsabilités) ou encore la méthodologie adoptée (contexte agile, cycle en V ou encore méthodologie ad-hoc).

Dans un monde parfait, nous souhaiterions tous adopter des méthodologies projet 2.0 et avoir des organisations de travail agiles et communicantes les unes avec les autres.

La réalité est très différente, un on-boarding serait facilité si les situations suivantes, que je considère comme des facteurs d’échec pour le consultant, étaient évitées :

–  Isolement du consultant lors de son arrivée.

–  Absence de définition des attentes du client vis-à-vis du consultant.

–  Absence d’encadrement et de présentation de l’organisation (futurs interlocuteurs, etc.).

En regard des points évoqués ci-dessus, les facteurs clés de succès pour un on-boarding réussi seraient :

–  Une phase de montée en compétences sur le sujet dès l’arrivée du consultant, car il ne faut pas considérer qu’il est opérationnel et productif immédiatement.

–  Une intégration au sein d’une équipe projet avec la définition d’un mentor sur lequel le consultant pourra s’appuyer tout au long de sa montée en compétences.

–  Une définition claire des attentes client et du périmètre que couvre le poste du consultant.

PS : Si cet article vous fait l’effet d’un poncif, rappelez-vous toujours que ce n’est pas parce que c’est évident pour vous que ça l’est pour tout le monde. Personnellement, j’utilise souvent la célèbre phrase de Talleyrand pour illustrer ce genre de propos : « Si cela va sans le dire, cela ira encore mieux en le disant. »

 

Yohan L.

Quels sont les avantages métier et business à adopter une architecture réactive ?

image représentant les lumières d'un dôme

« Le meilleur moment pour planter un arbre était il y a 20 ans.
Le deuxième meilleur moment est maintenant !»

Les architectures réactives ont été introduites sur le marché depuis bientôt une décennie et ont révolutionné les systèmes d’information en apportant une grande agilité et une meilleure adaptation au changement. Chaque jour, de nombreuses entreprises franchissent le pas, souvent convaincues par les résultats de leur pairs, ou à la suite d’un événement malheureux rencontré sur un SI traditionnel.
Avant de se lancer, Il est légitime de se demander ce que l’architecture réactive apporte pour le métier, car celle-ci représente un investissement pour les managers, directeurs et responsables de SI. Tout d’abord, qu’est ce qu’une architecture réactive ?

Qu’est ce qu’une architecture réactive ?
Une architecture réactive est une architecture qui répond à 4 principes :

  • Être orienté message : les différents composants des architectures doivent communiquer via l’envoi de message de manière asynchrone. En d’autres termes, il faut éviter au maximum de bloquer les composants pour attendre des réponses à des requêtes. Cela garantit un couplage faible des composants et facilite la mise en oeuvre des trois autres principes.
  • Être résilient face aux erreurs : les erreurs sont inévitables. Une coupure réseau, une anomalie non détectée en phase de recette, ou une dépendance externe indisponible sont des exemples parmi tant d’autres. Le système doit être résilient face à des erreurs, c’est à dire qu’il doit pouvoir se remettre automatiquement dans un état de fonctionnement normal quel que soit l’échec rencontré.
  • Être souple et élastique : face à la montée ou à la baisse de charge, le système d’information doit pouvoir s’adapter de manière à ce que le SLA ne soit jamais affecté. Cela est réalisé au travers d’un ajustement des ressources alloués à chacun des services du système.
  • Être disponible : quelle que soit la charge de travail, l’erreur rencontrée ou le contexte d’exécution, le système doit répondre dans un temps décent et assurer une qualité de service vis à vis des sollicitations de l’utilisateur.
4 principes pour les architectures réactives : responsivité, résilience, elasticité et asynchronicité des communications
Les quatres principes des architectures réactives

Un manifeste, signé par près de 25000 personnes au moment de l’écriture de cet article, encadre la définition exacte d’un système réactif et est disponible ici : https://www.reactivemanifesto.org/fr

Quels avantages y a-t-il à implémenter des systèmes réactifs ?
S’agissant de prendre la décision pour une équipe, un pôle ou une branche de l’entreprise, le doute s’installe quant à la valeur ajoutée d’un point de vue business des architectures réactives. Nous vous avons listé ici les principaux avantages à migrer vers un système réactif.

1- Augmenter la réactivité face au besoin de l’utilisateur :
Un client est par définition exigeant. Lorsqu’un besoin se fait entendre, la fenêtre pour y répondre se fait courte. D’autant plus qu’à l’ère de la digitalisation, ce besoin évolue rapidement. Un cycle de développement classique ne permet pas de mettre en production assez rapidement pour répondre en temps et en heure, d’où le besoin d’agilité.

Pour des systèmes d’information classique, le couplage fort entre les différents composants ralentit considérablement les phases de développement. Les tests de non régression sont de plus en plus nombreux, les déploiements de plus en plus lents et l’application en elle-même ralentie.

Dans une architecture réactive, le couplage faible entre les composants rendu possible grâce aux communication asynchrones augmente les possibilités d’agilité dans le développement et les déploiements.

2- Absorber les montées en charges pendant les périodes pleines :
Faire la queue dans une boutique (souvent une franchise) et voir que la personne à la caisse est ralentie dans son travail, “à cause du système”, cela nous est déjà arrivé. Ces ralentissements ont lieu durant les heures de pointe où l’afflux de clients est le plus important. Malheureusement, c’est aussi à ce moment là que beaucoup de clients ressentent de la frustration vis à vis du service qui leur est fourni.

Un système réactif absorbe les montées de charge en adaptant les ressources sous-jacentes aux applicatifs. Cette adaptation est encouragée par l’utilisation du cloud où les ressources peuvent être augmentée simplement dans un système d’information. En combinant une architecture réactive et un hébergement cloud, l’élasticité est considérablement augmentée, fournissant à l’utilisateur finale une expérience optimale.

3- En finir avec les systèmes qui tombent en cascade
Aucune entreprise ne veut apparaître sur les news lorsque son système d’information est en échec. Aussi, aucune entreprise ne peut se prémunir à 100% de l’échec de l’un de ses services informatiques. Alors qu’est-il possible de faire à ce moment-là ? Diminuer le couplage des composant au minimum possible ?

L’un des principes de base de l’architecture réactive est son orientation message, les communications se font de manière asynchrone et les couplages entre les différents composants sont faibles. Dans de telles architectures, le risque d’échecs en cascade est grandement diminué voire totalement supprimé. Pour assurer la résilience d’un service qui échoue, un système réactif met en place une mécanique d’auto-réparation (par la réplication de ses données, les réinitialisations automatiques de systèmes défaillants etc…)

4- Augmenter les résultats et le taux de conversion
“Un client satisfait est un client qui revient”
Pour satisfaire le besoin du client, il faut lui fournir une expérience d’utilisation agréable. Eviter les pages qui ralentissent, les applications qui se ferment sans raison apparente, les résultats incohérents.

Un client doit avoir un service qui répond à son besoin rapidement, oui, mais aussi qui s’adapte à l’évolution de celui-ci. Lorsqu’une banque repère le besoin de ses clients en terme de coaching, il faut qu’elle puisse adapter son système assez rapidement pour gagner la confiance et l’adhésion de son client. D’autant plus que dans un domaine concurrentiel, cette rapidité d’itération doit être accrue pour ne pas perdre de part de marché.

Agilité et architectures réactives vont de pair
les organisations qui définissent des systèmes … sont contraintes de les produire sous des designs qui sont des copies de la structure de communication de leur organisation.”  Melvin Conway

Concevoir un système réactif avec des méthodologies agiles permet de catalyser la transformation du SI. Les avantages que procurent cette combinaison sont nombreux et méritent un article spécifique. Un des avantages les plus remarquables est que la taille d’équipe Agile (pizza team ~ 6 à 12 personnes) est optimale pour gérer quelques microservices réactifs. Pour un système réactif, les dépendances entre équipe sont réduites et favorisent l’autonomies de celles-ci.

Pour aller plus loin :
Un cours réalisé conjointement par Lightbend et IBM (partenaires de Mind7 Consulting)
“Reactive Microservice Architecture” par Jonar Boér, co-auteur du manifeste réactif et CTO de Lightbend

 

Ismail Hrimech,
Tech Lead Big Data

Scrum ou pas Scrum : telle est la question !

Aujourd’hui, Nidhal Daghrir, Coach Scrum expert Agile chez Mind7 Consulting, a souhaité partager son point de vue et sa réflexion sur une question qui revient régulièrement dans la mise en place de projets : dois-je implémenter Scrum dans mon équipe ?

Peut-être pensez-vous qu’en tant que Scrum Master Professionnel, Consultant et surtout « agile fan », je répondrai systématiquement OUI ??! Eh bien, NON !! Vous vous trompez.
Laissez-moi vous expliquer pourquoi avant de me juger !

Je suis conscient que l’implémentation du Scrum dans une équipe est une mission difficile, périlleuse et nécessitant un effort continu, mais ce n’est pas pour ces raisons-là que je me démotive et réponds oui à tous les coups !

Ce que j’essaie de faire avant de répondre à la question, c’est de m’assurer que le produit et le travail demandé à l’équipe soit compatible avec le Framework Scrum. Ainsi, je suis parvenu à formaliser 3 questions simples et non scientifiques auxquelles on peut répondre par oui ou par non et avec lesquelles je peux creuser le besoin du demandeur.

Voici ma recette :

1- votre produit est-il incrémental ?
2- la quantité de travail et sa complexité nécessitent-elles une équipe d’au moins 3 personnes pour tenir les délais ou est-ce un travail qui peut être fait individuellement ?
3- Sommes-nous en capacité de planifier la majorité du travail demandé ?

Si toutes les réponses sont positives, alors je peux recommander Scrum. S’il y a 2 oui sur 3, Scrum peut aider l’équipe significativement à atteindre son objectif. Si c’est moins de 2 affirmations positives alors probablement la mise en place de Scrum sera très couteuse par rapport à son apport ; et pire, elle peut ajouter une complexité et une perte de temps et d’énergie pénalisante pour l’équipe.

Vous l’aurez peut-être remarqué, mais aucune question sur l’organisation en place, le type d’activité, la culture ou encore la transparence et la confiance mutuelle entre les membres de l’équipe n’est présente. La raison est simple, ce sont des paramètres qui m’aideront à estimer l’effort que je devrai fournir pour que l’équipe adopte Scrum avec succès.
Maintenant, si je reprends ma casquette de Consultant, ces 3 questions me permettront de savoir si je peux commencer mon coaching de l’équipe sur Scrum ou si je dois orienter mon client vers d’autres pratiques agiles plus adaptées.

Les questions sur la culture ou l’organisation sont des questions plus complexes, on ne peut pas y répondre simplement par oui ou par non, et, il faut être plus précis et aller plus loin dans la réflexion avec le client.

Nidhal D.