Sans Google, on fait comment ?!?  (Et sans se ruiner !)


En tant qu’ancien consultant chez un éditeur de logiciels, j’ai un gout très prononcé pour la mise en œuvre de solutions sur étagère qui allient rapidité de mise en œuvre et apport, à coup sûr, d’expertise fonctionnelle. Dans ces quelques lignes, je vous livrerai mon expérience sur la formation sans utiliser Google. Un défi !

Problématique ou cas en question ?

Le principal challenge pour une société de conseil sur ces sujets est la montée en compétence et en expertise de ses consultants. Internet, qui est pourtant une des sources de connaissances majoritaires de notre époque, est souvent limitée, et restreinte à quelques articles et/ou blogs de survol ou d’introduction, on n’y trouve pas de forum « stack overflow ».

Au sein de Mind7 Consulting, je mets en œuvre plusieurs approches afin de m’assurer que notre expertise reste à son meilleur niveau sur la durée, et qu’elle soit transmise aux nouveaux arrivants de manière garantie.

L’accompagnement humain est la clé

Une de mes plus grandes satisfactions dans mon métier de consultant est l’échange que je peux avoir avec mes collègues ou clients concernant des problématiques techniques et des challenges à résoudre. Ce sont des sources de progrès personnel, et d’enrichissement de mon expertise. Aujourd’hui, je reproduis ce schéma chez Mind7, dans les deux sens.

D’un côté, chaque nouvel arrivant a la possibilité de travailler avec un mentor, dont le rôle est de garantir la montée en compétence et donc, d’assurer la démultiplication des possibilités pour Mind7 d’aider ses clients, mais aussi dans le but de déléguer. Ceci donne aux mentors le temps par ailleurs de s’investir sur de nouveaux sujets. Le cycle vertueux de l’expertise est ainsi maintenu.

Cette possibilité n’est pas sans concession et il faut accepter de perdre sur le court terme du temps de production ou de facturation, pour de toute façon le regagner avec des intérêts sur le moyen et le long terme. Voyez ceci comme un investissement très rentable !

De l’autre, je suis très attentif à maintenir une relation étroite avec les experts de nos partenaires éditeurs, dans une relation gagnant – gagnant. J’appelle ceci un partage d’expertise. De manière régulière, nous rencontrons les consultants qui font le succès de l’éditeur chez ses propres clients sur des discussions informelles autour d’une problématique.

Le défi de la capitalisation

Je travaille aussi pour trouver une méthode où capitaliser est naturel, efficace et utile. Faire une documentation à la fin d’un projet ne fonctionne pas. Et en plus, qui a le temps de le faire ?

Les sources logicielles sont souvent « non ouvertes », ce qui est une particularité en plus à prendre en compte et en rapport avec les problématiques open source. L’impact direct sur le travail est un dépôt de code (Git) tout de suite moins « naturel » et la documentation habituelle qui en découle normalement, plus aussi évidente.

Dans ce contexte, il n’y a pas de solution miracle, ainsi, nous avons mis en place des « cas d’utilisation ». Le principe est simple, il s’agit d’identifier une situation et de décrire sa mise en œuvre, par exemple, « auditer la performance de la chaîne d’indexation » ou bien « insérer une image dynamique dans le rapport hebdomadaire ». Ces fiches pratiques permettent normalement d’aborder plusieurs sujets techniques et fonctionnels différents et, donc, rendre la capitalisation plus riche.

La documentation produit en question

Un dernier point important est de ne pas sous-estimer la documentation éditeur. C’est souvent une source d’information très pertinente. Par contre, il est essentiel de connaitre un minimum le sujet avant de se plonger dans cette source d’information qui, de prime abord, peut paraître un peu rebutante.
Trop souvent, j’ai entendu « il n’y a rien dans la doc ! », alors qu’il y a tout, mais que c’est juste un fastidieux de s’y retrouver. Pour éviter de s’arracher les cheveux, mon conseil le plus avisé est celui d’avoir une bonne maîtrise de la barre de recherche par mot clé.

Alexis Bourdeau

 

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. En fonction du contexte, nous indiquons alors celui qui nous semble le plus adapté.

Il y a en effet de nombreux acteurs sur le marché et chacun a sa propre vision et offre. Ainsi le Magic Quadrant de Gartner présente pêle-mêle Sinequa, Coveo, Exalead, HP, IBM… Par contre il ne cite pas ElasticSearch ou Algolia, qui sont pourtant des solutions 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. A travers notre avis sur ces solutions, vous verrez qu’elles ont un fort apport aux utilisateurs métier en entreprise.

Ici, on s’intéressera plus particulièrement à Exalead mis en oeuvre par Mind7 Consulting, partenaire intégrateur de Dassault Systèmes, depuis 2012.

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

Présentation d’Exalead

Remarque : malgré le nom de ses déclinaisons, Exalead n’est pas une solution Saas . Elle n’est disponible qu’en « on premise ».

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

  • CloudView qui présente 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 le voit bien avec ces descriptions succinctes. On est loin du « simple » moteur de recherche. Et c’est là que réside une vraie innovation d’Exalead.
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 (“l’index”).
Ainsi, l’information est restituée 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é (“crawlé” 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. Et pour cause! Cet index a été spécialement conçu pour optimiser la performance à la recherche. En plus de cela, des traitements particuliers sont activables sur la donnée ainsi collectée. On pourra assurer la catégorisation, le filtrage mais aussi des traitements sémantiques (synonymes, glossaire, correction orthographique, suggestions…). Tout cela permet 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 ? Oui… C’en est!

Et,pourquoi c’est plus que cela ?

Mise en oeuvre

La donnée stockée dans l’index a été “traitée”. Parfois elle est nettoyée ou enrichie avant d’être enregistrée. Donc, on pourra en profiter pour mettre de « l’intelligence » dans cette indexation. Par exemple, catégoriser et répertorier des documents en fonction de leur contenu. On encore, les identifier et/ou les lier entre eux en fonction des informations retenues. 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 moins d’exigence de Gouvernance en amont.

Utilisation de la donnée

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.

Cas d’utilisation

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,
  • Compléter la donnée collectée et ajouter de l’information à la volée…

De ce fait, la technologie du Moteur de recherche s’intègre bien dans les problématiques de nombreux clients. Elle permet de 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. Nous pensons même 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 !

Une Solution Tout-en-Un Intégrée

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 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).

et ses avantages

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