Les débuts de mon aventure au sein d’un Centre d’Excellence Tableau


Skillbelts, Visualisation challenges et formations

J’ai récemment rejoint un nouvel établissement bancaire en charge de leur Centre d’Excellence (COE), mais je le qualifierais davantage comme un centre d’adoption. Notre objectif n’est pas de réaliser ou de superviser la création de tous les tableaux de bords ou Analyses visuelles, mais de permettre à mes collègues de le faire par eux-mêmes en les assistant à toutes les étapes de leur aventure (licences, support, trainings, communauté ...) et en leur donnant une plateforme stable (le management de Tableau Server fait aussi de notre responsabilité). Mon rôle en tant que visualisation experte n’était pas de briller mais de faire briller les données, maintenant mon rôle est de faire briller mes collègues .




Ces derniers mois, j’ai évalué les lacunes et déterminé ce qui devait être mis en place pour pouvoir établir une culture de visualisation des données pérenne. Nous avons ainsi évalué et planifié les formations nécessaires pour les différentes audiences. Mais nous avons également analysé et suivi notre Server pour détecter et réagir proactivement en cas de problème (faible performance, forte audience, rafraichissement des données). Un server en bon fonctionnement assure également l’adoption des utilisateurs.





Des challenges de visualisation





Après quelques semaines, il m'est apparu clairement que nos utilisateurs étaient motivés, mais encore un peu timides. Comment faire pour qu’ils soient davantage impliqués ? Nous avons organisé notre premier défi de visualisation « winter is coming ». J’ai téléchargé un jeu de données sur Games of Thrones et leur ai demandé d'effectuer une visualisation en utilisant au moins 2 des 3 nouvelles fonctionnalités (bouton hide/show, set action ou paramètre action). 






Rien de nouveau, n'est-ce pas ? Nous pouvons voir des défis de visualisation similaires chaque semaine sur le net. Mais dans une entreprise, tout le monde n'est pas prêt à montrer son propre travail sur internet ou devant leur collègues, que ce soit par timidité ou par peur de ne pas faire un bon travail devant leurs collègues.



Une partie de mon travail consiste précisément à créer un environnement où ils peuvent s’exprimer sereinement. Si je leur avais simplement donné une activité amusante à faire, ils ne l'auraient pas fait, car ce sont des banquiers sérieux. Mais le fait de leur donner une excuse pour apprendre de nouvelles fonctionnalités a déclenché leur intérêt. Et je dois dire que nous avons reçu d'excellents dashboards. Ensuite ces nouvelles fonctionalités ont aussi été utilisées dans leur travail.



La séance de feedback a été également un moment idéal pour les féliciter et leur donner des conseils de bonnes pratiques visuelles si nécessaire. Et oui, ils ont tous reçu un petit prix. Cette activité a donc pu être organisée à moindre coût pour un maximum de bénéfices.






Formations et soutien



En plus du support technique que nous apportons régulièrement à nos utilisateurs, nous sommes en discussion avec RH pour mettre en place des formations internes pour Desktop 1 et 2 (j'ai enfin obtenu ma certification de formateur tableau ! Hourra). Pour les niveaux suivants nous ferons appel à un formateur externe (Desktop 3 et Visuals Best Practices).



Avoir un formateur interne garantit une plus grande flexibilité, le plan est actuellement de proposer D1 et D2 en 4 demi-journées pour qu'ils ne soient pas distraits par leurs emails.



Mais une formation en classe ne répond pas à tous les besoins, certains utilisateurs parviennent à atteindre seuls un bon niveau (où ils peuvent travailler de manière indépendante) mais certains concepts de base manquent : c'est souvent le cas quand on apprend seul (c'était aussi mon cas). D'autres utilisateurs n'aiment pas être assis dans une salle de classe et préfèrent apprendre à leur propre rythme.   C'est pourquoi nous voulons également mettre en place le Tableau e-learning pour nos utilisateurs à tous les niveaux de l'organisation. lien 
Cela permettra de les sensibiliser à l'analyse visuelle et d'approfondir leurs connaissances sur le Tableau.






Skillbelts



L'idée est de fournir du matériel d'auto-apprentissage et des exercices aux employés ayant différents niveaux d'expertise. Pour accéder au niveau suivant, les utilisateurs doivent passer un test, faire une présentation et faire du bénévolat en aidant un autre collègue. Bien entendu, selon votre entreprise, il ne sera pas possible d'aider les autres pour des raisons de confidentialité des données.

Trouver du contenu n'est pas la partie la plus difficile, il y a beaucoup de tableaux de bord en ligne, par exemple sur le site de la conférence Tableau.



Voici le lien vers une très bonne présentation lors de la TC2018 par Michael Holcomb link 
Cette présentation fait référence à une partie essentielle des Skillbelts : Le JEU.



Bien entendu, je n'ai pas de programmeur interne, qui peut créer une application pour moi (je n'en ai pas non plus les compétences). Mais je me suis vite rendu compte que je peux simuler un jeu en utilisant Tableau Server. Voici comment je l'ai fait.



Sur notre site global, j'ai créé un projet "skillbelt" et des sous-projets pour chaque niveau :

  • Newbie 
  •  Apprentice 
  •  Padawan
  •  All Star
  •  Wizard
  • Zen Master



Chaque niveau est protégé par son propre AD groupe . Si le premier AD groupe pour Newbie a été publié sur notre intranet, les AD groupes suivants sont communiqués lorsque les utilisateurs utilisent les matériels et réalisent les défis associés à chaque niveau.



Pour donner une touche un peu fun, j'ai conçu des badges pour chaque niveau, utilisés pour illustrer tous les sous-projets dans Tableau Server et le tableau de bord des jeux. J'ai utilisé des ressources gratuites sur Internet ( www.flaticon).



Voici un aperçu du tableau de bord dans notre environment de test : c'est pourquoi il n'y a pas encore autant d'utilisateurs... :)





Chaque niveau contient des tableaux de bord de défis et des skillbelt (contenant des vidéos et des whitepapers), l'idée derrière ce tableau de bord de jeu est de suivre l'activité des utilisateurs. J'ai décidé de donner un point par utilisateur lorsqu'il télécharge un tableau de bord de défi (vous devez le télécharger pour faire les exercices) et un point lorsqu'il ouvre le tableau de bord de la ceinture de compétences associé.


Je sais que ce n'est pas optimal, mais nous devons faire confiance à nos utilisateurs, qui feront sûrement le meilleur pour eux-mêmes et examineront tous les documents avant de demander le niveau suivant.




Comment faire ?



En utilisant les logs du Tableau Server ! Si vous ne voulez pas vous embêter à modéliser les tableaux de bord Postgres de Tableau Server, vous pouvez télécharger un des tableaux de bord de suivi déjà mis en place et effectuer les calculs suivants.



Il s'agit ici du modèle de données que j'ai utilisé pour mon tableau de bord monitorant notre Tableau Server interne (mais toutes les tables ne sont pas nécessaires pour générer la vue ci-dessus).






Je veux pouvoir afficher plusieurs informations dans mon tableau de bord. L'une étant le niveau le plus élevé atteint par un utilisateur, une façon de le faire est d'utiliser les informations de connexion. Quand j'ai dit auparavant que j'utilisais les noms suivants comme sous-dossiers ( newbie, Apprenti, Padawan..) j'ai oublié de mentionner que je les ai nommés en réalité 01- Newbie, 02-Apprenti...et ainsi de suite.





1. Pour afficher le plus haut niveau atteint par un utilisateur (en haut à droite du tableau de bord des jeux)

Highest level

 { FIXED [Friendly Name]:

max(int(LEFT([name (hist_projects)],2)))}






2. Pour afficher le nom des joueurs comme par exemple Annabelle.R

Players

SPLIT([Friendly Name],' ',2)+"."+LEFT([Friendly Name],1)




  3. Afficher un check ou une croix à chaque niveau, lorsque le travail a été fait ( en bas à droite du tableau de bord).



Checks :

 IF CONTAINS([Name (Hist Workbooks)],"Challenge") and [Action]="Download Workbook" then 1

ELSEIF NOT CONTAINS([Name (Hist Workbooks)],"Challenge") and [Action]="Access View"

then 1 ELSE 0

END

 Le champ “action” appartient à la table historical_event





4. Pour le titre indiquant le nom du joueur lors de l'entrée dans le tableau de bord, j'utilise la fonction username().

Advices



IF MIN(CONTAINS([Name (Hist Workbooks)],"Challenge")) and MAX([Checks])=0

then "Download the dashboard and do the exercices"



ELSEIF NOT MIN(CONTAINS([Name (Hist Workbooks)],"Challenge")) and MAX([Checks])=0

then "Have a look at the materials"

else " Good Job! Continue like this!"





Et maintenant ?



J'espère vraiment que je prends les bonnes mesures pour améliorer les connaissances des utilisateurs et augmenter la bonne adoption de Tableau dans mon entreprise... Je continuerais à donner des nouvelles sur ce blog..

Annabelle
22.02.2020