Blog

Databricks – Tirer parti de la puissance du cloud

Dans le dernier rapport Magic Quadrant Gartner 2020 consacré aux plateformes Data Science, Databricks a été nommée leader dans la catégorie des plateformes de Data Science et de Machine Learning.

C’est la troisième année consécutive que Gartner reconnaît Databricks dans ce Magic Quadrant.

Cet article s’intéressera particulièrement aux aspects techniques de Databricks au travers de ses fonctionnalités Cloud (interopérabilité avec Azure et AWS) et de son Notebook. Nous explorerons ces différentes fonctionnalités, et nous présenterons quelques témoignages clients sur les avantages de Databricks Unified Analytics Platform , avant de s’intéresser aux dernières nouveautées annoncées lors du Spark+AI Summit 2020.

 Databricks

Databricks est une société américaine fondée par les créateurs originaux d’Apache Spark. Databricks est issue du projet AMPLab de l’université de Californie à Berkeley, qui a participé à la création d’Apache Spark. Spark permet notamment d’analyser de très grands ensembles de données sur plusieurs serveurs.

Databricks se distingue par sa plateforme appelée “ The Unified Analytics Platform” qui est une plateforme fiable et évolutive pour vos pipelines de données, vos lacs et vos plateformes de données. Elle gère l’ensemble du workflow des données, avec une intervention humaine moindre pour les tâches d’analyse complexes, afin de pouvoir ingérer, traiter, stocker et exposer les données dans toute votre organisation.

Elle se distingue notamment par sa solution “Enterprise Cloud Service” qui fournit une sécurité native, une administration simple à l’échelle de l’organisation et une automatisation à grande échelle pour la plateforme Unified Data Analytics sur plusieurs clouds (AWS, Azure)

Notebook Databricks vs les Notebooks concurrents

 Dans le monde de la Data, les Notebooks sont devenus indispensables. les Notebooks ce sont des formes de site web interactif personnalisable (wiki) dans lequel les utilisateurs écrivent et exécutent du code, visualisent les résultats et partagent leurs travaux. En général, les Data Scientists utilisent les Notebooks pour des POC et des tâches d’exploration de données.

Nous commençons, de plus en plus, à voir d’autres groupes tirer parti de l’outil, notamment des analystes commerciaux et des ingénieurs analytiques. Netflix est un excellent exemple d’entreprise qui exploite les Notebooks dans ses différentes unités fonctionnelles ; à travers son Notebook interne appelé Polynote.

Le nombre des Notebooks a proliféré ces dernières années (voir la figure ci-dessous). Ils sont en open source ou hébergés. Les Notebooks open source incluent Jupyter et Apache Zeppelin. Les offres hébergées incluent Deepnote, Databricks Collaborative Notebooks, Google Colab. Certains Notebooks peuvent même exécuter du code à partir de plusieurs langages comme Polynote.

En raison de sa flexibilité et de son interactivité, Jupyter a explosé en popularité parmi les Data Scientists. Selon NBViewer, il existe aujourd’hui plus de 7 millions de Notebooks Jupyter publics sur GitHub  (source: NBViewer Survey )

Google colab quant à lui commence à gagner en popularité, en se distinguant par un accès à des processeurs graphiques GPU, ce qui permet de développer des applications en Deep Learning en utilisant des bibliothèques Python populaires telles que Keras, TensorFlow, PyTorch et OpenCV.

Cependant la plupart des Notebooks cachent certains problèmes comme :

  • La non modularité : Jupyter encourage à mettre la plupart du code directement dans les cellules afin d’utiliser au mieux les outils interactifs. Il est impossible donc de créer vos propres librairies afin de les partager dans plusieurs Notebooks.
  • Difficulté à tester : Pour les mêmes raisons de modularité décrites ci-dessus, il est difficile de tester les Notebooks à l’aide des moyens de test unitaires traditionnels. Les tests demeurent importants pour garantir la qualité du code.
  • Contrôle de version : Les Notebooks n’assurent pas un bon contrôle de version. Même s’il existe des outils de contrôle de version comme Git, qui permet de différencier et fusionner les Notebooks Jupyter (notebook diffing and merging ) mais ça reste moins efficace.
  • Debugging: Jupyter ne présente pas une façon pour mieux debugger le code, comme il est possible dans des IDE (Pycharm, Spyder…)

(PixieDebugger: the-visual-python-debugger-for-jupyter-notebooks)

Les Notebooks sont parfaits pour l’exploration et le prototypage rapide. Ils ne sont certainement pas conçus pour être réutilisés ou utilisés en production mais cela reste possible en les transformant en code natif.

Databricks Collaborative Notebook vient pour remédier à certains de ces challenges, de plus, il présente différents avantages comme permettre de :

  • Effectuer une exploration rapide des données scientifiques,
  • Créer des modèles du Machine Learning supportant plusieurs langages à savoir : Python, Java, Scala, R,
  • Réaliser de la Data visualisation intégrée,
  • Garantir une gestion automatique des versions, et une opérationnalisation avec des tâches.

Cet aspect collaboratif du Notebook Databricks permet à la fois d’accélérer la productivité et l’innovation.

Parmi ces avantages aussi:

  • Travailler Ensemble : Partager des Notebooks et travailler avec des pairs dans plusieurs langages  (R, Python, SQL et Scala) et bibliothèques de votre choix.
  • Opérationnaliser à l’échelle : Planifier des Notebooks pour exécuter automatiquement l’apprentissage automatique et des pipelines de données à grande échelle.
  • Accès aux données : Accéder rapidement aux ensembles de données disponibles ou se connecter à n’importe quelle source de données, sur site ou dans le cloud.
  • Contrôle de version automatique : Le suivi des modifications et le contrôle des versions effectué automatiquement.
  • Visualisations interactives : Visualiser des informations grâce à un large éventail de visualisations pointer-cliquer. Ou utilisez de puissantes options scriptables telles que matplotlib, ggplot et D3.
  • Intégrations : Se connecter à Tableau, Looker, PowerBI, RStudio, SnowFlake, etc. permettant aux Data Scientists et aux ingénieurs d’utiliser des outils familiers.

Databricks cloud (azure vs aws)

Certains clients sont familiers avec l’écosystème Hadoop sur on-premise. De ce fait ils savent sans doute que l’un des plus gros problèmes de cette plate-forme est le coût consacré au support et à la maintenance de l’infrastructure qui prend en charge la plate-forme. Ces défis incluent :

  • La configuration des serveurs et réseau,
  • Le stockage,
  • L’installation de logiciels,
  • La configuration des meilleures pratiques pour les technologies déployées.

Databricks Unified Data Analytics, vient pour alléger ces complexités impliquées dans l’exécution et la maintenance d’infrastructure et permet aux développeurs de se concentrer sur la création de valeur métier.

Pour bénéficier au mieux de la puissance Cloud, Databricks propose une interopérabilité avec les services des deux principaux cloud public actuels : Amazon Web Services et Microsoft Azure (AWS et AZURE)

Un comparatif des services AWS et Azure est présenté sur l’infographie suivante :

Quelques témoignages client sur les avantages de Databricks Unified Analytics Platform

Dernières nouveautés & Conclusion

Lors de son dernier “AI Spark summit 2020”: évènement incontournable dans le monde du Big Data et de l’IA, Databricks a présenté les nouveautés de sa plateforme sous différents aspects à savoir:  Delta Lake et Koalas pour la Data Processing, MLFlow pour le Machine Learning, et Kubernetes pour le DevOps.

Une grande importance a été donné à son produit phare “Delta Lake” qui permet aux ingénieurs de se concentrer sur la préparation et l’extraction de la valeur des données.

Delta Lake utilise Spark comme moteur pour le processing et permet de rassembler le batch et le streaming.

La dernière version Delta Lake 0.7.0, contient désormais plus de fonctionnalités (delta lake 0.7.0 Features) comme le support d’Azure Data Lake Storage Gen2.

Databricks a pour objectif de créer une plateforme unifiée pour tous les ingénieurs Data (Data Analysts, Data Engineers, et Data Scientists) qui grâce à des projets comme Delta Lake et MLflow, peuvent travailler en toute harmonie.

Quelles typologies de coachig pro ?

Dans les articles précédents de la série, nous avons expliqué ce qu’était le coaching agile, la définition de la posture attendue de coaching professionnel du coach agile et les compétences clés du coaching professionnel selon la Fédération Internationale du Coaching (ICF)

Ce huitième article énumère les différentes typologies de coaching professionnel praticables et quelques critères permettant de spécialiser sa pratique du métier de coach professionnel.

Comment peut-on classifier le coaching professionnel ?

Il n’existe pas vraiment de classifications du coaching dans la mesure où chaque école et fédération propose sa propre grille de lecture.

Le coaching s’adresse à la fois aux individus, aux équipes, et aux organisations. Cependant, nous pouvons différencier l’exercice du coaching professionnel pour les particuliers, du coaching professionnel pour les entreprises.

Qu’est-ce que le coaching professionnel pour un particulier ?

Le coaching professionnel pour un particulier est l’accompagnement d’une personne dans la définition et la réalisation de ses objectifs personnels ou la résolution de ses problématiques personnelles.

Le coaching individuel de particulier peut porter également sur des problématiques professionnelles, à l’initiative de la personne mais en dehors du cadre de l’entreprise. Le coaching professionnel d’un particulier en dehors du cadre de l’entreprise est également dénommé coaching de vie ou coaching personnel.

Qu’est-ce que le coaching professionnel en entreprise ?

Le coaching professionnel en entreprise est l’accompagnement d’une ou plusieurs personnes, d’un collectif sur demande de l’entreprise pour ses salariés et qui est financé par l’entreprise.

Le coaching professionnel en entreprise, qui peut être individuel dans le cadre de l’accompagnement d’un ou plusieurs collaborateurs de l’entreprise, propose deux types d’accompagnement avec des objectifs différents :

  1. Le coaching d’évolution ou de performance qui s’intéresse au développement du collaborateur dans son cadre professionnel lié à l’exercice de son métier.
  2. Le coaching de réparation qui s’intéresse à la recherche de résolution de situations problématiques du collaborateur lié à l’exercice de son métier.

Le coaching professionnel en entreprise d’un collectif est un accompagnement de groupes de personnes, d’équipes ou à grande échelle avec des objectifs différents ::

  1. Le coaching d’équipe opérationnelle, métier ou transverse.
  2. Le coaching de groupe (également appelé collectif)
  3. Le coaching d’organisation qui consiste à coacher l’équipe dirigeante, les équipes métiers, les équipes opérationnelles et leurs écosystèmes, les leaders de la transformation.

C’est cette partie du coaching professionnel en entreprise qui sera développée par la suite au travers de trois billets sur le coaching professionnel individuel, d’équipe et d’organisation.

Que ce soit du coaching professionnel pour particulier ou en entreprise, le coaching professionnel est aussi caractérisé par le fait que c’est désormais une pratique certifiée, et qu’il s’exerce dans le cadre d’un contrat et d’une déontologie.

Quelles sont les différentes pratiques du métier de coach pro ?

La pratique du métier de coach professionnel est la même quel que soit le domaine d’activité du client et ses objectifs mais le coach peut spécialiser la pratique du métier de coach professionnel.

La pratique du métier de coach professionnel est la même quel que soit le domaine d’activité du client et de ses objectifs personnels ou professionnels, à l’instar d’un consultant qui est lui un expert spécialisé dans son domaine d’activité.

Cependant, il existe quelques différences dans la pratique du métier de coach professionnel, qu’il est intéressant de souligner, dans la mesure où les coachs peuvent se spécialiser dans leur pratique du coaching, selon leurs préférences et affinités.

Ci-dessous, une liste de quelques critères, non exhaustifs, permettant au coach de se positionner ou de rendre spécifique sa pratique du coaching :

La pratique du coaching en fonction de la dimension du coaching

Le premier critère qui permet de différencier la pratique du métier de coach est la dimension individuelle ou collective du coaching :

  • La pratique du coaching individuel de collaborateurs, de managers ou de dirigeants et le coaching de vie (ou personnel)
  • La pratique du coaching d’équipe dont la pratique diffère de celle du coaching individuel, en termes d’objectifs et de stratégies de coaching.
  • La pratique du coaching de groupe, qui est un collectif d’individus non constitué en équipe et dont les objectifs des participants à un groupe ne sont pas collectifs.

Par conséquent, le coaching en groupe est souvent une forme de coaching individuel effectué au sein d’un collectif.

  • La pratique du coaching d’entreprise constituées d’un ensemble d’équipes (ou d’équipes de plusieurs équipes), qui nécessite des stratégies de coaching plus complexes et que plusieurs coachs soient impliqués.

La pratique du coaching en situation ou en différé

Le coaching en situation (ou en live) est une pratique du coaching où le coach est présent lors de l’activité opérationnelle du client, pour l’observer dans les interactions avec son environnement.

Le coaching en différé est une pratique du coaching dans un lieu neutre ou autre que celui de l’entreprise, hors activité opérationnelle du client.

La pratique du coaching en fonction de la durée d’accompagnement

La pratique du coaching dans la durée comprend une dizaine de séances, parfois renouvelables, sur une période de quelques mois à un an.

La pratique du coaching sur un temps court pour obtenir des résultats, en référence à l’approche de coaching par les « thérapies brèves » où la démarche met un accent immédiat sur la recherche et la mise en œuvre de solutions par le client sur une à deux séances.

La pratique du coaching en présentiel ou par téléphone

La pratique du coaching en face à face, qui implique une proximité géographique entre le coach et son client, a l’avantage de donner des informations visuelles utiles, à l‘instar du coaching par téléphone qui peut sembler plus pratique.

Tout casser pour renforcer les infrastructures avec le Chaos Engineer

Pour commencer qu’est-ce que le “Chaos Engineering” ? L’ingénierie du Chaos en Français est un concept inventé en 2010 par Netflix. Jusqu’alors, lorsque les ingénieurs concevaient une infrastructure, ils se demandaient si celle-ci allait finir par tomber en panne. Ainsi, suite à de nombreuses pannes sur leurs infrastructures ayant causé des interruptions de service pour leurs utilisateurs et par la même occasion généré une perte économique considérable, ils ont décidé de revoir leur façon de penser. Plutôt que de se demander si oui ou non les infrastructures tomberaient en panne, ils partirent du principe que celles-ci finiraient forcement par tomber en panne, ce qui souleva les questions suivantes :

Quelle infrastructure va tomber en panne et quelles en seront les conséquences ?

C’est donc de ce changement de philosophie qu’est né le premier outil de Chaos Engineering : le “Chaos Monkey”. Cet outil permet d’insérer différents types de pannes directement dans l’infrastructure en production, de manière aléatoire. Les ingénieurs doivent ainsi prendre en compte ces futures pannes afin de rendre leurs infrastructures les plus résilientes possible.

Les enjeux et les objectifs de notre projet 

Comme dit précédemment, Netflix a été victime de pannes ayant causé une incapacité à accéder à leur plateforme pour les utilisateurs et par la même occasion des pertes financières conséquentes. En réalité, toutes les entreprises ayant une infrastructure informatique peuvent être concernées par ce type de problématiques.

Ainsi, Aubay souhaiterait pouvoir proposer une solution de Chaos Engineering pouvant être, dans un premier temps, déployée sur l’infrastructure interne de l’entreprise. Dans un second temps, l’objectif serait de pouvoir proposer une solution adaptable à tout type de système permettant d’effectuer des tests de Chaos quelques soient les demandes des clients.

Présentation des technologies :

Bien que l’outil “Chaos Monkey” et son descendant “Simian Army” aient été précurseurs dans leur domaine, ils ne sont aujourd’hui plus utilisés et ont été remplacés par de nouvelles technologies. En effet, ces derniers n’étaient utilisables que sur le cloud provider proposé par Amazon (AWS) et avaient été conçus “PAR Netflix POUR Netflix” ce qui les rendaient difficiles à adapter pour d’autres entreprises.

L’outil les ayant remplacés qui semble actuellement être le plus mature et le plus utilisé se nomme Gremlin. Celui-ci étant sous licence nous avons décidé de ne pas nous y attarder pour notre projet.

L’outil ayant retenu notre attention est Chaos Toolkit, un projet open source et plein de potentiel. Cet outil permet d’effectuer des tests de chaos sur tous types de systèmes grâce à ses différentes extensions

Effectuer des tests avec ChaosToolkit :

ChaosToolkit nous permet d’effectuer des tests de très bonne qualité. Tout d’abord il faut choisir le type de système que nous souhaitons tester ainsi que la panne que nous souhaitons y insérer (notre test de chaos). Un certain nombre de pannes sont disponibles pour chaque type de système (il nous suffit donc de choisir la bonne extension pour le bon système). Lorsque nous avons fini de tout paramétrer nous pouvons ensuite lancer notre test.

Et c’est ici que ChaosToolkit devient intéressant ! En effet, l’outil nous permet de définir un état stable à notre système (pour notre projet nous avions défini l’état stable suivant : “l’utilisateur de notre système doit être capable d’y accéder en moins de 6 secondes”).  La première chose que va donc effectuer ChaosToolkit lors de l’exécution de notre test est une vérification de l’état stable.

Si celui-ci n’est pas atteint à ce moment-là, alors le test sera immédiatement interrompu. En effet, cela signifie que notre système n’est pas fonctionnel avant même l’insertion de notre panne.

En revanche, si l’état stable est vérifié alors la panne sera déployée sur notre système. S’en suivra une seconde vérification d’état stable afin d’étudier la réaction de notre système face à cette panne.

Si l’état stable est une nouvelle fois atteint cela signifie que notre système est résistant face à ce type de panne. En revanche si ce n’est pas le cas alors nous venons de trouver un axe d’amélioration pour notre système.

Résultats du projet

À l’issue de 6 mois de travail sur le sujet, nous avons réussi à établir un premier socle nous permettant un accès simple à un outil de Chaos Engineering. En effet, la prise en main de l’outil ChaosToolkit étant particulièrement compliquée, nous avons décidé d’y ajouter des surcouches afin de le rendre accessible à tous. Ainsi il est maintenant possible de lancer un test de Chaos au travers d’une interface web en saisissant uniquement les données nécessaires.

Une API Python, développée par nos soins, s’occupe ensuite de faire la liaison vers ChaosToolkit afin de lui retransmettre les données dans le format attendu. La panne est ensuite déployée directement dans notre système AWS.

Perspective d’avenir

L’ensemble de ce socle présenté est actuellement testé sur une infrastructure ayant été créée et déployée uniquement pour ce projet.

La prochaine étape serait donc de tester le socle sur les différentes infrastructures AWS de l’entreprise.

Par la suite, il nous faudra étoffer les types de systèmes et d’attaques disponibles afin de rendre notre application adaptable à tout type de demandes et ainsi pouvoir la proposer aux clients.

Conclusion 

Ce projet s’inscrit dans la démarche de l’équipe Cloud/DevOps de prévoir et d’anticiper les futures attentes des entreprises dans ces domaines. Bien que ce type de technologies et problématiques semblent être encore trop jeunes pour intéresser le marché Français, il est fort probable que celles-ci fassent surface à dans les années à venir.

 

Pour en savoir plus sur :

Le Chaos Engineering : https://blog.wescale.fr/2019/09/26/le-guide-de-chaos-engineering-part-1/

Chaos Monkey et Simian Army : https://netflixtechblog.com/the-netflix-simian-army-16e57fbab116

Gremlin : https://www.gremlin.com/

ChaosToolkit : https://medium.com/paris-chaos-engineering-community/chaos-engineering-sur-aws-automatiser-ses-pannes-b844557da2a9

 

Mener des recherches UX co-participatives en temps de crise sanitaire

Nos métiers ont dû évoluer, compte-tenu des circonstances actuelles. Et les métiers de l’UX Design n’ont pas fait exception et en sont même précurseurs. Les recherches utilisateur à distance étant devenues la norme, il y a heureusement de quoi bien s’équiper !

Travaillant en binôme sur une mission dont l’objectif est justement d’aider les collaborateurs de notre client (secteur bancaire), nous avons dû nous habituer à communiquer avec nos utilisateurs à distance. Une pratique qui était déjà partiellement en place, notre client étant représenté partout dans le monde. Il nous tenait à cœur de partager avec vous notre expérience récente sur un audit UX que nous avons débuté cet été, regroupant quelques méthodologies et best practices pour l’UX à distance.

Choisir ses méthodologies

Pour avoir une vue globale de l’usage d’un produit, il est intéressant de se fier à différentes méthodologies de recherches, consolidant des exercices qualitatifs (nous donnant le pourquoi et comment des réponses utilisateurs) avec des données quantitatives (nous permettant de vérifier que ces avis sont partagés, ou non, par le plus grand nombre). Il n’y a pas de règle absolue pour le choix des méthodologies, tout dépend des besoins. Dans notre cas, nous avons fait les choix suivants :

  • Un benchmark de la concurrence (directe comme indirect), pour une vision globale des mises en place possibles du produit.
  • Une analyse de statistiques, pour comprendre les flux d’information à travers le site et de complémenter les données d’autres études avec des volumes bien chiffrés.
  • Un questionnaire impliquant l’ensemble des utilisateurs actuels à l’international, pour connaître les usages et l’appréciation du produit, ce qu’ils souhaiteraient ajouter ou changer.
  • Une série de tris des cartes, afin de définir directement en collaboration avec l’utilisateur, une restructuration des contenus/du parcours du produit. Il s’agit tout simplement de présenter une série de post-it sur lequel l’on recense tous les contenus que l’on souhaite organiser. Il est alors demandé à nos utilisateurs de regrouper les différents post-it en groupes cohérents selon leur point de vue et de commenter à voix haute leurs réflexions. Cette méthode s’avère très utile en cas de refonte d’un service, ce qui est justement notre cas. A l’issue de ces ateliers, on obtient des architectures types nouvelles pour notre plateforme web définies directement selon la logique de nos utilisateurs. Ces architectures sont par la suite transformées en prototypes de tests. Le principe de ce type d’atelier a l’avantage d’être simple, peu coûteux à animer et très rapide à expliquer aux participants.
  • Un A/B testing de ces prototypes permet de vérifier lequel fonctionne le mieux et sera à suivre. Ceci peut être fait sur une échelle qualitative ou bien quantitative. Le qualitatif permet d’avoir des feedbacks sur le pourquoi, le quantitatif est facilement faisable avec des outils comme Maze (lisez plus bas) et permet de chiffrer la performance des prototypes à plus grande échelle.

Recruter ses participants

Bien qu’un questionnaire se prête naturellement à la diffusion à distance, beaucoup de recherches qualitatives sont d’abord pensées pour une rencontre physique : rien ne donne plus d’informations que rencontrer les personnes en vrai. Ceci dit, de plus en plus de designers travaillent pour une cible qui s’étend à l’international et pour bien le représenter, les ateliers à distance étaient déjà bien établis avant la crise sanitaire.

Quand il est difficile de rencontrer des personnes au hasard (en « mode guérilla », comme on dit en langage UX), il vaut mieux se fier à ses liens humains à distance. C’est vraiment en passant par des équipes et des personnes que nous avons pu trouver un nombre satisfaisant et représentatif de participants à notre study. Voici quelques astuces :

  • Se mettre en relation avec une équipe qui est déjà bien connectée à sa cible. Dans notre cas nous collaborons avec le service Communication qui sait parfaitement bien cibler ses campagnes et par quels biais atteindre les utilisateurs.
  • Idem pour les antennes dans des zones géographiques éloignées, comme pour nous l’Asie, l’Amérique, Le Royaume-Uni ainsi que la Roumanie.
  • Communiquer via le produit lui-même : dans notre cas, un outil interne.
  • Communiquer via des endroits de passage : le service support technique, les cantines. Même en temps de travail à distance, il est possible de croiser tout type de profil.
  • Demander à chaque participant s’il connaît d’autres personnes qui pourraient être intéressées de participer : s’ils sont concernés par la future fonctionnalité testée ou connaissent des collaborateurs dans ce cas, il y a toujours plus d’engagement.

Choisir les bons outils

Depuis le début de la crise sanitaire, les outils de collaboration se développent encore davantage qu’avant, donc autant profiter de l’offre riche que les UX ont à disposition en ce moment ! Pour chaque exercice, il en existe toute une gamme. En voici une petite sélection :

Pour le brainstorming: Miro, Mural

Ces outils permettent de mettre en place des whiteboards et post-its virtuels, mais bien plus encore ! Utilisés à l’origine par les UX designers comme les scrum masters, ils se sont rapidement répandus pour tout type de métier. Que vous ayez besoin d’animer un design sprint, un simple brainstorm ou rétro planning, vous trouverez des templates pour tout format.

Nous nous en sommes d’ailleurs servis pour nos ateliers de tri de cartes : bien qu’il existe des outils plus spécialisés, ceci nous a évité d’acheter une licence supplémentaire et a tout aussi bien rempli sa tâche. A noter cependant que vous aurez à effectuer la synthèse des résultats manuellement. Certains outils payants vous proposent une représentation graphique automatisée des résultats.

Pour les recherches UX : Optimal Workshop, MyFeelback, Maze

Si vous voulez dépenser moins de temps dans la diffusion et la restitution des données, Optimal Workshop peut vous être très utile. C’est également une bonne aide si vous débutez avec les recherches UX, car l’outil fait un bon guide des différentes options méthodologiques.

La plateforme Maze (en partie gratuite) va encore plus loin si vous cherchez à tester des prototypes de produits digitaux. Vous obtiendrez des graphiques très esthétiques résumant l’ensemble des données récoltées, des points de blocages/d’hésitation, et plus encore, les miss-clicks ainsi que les principales zones sur lesquelles l’utilisateur a placé son curseur. Tout cela à distance !

Avoir un bon échange lors d’un atelier

Si tout est prêt et que les ateliers à distance peuvent commencer, comment assurer un bon contact avec les participants ?

  • Pas de stress, les gens sont déjà plus habitués aux ateliers virtuels depuis ces derniers mois.
  • Faites bien connaissance au début des ateliers pour briser la glace et mettre l’utilisateur à l’aise.
  • Prenez le temps de bien expliquer l’objectif de l’atelier, car le participant ne dispose pas de votre contexte de travail : il n’est pas une souris de laboratoire ! Expliquez ce sur quoi vous travaillez actuellement, et en quoi consiste votre travail d’amélioration de l’expérience utilisateur. Précisez à quoi vont servir les résultats que vous obtiendrez en partie grâce à lui.
  • Sourire ! Cela peut se sentir à l’autre bout de la ligne. Et tout au long de l’atelier, n’hésitez pas à faire des petits commentaires positifs (hm hm, rires, etc), pour rappeler au participant que vous êtes là et que vous l’écoutez.
  • Expliquez à l’utilisateur qu’il n’y a pas de bonne ou de mauvaise réponse durant l’exercice à suivre. Ce qui est important est de recueillir son ressenti/sa logique propre, son avis issu de sa propre expérience professionnelle.
  • Veillez à ne surtout pas influencer votre utilisateur, cela fausserait totalement le résultat de l’atelier. Dans cette optique, il faudra éviter de donner son avis personnel ouvertement, de faire des remarques à l’encontre de ce qu’il vous dit, ou bien d’essayer de devancer ses conclusions.

Présenter vos résultats

Vos recherches sont faites, les résultats sont triés et analysés, il ne reste plus qu’à les présenter à votre équipe, voire vos sponsors. A distance, faites davantage attention aux slides de votre présentation et à votre dynamique à l’oral : utilisez du visuel, du storytelling, veillez à ce que chaque slide soit compréhensible, captive.

Une à deux idées importantes doivent être véhiculées par slide, au maximum. N’hésitez pas à rester très visuel !

Et pour la suite ?

La crise sanitaire a accéléré un processus de digitalisation de nos modes de travail, qui était déjà en cours, et dont l’UX design est précurseur. Après plusieurs mois de confinement, nous avons pu observer que nos collaborateurs plébiscitent et intègrent ces méthodologies au sein de leur organisation agile, non seulement pour travailler avec nous, mais également avec leurs équipes de développement. Les chefs de projets (porteurs des nouvelles fonctionnalités à venir) participent à l’effort de testing régulier de la plateforme auprès des utilisateurs finaux, pour mettre petit à petit en place ce que l’on appelle un Design de Service global.

De manière plus pragmatique, la digitalisation des séances de brainstorming et de tests nous ont apporté de nombreux avantages :

  • Partager nos méthodologies UX de tests et ateliers.
  • Garder une trace sur le travail qui est fait (en réel, les supports papiers finissaient perdus ou effacés).
  • Permettre de corriger plus facilement les schémas de réflexion.
  • Centraliser le recueil d’une quantité d’information infinie. Tous les membres des équipes savent ainsi où présenter leurs données récoltées et ajouter leur pierre à l’édifice.
  • Mieux intégrer les équipes à l’international (ou en bureaux éloignés) en leur partageant les avancements et en leur permettant de participer aux réflexions sans avoir à se déplacer jusque dans nos locaux.

Même si parfois, aucun outil digital ne peut supplanter le contact direct pour bien se comprendre en toute spontanéité.

Aubot : le chatbot Aubay

De nos jours, la facilité d’accès à l’information sur Internet est devenue primordiale, l’objectif étant de rendre l’expérience utilisateur la plus intuitive possible. Dans ce sens, de nombreux sites web proposent un chatbot aux visiteurs. Selon la nature du site, les fonctions des chatbots varient. Nous distinguons d’une part ceux permettant d’assister l’utilisateur (exemple : gestion de réservation de billets de train) et d’autre part ceux dont le but est de renseigner l’utilisateur. Ces derniers permettent de centraliser l’information. C’est dans cette optique que nous avons décidé de créer Aubot, le chatbot qui sera intégré au nouveau site web de Aubay.

Les chatbots

Le rôle d’un chatbot est d’interpréter automatiquement un message puis de formuler une réponse en conséquence. Afin de proposer une réponse pertinente à l’utilisateur, il faut que la question soit correctement analysée. Il existe différentes solutions pour répondre à ce besoin. L’essor de l’intelligence artificielle nous a amené à choisir un processus de traitement de langage naturel (NLP: Natural Language Processing). Cette technologie utilise des réseaux de neurones entraînés pour comprendre le langage humain. Pour plus de détails sur le NLP voir l’article GAO² .

Par exemple, 2 questions ayant le même sens, formulées différemment, donneront la même réponse :

Le réseau NLP comprend que dans les 2 cas qu’il s’agit de trouver un lieu et pourra donc affiner la recherche de la réponse parmi la base de données.

Le projet

Plusieurs outils existent pour créer un chatbot. Les grandes sociétés comme Microsoft, Amazon ou encore Google proposent ces services. Nous avons choisi Dialogflow, la plateforme de développement de Google, pour créer Aubot. Dialogflow nous fournit une interface utilisateur permettant de créer une base de connaissance, ainsi que l’accès aux réseaux de neurones NLP de Google, ceux-ci étant extrêmement robustes.

Nous avons, avec le pôle communication de Aubay, enrichi la base de données du chatbot. À ce jour, Aubot est capable de traiter plus de 150 sujets à propos de Aubay. Il est possible de lui demander par exemple le chiffre d’affaire de la société, le domaine d’activité de Aubay, le nombre de salariés ou encore un contact au sein de l’entreprise. Aubot dispose d’une base de données plus large que celle du site internet.

Dialogflow contient la base de données ainsi que les réseaux NLP, nous utilisons Kommunicate pour l’affichage du bot. Cette autre plateforme fournit une interface paramétrable pour les chatbots sur le site internet. Nous avons connecté Dialogflow avec Kommunicate, voici le fonctionnement :

La fenêtre d’affichage (Kommunicate) du chatbot est intégrée au site Aubay. Lorsque l’utilisateur pose une question, celle-ci est lue par Kommunicate puis envoyée à Dialogflow. Ce dernier, à l’aide du réseau NLP, analyse la question, trouve la réponse correspondante dans la base de données, puis la renvoie à Kommunicate qui l’affiche.

Kommunicate fournit des éléments tels que des boutons et des liens cliquables. Ceux-ci permettent de rendre l’interface utilisateur (le chat) très intuitive.

L’architecture choisie permet une mise à jour régulière de la base de données. Dialogflow facilite l’ajout de nouvelles questions. La plateforme Dialogflow permet d’avoir des statistiques ainsi qu’un historique des questions posées. La fonctionnalité « Training » de l’outil est très utile pour enrichir le bot. Cette fonctionnalité permet d’analyser les questions et d’indiquer les réponses attribuées. Si une mauvaise réponse a été donnée, nous pouvons la modifier et ré-entrainer le modèle avec la bonne réponse. Avec tous ces outils, Aubot s’améliore avec le temps et apprend avec l’expérience. De façon générale plus un chatbot est sollicité plus il apprend.

Conclusion

Après de nombreuses phases de tests, Aubot est maintenant prêt à être intégré sur le nouveau site web d’Aubay. Il sera destiné à renseigner les visiteurs du site et à améliorer leur expérience. L’apprentissage continu va rendre Aubot de plus en plus robuste.

Quelles compétences clés du coach pro ?

Dans les articles précédents de la série, nous avons expliqué ce qu’était le coaching agile et donné une première définition de la posture attendue de coaching professionnel du coach agile.

Ce septième article énumère les compétences clés du coaching professionnel selon la Fédération Internationale du Coaching (ICF)

Les compétences clés de coaching qui suivent sont destinées à faciliter la compréhension des techniques et des approches mises en œuvre par la profession d’après la définition qu’en donne l’ICF.

Elles sont regroupées en quatre pôles de compétences à l’intérieur desquels sont décrits les comportements attendus du coach.

Les compétences pour établir les fondations du coaching

Savoir établir le contrat de coaching pour comprendre ce qui est exigé et se mettre d’accord avec le client sur le processus et la relation de coaching.

  1. Comprendre et discuter efficacement avec le client des directives et des paramètres propres à la relation de coaching (logistique, honoraires, planning, etc.)
  2. Parvenir à un accord sur le type de relation à mettre en place, le type de coaching proposé et les responsabilités du client et du coach.

Les compétences pour coconstruire la relation avec le client

Savoir construire un climat fondé sur la confiance et le respect mutuels et constants.

  1. Encourager et permettre au client de s’exprimer entièrement et librement.
  2. Respecter la perception et le style d’apprentissage du client, ainsi que le client lui-même.
  3. Soutenir en permanence le client et appuyer de nouveaux comportements et de nouvelles actions, y compris en cas de prise de risque et (ou) de peur de l’échec.

Savoir être à l’écoute et créer une relation spontanée avec le client par une communication ouverte, souple et rassurante.

  1. Faire preuve de disponibilité et de souplesse pendant le processus de coaching.
  2. Déterminer plusieurs façons de travailler avec le client et choisir sur le vif la plus efficace.
  3. Faire évoluer les points de vue en toute confiance et expérimenter de nouvelles possibilités d’action.

Les compétences pour communiquer avec efficacité

Savoir écouter avec attention les dits comme les non-dits et favoriser l’expression personnelle du client.

  1. Ecouter le client (problèmes, objectifs, valeurs et croyances) pour déterminer ce qui est possible et ce qui ne l’est pas.
  2. Savoir discerner les mots, la tonalité vocale et le langage corporel.
  3. Encourager, accepter, explorer et appuyer les sentiments, les perceptions, les problèmes, les croyances et les suggestions du client.

Savoir poser des questions pertinentes pour obtenir les informations indispensables et permettre au client de tirer profit du coaching.

  1. Poser des questions claires, directes, principalement des questions ouvertes, une à la fois, à un rythme qui autorise les pensées et la réflexion chez le client..
  2. Employer le langage du client et des éléments venant du cadre de référence du client ou de son style d’apprentissage.
  3. Poser des questions qui ne sont pas inductives, et ne contiennent ni conclusion ni directives pour le client.
  4. Poser des questions permettant au client de progresser dans la direction souhaitée et éviter de demander au client de se justifier ou de regarder en arrière.

Savoir communiquer efficacement pendant les sessions de coaching et utiliser un langage ayant le plus d’impact sur le client.

  1. Partager ses observations, intuitions, commentaires, pensées et ressentis pour servir l’apprentissage et le développement du client, sans s’attacher à leur exactitude et/ou sans vouloir avoir raison.
  2. Utiliser le langage du client ou un langage qui reflète la manière de parler du client.
  3. Reformuler ses propos et articuler pour permettre au client de comprendre selon un autre point de vue ce qu’il veut ou ce dont il n’est pas sûr.

Les compétences pour faciliter l’apprentissage et la réussite

Savoir intégrer et évaluer avec précision les sources multiples d’informations et présenter des suggestions qui aident le client à atteindre les objectifs fixés.

  1. Inviter le client à explorer son apprentissage dans la session au sujet de sa situation (le quoi) et au sujet de lui-même (le qui)
  2. Partager ce que le coach a remarqué au sujet du client et de la situation, et exprimer des idées au client de manière utile et sensée.
  3. Aider le client à développer de nouvelles pensées, croyances, perceptions, émotions, états d’esprit qui renforcent son aptitude à entreprendre et à atteindre ses objectifs.

Savoir cocréer des opportunités d’apprentissage continu, pendant les séances de coaching et les situations quotidiennes, afin d’entreprendre de nouvelles actions qui génèreront le plus efficacement possible les résultats souhaités.

  1. Assister le client dans la définition d’actions qui lui permettront d’expliquer, de mettre en pratique et d’approfondir de nouveaux apprentissages.
  2. Pousser le client à explorer d’autres idées et solutions pour évaluer les différentes options et prendre des décisions en conséquence.
  3. Promouvoir l’expérimentation active et la découverte de soi lorsque le client met en pratique dans sa vie professionnelle et privée les apprentissages acquis au cours des séances de coaching.

Savoir développer et gérer un plan de coaching efficace avec le client.

  1. Consolider les informations collectées et établir un plan de coaching et des objectifs de développement avec le client qui répondent à ses préoccupations.
  2. Créer un plan dont les résultats sont réalisables, quantifiables, spécifiques et datés.
  3. Ajuster le plan lorsque le processus de coaching et l’évolution de la situation le justifient.

Savoir centrer son attention sur ce qui est important pour le client et le laisser assumer la responsabilité de ses actions.

  1. Demander clairement au client d’entreprendre des actions allant dans le sens des objectifs fixés.
  2. Indiquer au client ce qui a été fait, non fait, appris ou découvert (prise de conscience) depuis la ou les sessions de coaching précédentes.
  3. Promouvoir l’autodiscipline du client et le rendre responsable de ce qu’il dit vouloir faire, des résultats d’une action entreprise ou d’un plan spécifique à exécuter dans des délais prédéfinis.

Référence

Les compétences détaillées de l’ICF :  https://www.coachfederation.fr/

 

Quelle différence y-a-t-il entre le bon et le mauvais testeur ?

Mais entrons un peu plus dans le vif de sujet.

A la question « Avez-vous choisi de vous orienter professionnellement vers le test logiciel? », 82% des interrogés répondent « OUI » (source Observatoire des pratiques du test logiciel – Enquête CFTL 2019). Le métier du test est donc, la plupart du temps, un métier choisi.

Au-delà de la motivation, des compétences « techniques » et « métier » d’un testeur, quelles sont les qualités indispensables pour être un bon testeur ?

Laurence et Tony, pilotes de tierce recettes applicatives, amenés à régulièrement choisir des ressources, nous en donnent quelques-unes.

1 – La logique

Avoir « une tête bien faite » permettant de réfléchir et réagir en conséquence.

Par exemple : une anomalie en consultant une application sur un mobile, il doit penser à tester les autres mobiles pour vérifier si l’anomalie se reproduit.

Ou encore, il doit avoir en tête que la conformité aux spécifications n’implique pas nécessairement que le produit répond aux besoins clients. Un testeur nous faisait part d’une anomalie qu’il avait observée : lorsqu’il cliquait sur un bouton, rien ne se passait. Son interlocuteur soutenait que ce n’était pas une anomalie car l’action attendue n’était pas décrite dans les spécifications. Heureusement, ce type de réponse est extrêmement rare.

2 – L’imagination

Etre créatif pour sortir des sentiers battus.

Pour créer un plan de tests, il est bon de se mettre à la place d’un utilisateur et imaginer toutes les interactions possibles avec l’interface. De même, l’imagination est indispensable lors de la réalisation des tests exploratoires.

3 – La curiosité

Développer une curiosité naturelle

Faire preuve de curiosité pour l’environnement de l’application et ses potentiels clients est un atout non négligeable dans la chasse aux anomalies. Faire l’effort nécessaire pour comprendre le contexte et les enjeux des parties prenantes.

Cette qualité va de pair avec l’imagination.

4 – La discipline (et la rigueur)

Acquérir de la rigueur (et non de la rigidité !)

Parfois, les cas de tests se ressemblent. Mais s’il en existe plusieurs, c’est qu’un seul ne suffit pas à tester l’intégralité des fonctionnalités de l’application ou du site web en question. Alors à la question « est-ce vraiment nécessaire de réaliser tous ces cas de tests ? », la réponse est « OUI », évidemment, et le travail du testeur est de les appliquer avec rigueur et donc discipline.

5 – La communication

Communiquer à bon escient.

Pour réaliser un travail de tests pertinent et constructif, il communique les bonnes informations aux bonnes personnes. Car, si le testeur identifie les points bloquants dans les fonctionnalités, son rôle n’est pas de les corriger. Il réalise un récapitulatif précis et une mise en contexte des anomalies identifiées pour les faire corriger par les équipes de développement.

Attention, aucun jugement de valeur ne doit transparaître : l’apparition d’anomalies peut provenir de multiples facteurs, inutile de joindre la liste des personnes fautives au descriptif de l’anomalie. Cela ralentirait sa correction et ne serait utile à personne.

6 – L’attention

Etre le champion du jeu des 7 erreurs

La répétition des actions peut mettre à mal notre vigilance.

Etre capable de relire plusieurs fois le même document en identifiant les changements d’une version à l’autre : « Etre le champion du jeu des 7 erreurs ». Il faut vérifier méthodiquement chaque cas de tests pour ne rien laisser échapper.

7 – La concentration

Demeurer concentré

Qui dit méthode dit concentration !

Une tâche à la fois et un degré d’attention constant, c’est la clef pour réussir et être en mesure d’identifier toutes les anomalies.

8 – L’adaptabilité

Etre ouvert au changement

Un testeur doit savoir s’adapter à l’équipe dans laquelle il travaille. Il doit également savoir s’adapter aux environnements de tests et aux processus. C’est une qualité indispensable, en particulier dans les organisations Agile.

9 – L’esprit d’équipe

Travailler en collaboration.

Un testeur n’est jamais seul au sein d’un projet. Plus les personnes au sein d’un projet se connaissent et se font confiance, plus la communication est bonne et plus la qualité finale est au rendez-vous.

10 – Un bon état d’esprit

Avoir un bon état d’esprit.

Le testeur a parfois une image d’inspecteur des travaux finis qui arrive après la bataille puis trouve des anomalies et empêche l’application de sortir. Cette image est fausse !

La bonne humeur est un très bon moyen de la combattre et surtout, elle se transmet à toute l’équipe.

Apporter de la bonne humeur à une équipe, c’est aussi apporter une qualité de vie au travail et donc une qualité au produit final.

 

Être heureux au travail rend 31 % plus productif. Ces chiffres sont tirés d’une étude menée par Harvard/MIT: les salariés heureux sont également 2 fois moins malades, 6 fois moins absents, 9 fois plus loyaux et 55 % plus créatifs.

Nous pouvons également ajouter d’autres qualités comme la diplomatie, la capacité à résister au stress, la persévérance…

A la lecture de cet article, vous vous reconnaissez dans ce descriptif ?

 

Vous êtes intéressés par le métier de testeur et vous pensez que vous pouvez être un bon testeur ?

Contactez-nous !

recrutement.qualification@aubay.com

Qu’est ce que la compétence « coach pro » du coach agile

Dans les articles précédents de la série, nous avons expliqué l’origine du coaching, les intentions du coaching agile, les responsabilités et missions d’un coach agile, les compétences attendues d’un coach agile, donné une liste de conseils utiles à toute démarche de coaching agile.

Ce sixième article définit ce qu’est la compétence attendue de coaching professionnel que doit acquérir un coach agile dans le cadre de ses interventions.

Qu’est-ce que le coaching professionnel ?

Le métier de coach consiste à accompagner une personne, une équipe ou une organisation dans l’atteinte d’objectifs précis en mettant en œuvre un processus d’accompagnement dans le respect de règles éthiques.

Ce processus d’accompagnement s’appuie sur l’engagement du coaché, la bienveillance du coach et sur la qualité de leur lien relationnel.

Pour cela, le coach met en œuvre des techniques spécifiques d’écoute, de questionnement et de recadrage dont la finalité est de favoriser des prises de conscience, de permettre des choix autonomes et de mettre en action les décisions prises.

Quelles sont les définitions qui font référence ?

Le coaching professionnel est l’accompagnement d’une personne à partir de ses besoins professionnels pour le développement de son potentiel et de ses savoir-faire dans le cadre d’objectifs professionnels.

Définition par la Société Française de Coaching (SFCoach)

ICF définit le coaching comme une alliance entre le coach et ses clients dans un processus qui suscite chez eux réflexion et créativité afin de maximiser leur potentiel personnel et professionnel.

Pour accompagner l’évolution d’une personne, d’une équipe ou d’une organisation, le coach s’appuie sur l’art de la relation qui permet d’entrer en interaction avec quelqu’un d’une façon telle qu’il réalise les projets qu’il choisit de mettre en œuvre en transformant, si c’est pertinent, ses attitudes et ses compétences.

Définition par l’International Coach Federation (ICF)

Le coaching est un processus d’accompagnement qui favorise la prise de conscience par une personne (ou un groupe/équipe) de ses modes de fonctionnement, avec l’objectif de dépasser la situation dans laquelle elle se trouve et d’atteindre ses objectifs professionnels et/ou personnels qu’elle s’est fixée en toute autonomie.

Définition par la Fédération Francophone de Coachs Professionnels (FFCPro)

Quelle différence entre un consultant et un coach pro. ?

A la différence d’un consultant qui conseille son client ou d’un formateur qui transmet des connaissances, le coach professionnel va permettre à son client de trouver ses propres solutions pour atteindre les objectifs qu’il s’est fixé lui-même.

Quelles sont les modalités du coaching professionnel ?

Le coach intervient uniquement à partir d’une demande explicite formulée par son client, pour lui-même ou pour autrui.

Tout demande de coaching est formalisée par un contrat d’intervention écrit qui définit un cadre de travail précis, à faire signer au démarrage de la prestation de coaching.

Le coach est un expert du processus de coaching et à ce titre est responsable du cadre de la prestation de coaching.

Le coach doit comprendre les enjeux professionnels de son client, mais sans être l’expert de son métier, le contenu qui est sous la responsabilité du client.

Le coach n’est pas un spécialiste du sujet que lui amène son client, mais sur le processus d’accompagnement pour qu’il sache trouver ses solutions lui-même, sur la base de son expertise.

Le coach ne donne pas de conseils mais développe l’autonomie et le potentiel de son client, pour que les objectifs définis soient atteints.

Le coach est essentiellement un catalyseur qui grâce à sa formation et son expérience, peut amener le client à explorer son potentiel et à entreprendre des actions qui favoriseront son développement personnel et professionnel.

Le coach doit découvrir et clarifier ce que le client souhaite accomplir pour établir un contrat fondé sur un objectif mesurable et daté, assorti d’indicateurs de résultat, mais c’est ensemble qu’ils déterminent l’objectif, le cadre, et les résultats attendus même si le client reste le seul responsable de ses propres objectifs.

Pendant l’accompagnement, le coach doit aider le client à identifier ses motivations, ses stratégies et ses compétences.

Le coach doit aider le client à dévoiler l’ensemble des options qui s’offrent à lui et à produire ses propres solutions.

Pour cela, le coach à la responsabilité de poser les bonnes questions et au client de trouver ses réponses.

Le coaching professionnel est un accompagnement ponctuel, d’une durée limitée qui permet de mettre le client en mouvement, dans une dynamique pour atteindre ses objectifs, en toute autonomie.

Le coaching professionnel est toujours orienté action et solution, et prône la technique des petits pas.

Le coach engage sa responsabilité, alerte son client lorsqu’il constate des dysfonctionnements et peut mettre fin au contrat s’il estime qu’il ne lui est pas possible de continuer cette relation de coaching.

Pourquoi être formé à la pratique du coaching professionnel ?

Suivre une formation qui certifie au métier de coach professionnel, à valeur d’engagement dans la recherche de la performance et de la qualité de sa prestation de coaching : c’est un gage pour le client d’avoir une prestation qui le satisfasse.

Les formations au coaching professionnel permettent de développer l’acquisition d’une méthodologie, d’outils, de réflexes professionnels nécessaires à la pratique du coaching et de connaissances liées aux domaines des sciences humaines et sociales.

Est-ce que la certification RNCP est un label de qualité ?

Face à la profusion des offres de formation au coaching professionnel et le manque de lisibilité quant à la qualité réelle de celles-ci, les écoles de coaching ont la possibilité d’entreprendre une démarche de reconnaissance officielle de leur formation par l’état.

Inscrire une formation au Répertoire National des Certifications Professionnelles (RNCP) signifie qu’elle a été étudiée, évaluée et reconnue par la Commission Nationale de la Certification Professionnelle (CNCP), qui est composée de représentants des employeurs et des salariés non dépendants de l’activité économique de la formation considérée.

La certification professionnelle répond à un besoin de professionnalisation et de structuration de l’activité de coaching.

Quels sont les grands principes du coaching agile ?

Dans les articles précédents de la série, nous avons expliqué l’origine du coaching, les intentions du coaching agile, les responsabilités et missions d’un coach agile, les compétence attendues d’un coach agile.

Ce cinquième article identifie une liste non exhaustive de quelques conseils utiles à toute démarche de coaching agile tant au niveau individuel que d’équipe.

Comment le coach doit travailler avec ses coachés ?

Le coach doit s’arranger pour être présenté avant de démarrer la prestation de coaching afin que le rôle de coach agile soit compris par tous, ce que le coach peut offrir et qu’il a le soutien du management.

Le coach doit passer du temps avec les coachés pour qu’il puisse avoir l’opportunité d’apprendre à connaitre les personnes coachées et voir comment elles travaillent.

Le coach peut organiser un brainstorming pour obtenir une liste de problèmes dont la résolution pourrait améliorer la performance des coachés, puis prioriser conjointement avec les coachés la liste lui permettant d’avoir un point de départ pour son intervention.

Le coach peut traiter les problèmes les uns après les autres en appliquant un cycle d’expérimentation et d’apprentissage en analysant les résultats observés.

Le coach n’a pas d’implication opérationnelle, il ne participe à aucune activité de production, de gestion et de pilotage de l’activité opérationnelle.

Le coach doit être dans une relation d’aide aux coachés, pour démystifier une situation, clarifier certaines choses, rendre facile ce qui est difficile pour l’équipe.

Le coach doit montrer comment procéder différemment plutôt que de dire ce qu’il faudrait faire, les coachés choisissent ensuite librement d’appliquer ou non ce que le coach montre.

Le coach ne doit pas imposer ses idées mais amener les coachés à faire leurs propres choix en proposant différentes pratiques, différents cadres de travail et ce sont les coachés qui décident, font le choix.

Le coach doit pratiquer l’écoute active car une écoute respectueuse montre que le coach porte attention aux coachés, ce qui produit un effet sur la façon dont les coachés vous écoute.

Le coach doit essayer de comprendre les coachés, les sentiments et les besoins qui sont à l’origine des mots, sans les juger.

Le coach doit poser des questions pertinentes pour comprendre sans prendre parti, sans remettre en question ou critiquer.

Le coach doit prêter attention à tout signal non verbal tel que le langage des gestes et le ton de la voix utilisés.

Le coach doit faire preuve d’empathie en résumant la situation, se mettre à la place des coachés pour imaginer comment ils ressentent la situation.

Le coach agile doit dispenser du feedback sur la base de faits, sans jugements, interprétations ou sentiments sur la situation.

Le coach peut faire des suggestions sur la façon de gérer une situation, en demandant des idées aux coachés, en discutant avantages et inconvénients de chacune des options.

Le coach doit passer du temps à écouter les préoccupations de chaque coaché en cas de conflit, pour comprendre les causes avant de faire émerger le conflit à l’ensemble des coachés.

Le coach doit étudier les possibilités à ce que le différent se résolve de lui-même avant de s’impliquer pour le simplifier.

Le coach peut utiliser la technique de la communication non violente (CNV) pour aplanir le différent, qui consiste à poser des questions sur les sentiments et besoins.

Comment le coach doit conduire le changement ?

Le coach doit connaitre le niveau de consensus des coachés quant à l’introduction de chaque nouvelle pratique, pour montrer le niveau de support nécessaire à l’accompagnement d’un changement.

Le coach peut continuer sans consensus, en conduisant le changement comme une expérience, menée dans un intervalle de temps fixé, que les coachés pourront évaluer par la suite.

Le coach doit prendre soin de ne pas pousser les coachés à changer trop rapidement, et donner du temps en conséquence.

Le coach doit rechercher les causes possibles si l’équipe est lente dans le changement : vais-je trop vite dans le changement ? Est-ce que c’est le mauvais moment ? Il est possible de faire machine arrière.

Le coach ne doit pas abandonner mais assurer un rythme de changement qui soit adapté aux coachés et continu : patience ne rime pas avec complaisance.

Le coach doit partager une information plutôt qu’un avis ou une critique pour amener les coachés à envisager des alternatives.

Le coach ne doit pas prendre les critiques pour lui, c’est plus une réaction des coachés face aux changements qu’envers le coach.

Le coach ne doit pas critiquer les pratiques du passé pour ne pas favoriser un sentiment de rejet du changement, ne pas faire perdre la face à des personnes.

Le coach doit introduire le changement en montrant la voie, en expliquant pourquoi c’est important, puis en montrant comment faire, comment commencer, en éduquant les coachés.

Le coach doit vendre le changement en expliquant le problème, l’issue probable du non-changement, les opportunités d’amélioration ainsi que les bénéfices obtenables.

Le coach doit développer un sentiment d’appropriation du changement afin de faciliter le changement et rendre les coachés responsable de ce changement.

Le coach doit inviter les coachés à exprimer leurs idées pour réaliser le changement car les personnes suivent plus facilement le changement quand il s’agit de leurs idées.

Le coach doit demander d’expérimenter le changement en cas de résistance au changement.

Le coach doit laisser les coachés faire des erreurs pour qu’ils apprennent de leurs expériences.

Le coach « apprend sur le tas » et doit se remettre en question pour le cas où la situation se représenterait, les leçons les plus efficaces sont apprises à partir des erreurs.

Le coach doit poser des questions pour remettre en question les croyances sur la façon dont l’organisation fonctionne et sur ce que les coachés peuvent ou ne pas faire.

Le coach ne doit pas s’attarder à essayer de convaincre les plus réticents au changement, car ils changeront naturellement (en principe) lorsque le changement leur apportera des bénéfices concrets et observables.

Comment choisir son coach agile ?

Dans les articles précédents de la série, nous avons expliqué l’origine du coaching, les intentions du coaching agile, les responsabilités et missions d’un coach agile, les postures attendues du coach agile en intervention.

Ce quatrième article identifie les critères qui permettent au client de choisir le coach agile qui correspond à son besoin.

Quelles sont les trois dimensions du coach agile ?

Sur la base du modèle de compétences de Lyssa ADKINS, le coach agile peut être choisi ou se positionner sur trois dimensions.

1-    Ses postures

Les postures du coach agile sont réparties en 2 groupes portant sur la connaissance enseignée ou sur le processus d’accompagnement.

Ces postures qui sont des compétences attendues du coach agile sont réparties en 2 groupes, la formation et le mentorat en tant que compétences portant sur la connaissance enseignée, la facilitation et le coaching professionnel en tant que compétences sur le processus d’accompagnement.

Les compétences sur le processus d’accompagnement sont plus axées sur la tenue d’un processus ou d’un espace pour que les gens apportent leur intelligence au collectif et de manière créative pour relever les défis, apprendre et s’améliorer.

Comme expliqué dans le précédent article, les postures de base attendues d’un coach agile sont celles de formateur, de mentor, de facilitateur et de coach professionnel, en rajoutant une posture de conseil qui n’existe pas dans modèle de compétences de Lyssa ADKINS.

Le client a donc la possibilité de choisir son coach agile en fonction du niveau de séniorité du coach agile sur ces différents aspects d’intervention.

Le coach agile a la responsabilité de développer les postures sur lesquelles il ne pense pas être suffisamment mature pour être un coach agile complet.

Par définition, un coach agile doit savoir changer de posture en fonction de la situation à laquelle il doit répondre.

2-    Sa maîtrise d’un ou plusieurs domaines d’expertise

Ses domaines d’expertise, qui résulte du parcours professionnel du coach agile, peuvent être un critère de choix par le client.

Le modèle de compétences emploie le terme « maîtrise » pour les trois domaines d’expertise du modèle, mais cela n’induit pas qu’en tant que coach agile, vous deviez maîtriser parfaitement les trois domaines d’expertise.

Il s’agit d’indiquer que vous avez de par votre parcours professionnel une connaissance plus ou moins approfondie de ces domaines de compétence, qui puissent vous servir dans le cadre de votre accompagnement.

Les expertises spécifiques sont classifiées en expertise technique, métier ou de transformation.

Qu’est-ce que la maitrise technique ?

C’est la maîtrise du Software Crafmanship (ou « l’artisanat du logiciel ») qui est une approche de développement logiciel mettant l’accent sur les compétences de codage des développeurs.

Ce mouvement prône le côté artisanal du développement logiciel, autrement dit, d’après le manifeste de l’artisanat du logiciel, il ne suffit pas qu’un logiciel soit fonctionnel, mais il faut qu’il soit bien conçu.

Certaines organisations font le choix d’avoir des coachs agiles « spécialisés », notamment orienté Software Craftmanship à l’instar des coachs agiles plus orientés processus ou organisation.

Ces coachs agiles ont développé dans leur parcours professionnel des expertises techniques spécifiques, qui orientent leurs interventions mais sans les restreindre pour autant.

Qu’est-ce que la maitrise du métier ?

C’est une expertise en techniques d’innovation pilotée par la valeur métier et en développement de produit.

Qu’est-ce que la maitrise de la transformation ?

C’est la capacité à faciliter, provoquer le changement des personnes, des équipes et des organisations et (le cas échéant) d’être un des leaders du changement dans le cadre de la transformation agile.

Ce domaine d’expertise s’appuie sur la gestion du changement organisationnel et culturel, la pensée systémique et d’autres sciences humaines.

Il s’agit principalement de faciliter et d’aider les organisations à se transformer et évoluer.

3-    Sa connaissance du Lean-Agile

En tant que praticien, par sa connaissance approfondie de l’agilité et du Lean qu’il incarne au quotidien lors de ses interventions.

Comment choisir le coach agile en adéquation avec son besoin ?

Le client choisit son coach agile en fonction de son besoin, sur la base des compétences recherchées et couvertes par le coach agile.

Fort de ses dimensions qui définissent ce que doit être un coach agile, le client a la possibilité de choisir son coach agile en fonction de son besoin, sur la base des compétences recherchées et couvertes par les coachs agiles.

Le modèle de compétence permet aux coachs agiles d’identifier des axes progrès en termes de montée en compétences.

Il est évident que tous les coachs agiles (ou beaucoup de coaches) ne sont pas compétents dans tous les domaines de compétences. Par contre ce modèle de compétences va permettre aux coachs de définir ses axes d’améliorations, si jugé nécessaire, dans le cadre de ses interventions.

La connaissance approfondie, même théorique, de l’agilité et du Lean est un prérequis indispensable.

Cependant toute personne se prétendant être coach agile doit, à minima avoir une connaissance théorique approfondie de l’agilité et du Lean, l’expérience dans la mise en pratique correspondant à la séniorité du coach agile.

Un autre critère plus subjectif pour le choix du coach agile est le « feeling » entre le client et le coach agile.

Un autre critère plus subjectif pour le choix du coach agile est le « feeling » entre le client et le coach agile, malgré le fait que le coach agile ne soit pas forcément en relation directe avec le client en tant que commanditaire mais avec ses collaborateurs.

La qualité de la relation entre le client et le coach agile lors du premier échange est un critère à prendre en considération.

La qualité de la relation entre le coach agile et le client, le sentiment d’avoir été compris, d’avoir le sentiment d’être en sécurité, de pouvoir avoir des résultats sont autant de critères qualitatifs qui peuvent être pris en compte par le client dans le choix du coach agile.

Dans ce cas-là, la compétence « coach professionnel » acquise par le coach agile est un plus indéniable.

Référence

Le modèle de compétences du coach agile https://www.agilecoachinginstitute.com/agile-coaching-resources/