Election du GUSS : I need you (again) !

Si vous avez raté l’info, le GUSS, Groupe des Utilisateurs SQL Server, renouvelle son bureau en 2014. En effet, légalement le GUSS est une association comme une autre, avec ses statuts et son bureau, dont je faisais partie en 2013.

L’appel aux candidatures a eu lieu en janvier, vous retrouverez les copains par là, et maintenant vient le tour de voter (si possible pour moi :)). Pour rappel vous pouvez voter si vous avez été membre actif du GUSS en 2013, ce qui se résume plus ou moins à la création d’un compte sur GUSS.FR ou GUSS.PRO avant le 01/01/2014 (lors par exemple d’une inscription aux JSS2013, ou au SQLSaturday Paris)

Si c’est le cas, allez-y, c’est vous qui déciderez de l’avenir du GUSS en fonction du choix de son board !

Oui j'ai un programme!

Non mais en fait oui, j’ai bien un programme!

Je rappelle ici mon petit speech :

Pour moi le GUSS c’est plus que les JSS et les SQLSaturday. C’est une communauté de professionnels et d’étudiants, qui arrivent à mettre de côté leurs différences (BI vs dba, Flocon vs Etoile, Multidim vs Tabular…) pour contribuer à l’amélioration continue de tout l’écosystème. Et ça c’est beau !

De mon côté je suis consultant décisionnel, manageur d’une équipe de 15 consultants au talent reconnu (de manière impartiale par moi-même) et MVP SQL Server. Ma philosophie c’est d’éduquer, de transmettre le savoir autour de moi, que ce soit dans mon équipe, auprès de mes clients, directement par mail ou encore aux événements du GUSS. Mon idée c’est que si tous les datawarehouses fonctionnent bien chez tous, on pourra enfin faire du data-mining…

En 2014, j’œuvrerai principalement au GUSS pour sa pérennisation. A mon sens 2 sujets prioritaires: l’optimisation de nos processus internes et le renouvellement des bonnes volontés. Mon premier parce que le canard, il pédale sérieusement sous la ligne de flottaison pour arriver à livrer tous ces beaux événements, et il fatigue.  Mon second parce que pour grandir, il va nous falloir du sang neuf pour l’organisation et l’animation des événements à venir. Avis aux bonnes volontés !

Techdays 2014 : Les 11, 12 et 13 février

Cette année encore Microsoft nous invite tous au Palais des Congrès, Porte Maillot à Paris, à partir du mardi 11 février, pour les Techdays 2014, l’occasion de nous présenter tous ces jolis nouveaux produits : SQL Server 2014, Power BI, Office 365, Windows Azure…

Techdays2014_1

Comme d’habitude les inscriptions sont gratuites, et comme d’habitude ce sera l’occasion de croiser du beau monde !

Personnellement je vous recommande les sessions suivantes :

De mon côté je devrais trainer sur le stand ATE (Ask The Expert), j’imagine à côté de l’espace projets, pour répondre à toutes vos questions sur la BI Microsoft.

On se retrouve sur place ? Il ne reste plus qu’à vous inscrire 😉

Un outil pour la transparence en SSII : le tableau mensuel des marges

2013 est terminée, et je voulais partager avec vous une initiative que j’ai lancée avec mon équipe l’année dernière, et qui à mon sens a considérablement participé à l’amélioration du moral, à la cohésion du groupe, à la confiance dans la structure, à la paix sociale en somme !

Il s’agit d’un petit rapport tout bête, qui présente à toute l’équipe nos dépenses (salaires, frais, structure) et notre chiffre d’affaire, ce qui permet de calculer la marge et visualiser le résultat de nos efforts. Un petit exemple ci-dessous (les chiffres, mêmes s’ils se veulent réalistes, ne sont évidemment pas ceux de mon équipe) :

On peut cliquer pour voir plus grand ;)

On peut cliquer pour voir plus grand 😉

Vous noterez mes hypothèses :

  • Taux Journalier moyen : 580€
  • Nombre de jours ouvrables sur la période (prise en compte des congés) : 124
  • Salaire chargé (niveau patronal) moyen : 4600€/mois
  • Frais de structure à 25% du CA
  • Un objectif de marge annuelle à 180K€, voir plus bas sur la répartition

Attention la dernière ligne est une valeur cumulée à date, le reste étant les valeurs mensuelles.

Et surtout vous noterez le résultat : il ne reste pas grand-chose après 8 mois d’activité (on n’oublie pas l’impact important des congés d’été) en ajoutant que ces chiffres sont avant l’impôt sur les sociétés. Pour rappel cet impôt se situe entre 15%  et 35% du résultat (15% si le CA est inférieur à 7,5M€), même si l’optimisation fiscale est devenu un sport très souvent mis en pratique par nos patrons 😉

On apprend quoi ?

  • Qu’en effet une fois qu’on a tout payé, raisonnablement il ne reste pas tant que ça
  • Que malgré tout il reste quelque chose : potentiellement 60K€ de réinvestissement pour la société (ligne bénéfice société), et autour de 7000€ de « monnaie » pour investir sur les collaborateurs
  • Que le tout peut s’effondrer très vite si l’inter-contrat s’envole (cf Mars). On peut comprendre le stress des patrons à la sortie d’un consultant en mission : potentiellement c’est la marge du mois qui peut y passer
La transparence ça fait du bien, mais ça peut faire mal !

La transparence ça fait du bien, mais ça peut faire mal !

Ce calcul repose sur le framework dont je parlais tantôt, qui répartie la marge équitablement entre les actionnaires (bénéfice société), les collaborateurs (primes annuelles) et les clients (amélioration des produits et service), les fameux 7000€ entrant dans cette dernière catégorie.

Ce petit tableau, mis à jour mensuellement avec 1 ou 2 mois de forecast, permet de renouer avec son équipe en l’impliquant directement sur le résultat de l’entreprise. On bosse bien, on accepte de faire des sacrifices dans son quotidien, et on voit le résultat directement à la fin du mois.

Par contre, comme toute initiative sur la transparence, ça implique de jouer le jeu tant sur les chiffres (c’est tellement facile de maquiller les chiffres) que sur la répartition effective du cash: si effectivement le pôle a généré 20K€, difficile de refuser des formations à 2K€.

A pratiquer avec l’accord de la direction !

A pratiquer avec l’accord de la direction !

Enfin, vous noterez que comme tout rapport, il est nécessaire de l’accompagner de valeurs de référence (résultat N-2/N-1, framework « standard ») et d’objectifs. En plus de contribuer au moral cela contribuera alors également à l’amélioration continue !

Modélisation dimensionnelle : Comment choisir entre Fait, Dimension ou Attribut de Dimension ?

C’est une question qui m’a été posée dernièrement, et je voulais partager avec vous la réponse. Pour ceux qui débutent, on va parler ici de comment construire un modèle dimensionnel, qui permettra le stockage et l’analyse de données que l’on souhaite étudier, que ce soit pour Excel, Power Pivot, SQL Server ou SSAS.

Et pour bien répondre, le mieux est de partir d’un cas pratique :
Je veux analyser la ville de mes magasins, comment la représenter dans mon modèle ?

  • Est-ce que c’est un fait ? L’implémentation géographique de mes magasins ?
    • Qui méritera donc une table de fait à part entière…
  • Est-ce que c’est une dimension à part entière ?
    • Qui méritera donc une table propre et des clefs étrangères dans les tables de fait qui l’utilisent…
  • Ou est-ce que c’est un attribut de ma dimension magasin ?
    • Qui méritera donc une colonne dans la table de dimension correspondante…

Comme d’habitude la réponse est de l’expert est « ça dépend ! »

Mais...

« Et ça dépend de quoi ? » me demandez-vous ?

D’abord de savoir si on joue avec un fait ou une dimension. Là le critère pour trancher est simple : la valeur permet-elle de quantifier (compter, mesurer…) ou qualifier (ventiler, filtrer, trier, grouper…) le processus que je veux étudier (ce à quoi correspond une ligne dans ma table de fait).

Dans notre cas : les quantités mesurées peuvent-elles être ventilées par villes, ou pas ? La réponse est oui : ma ville en elle-même n’est donc pas un fait. Et c’est d’ailleurs plutôt logique, un fait c’est un processus métier qui se réalise, typiquement une transaction ou un comptage. Si on joue avec des villes, une transaction ça pourrait être un déménagement, un comptage le recensement annuel. La ville en elle-même n’est donc pas une mesure. Attention à ne pas croire que la distinction se fait selon le type de la donnée, texte ou valeur numérique, puisqu’un âge ou un prix peuvent complétement être des éléments servant à filtrer (j’étudie mon CA des ventes par prix de vente des articles), donc être côté dimension.

Pour les gens de niveaux 2 et plus, vous noterez que la vraie question sous-jacente est comme toujours de préciser quel est le processus métier concerné par ma table de fait. A quel événement dans le monde réel correspond une ligne dans ma table de fait.

La question suivante est de savoir si la ville est une dimension de mon processus métier, ou un attribut d’une autre dimension, dans mon cas la ville du magasin (cf. schéma ci-dessous):

MD - Schéma 1

D’un point de vue strictement fonctionnel, le critère est simple : c’est le rythme de changement d’un attribut par rapport à un autre, et par rapport aux faits :

  • Si le magasin ne change jamais de ville : la ville est un attribut du magasin, c’est une colonne de la dimension magasin (partie droite du schéma)
  • Si le magasin peut changer de ville mais c’est rare : toujours un attribut mais on va utiliser les techniques SCD (d’où d’ailleurs le lent/slowly de slowly changing dimension, dimension à variation lente) dans la dimension magasin (partie droite du schéma)
  • Si le magasin change de ville plus ou moins à la même granularité temporelle que les faits (le mois ou le jour) : alors c’est une dimension indépendante (partie gauche du schéma)

Plutôt élégant non ?

Maintenant, il arrive que pour des raisons techniques on puisse créer des dimensions géographie ou adresse, quand on veut réutiliser ces adresses pour différentes dimensions (clients, collaborateurs, fournisseurs…), même si on est dans les cas invariants ou à variation lente. A ce moment-là soit on floconne les dimensions, soit on reste en étoile. En flocon (schéma en dessous à droite) on complexifie l’alimentation et les requêtes pour utiliser le modèle (jointures à étage), en étoile (schéma en dessous à gauche) on perd toutes les relations qui existent entre la géographie et le magasin qui n’auraient pas été concrétisées par un fait :

MD - Schéma 2

Dans ce cas, à vous de choisir en fonction de votre besoin métier et vos contraintes techniques.

Si on récapitule le tout, c’est plutôt simple finalement ?

  • Fait ou Dimension : quantifier (mesurer) versus qualifier (ventiler).
  • Dimension ou Attribut de dimension : en fonction du rythme du changement de l’attribut par rapport à la table de fait.

Évidemment on ne peut pas parler de modélisation dimensionnelle sans rappeler que c’est une science exacte qui dispose d’une bible, le DWH Toolkit de Ralph Kimball et toute sa clique.

N’hésitez pas à partager vos cas tordus, la théorie ça doit se tester sur la pratique 😉

Au revoir 2013, et bonne année 2014 ;)

Voici mon petit débriefing de l’année 2013. J’applique une pratique de l’amélioration continue en rédigeant ma rétrospective annuelle, j’en profite pour en faire un article comme en 2011 et 2010.

Si je ne l’avais pas fait l’année dernière, cette année c’est Charly qui m’a motivé à recommencer l’exercice. N’hésitez pas vous aussi à écrire votre bilan et vos objectifs, ça clarifie les choses et concrétise les volontés (vive le management visuel), et puis vu le temps dehors, autant en profiter…

Je suis obligé de mettre de la neige dans l'article parce que dehors en fait il fait grand ciel bleu...

Donc en 2013 j’ai avancé sur les fonctions suivantes :

–          Management : Animation d’une équipe d’une douzaine de consultants : à eux de dire si j’ai bien fait mon job ! De mon côté je suis super satisfait de la progression de l’équipe. Tout le monde a cravaché dur et ça se sent sur la qualité du delivery (les seuls clients mécontents sont ceux où je suis intervenu directement, c’est pour dire !). Là aussi on a fait de l’amélioration continue, tant en terme de formations/certifications que de gestion de la connaissance. Beau boulot les gens !

–          Développement Business : Toujours des avant-ventes et autres réponses aux appels d’offres, mais également la participation à la création d’une offre verticale (finance/compta) et présentation du produit en résultant à un salon pour les DAF. Aussi cette année un gros travail de rencontre avec les équipes Microsoft. Ça me fait très plaisir de mettre enfin des visages sur des noms bien connus. Et plus globalement la rencontre de nombreux acteurs de l’écosystème, que nous soyons concurrents ou complémentaires, c’est toujours positif d’échanger avec ses pairs.

–          Technologies : Pour obtenir la MCSE j’ai dû retravailler toutes les bases, y compris l’administration de SQL Server. J’avoue y être allé à reculons, et finalement je me suis amusé et j’ai beaucoup appris. Heureusement d’ailleurs, ça m’a permis d’avoir l’air moins bête dans les discussions des MVP SQL Server orientés moteur au MVP Summit… Et sinon : pas mal de Power Pivot / SSAS Tabular et Power View pour notre offre verticale, pas mal de Power Query parce que c’est vraiment un beau produit, du Azure en IaaS parce que c’est facile, et du HDInsight pour finir l’année en beauté !

–          Décisionnel : En mode passif sur la modélisation (quelques cas intéressants cette année mais rien de révolutionnaire), en mode actif sur les cas d’usage, que ce soit le big data ou le self-service. Le marketing s’essouffle enfin sur le big data et on commence à voir apparaître des solutions utilisables (pas complétement sèches non plus) pour résoudre des vrais problèmes à des prix vraiment intéressants. Côté self-service c’est toujours ce travail de recherche autour du positionnement de la BI comme outil d’une conduite du changement plus qu’une fin en soi.

–          Gestion de Projet : Du Kanban, de l’Agile, j’ai bien bossé le sujet tant en veille qu’en pratique, je suis satisfait 😉

–          Fonctionnel : Rien de vraiment neuf en 2013, dommage… Enfin si, mais rien de vraiment différent.

–          Relation Utilisateur / Communication : Pas de révolution non plus. Côté écrit j’essaye toujours d’être le plus minimaliste possible, côté oral j’ai fait 3 sessions cette année dont une table ronde (Carrières aux SQLSaturday) et ça m’éclate toujours autant. Plein de choses à venir de ce côté en 2014, toujours avec le GUSS!

Voilà pour l’année passée. Et pour l’année à venir, je vais l’extrapoler à partir des bouquins qui sont dans la pile «à lire » sur ma table de chevet :

Des livres à lire

–          Peopleware de DeMarco et Lister, après le Mythical Man-Month, l’autre incontournable de la gestion d’équipe informatique

–          Toyota Kata de Mike Rother, une des bibles du Lean

–          The Year Without Pants de Scott Berkun, un de mes blogueurs préférés, gourou de la gestion de projet, qui retourne faire le chef de projet pendant 1 an chez WordPress et raconte l’aventure

–          Naked Statistics de Charles Wheelan, un rafraichissement de ma culture sur les statistiques avant de m’y remettre pour de vrai sur le Machine Learning (via Coursera très certainement)

–          Information Dashboard Design de Stephen Few, parce que je reste convaincu que le design d’un rapport ou d’un tableau de bord contribue de manière drastique à son adoption, et que c’est un sujet trop négligé dans notre milieu

Vous l’avez compris, 2013 a été une année plutôt remplie pour moi, espérons que 2014 le soit tout autant 😉

Webcast : Pratiques et Outils pour la BI Agile

Voici le webcast de ma session co-animée par Jordan Mootoosamy et Thomas Morisson, présentée lors des Journées SQL Server 2013 organisées par le GUSS. Après une courte intro de ma part c’est Thomas qui prend la parole sur SCRUM, suivi de Jordan sur Biml et MIST, puis je conclue sur NBi.

Vous trouverez tous les liens dont nous parlons dans les slides.

Si ces sujets vous intéressent, je vous laisse creuser sur ce blog, et particulièrement autour la réflexion qui avait motivé cette session, ou du Kanban, une autre méthode novatrice de gestion de projet.

Enfin, notez que tous les webcasts et les slides des sessions des JSS2013 sont dispo sur le site du GUSS (si besoin il faut s’inscrire, c’est évidemment gratuit).

Bon visionnage 😉