Revue : Big Data par Nathan Marz et James Warren

Je vais aller droit au but: vous savez comme je vois le DWH Toolkit de Kimball & Co comme LE bouquin de référence pour le décisionnel, et bien c’est très simple, voilà son équivalent côté Big Data. A mon sens c’est une lecture incontournable, d’autant plus si vous avez déjà écrit ou prononcé les mots « Lambda Architecture ».

Notez que je ne suis pas le seul à en dire du bien, c’est un ouvrage qui a été largement encensé depuis qu’il est sorti, et franchement il le mérite!

Nathan Marz (Twitter, Site) c’est un ancien de Twitter et l’un des créateurs d’Apache Storm, la techno de stream processing la plus utilisée dans la stack Hadoop. Il a fait ses preuves.

Couverture : Big Data chez Manning

Au delà du fond, vraiment passionnant, la forme est également au top. En effet on alterne des chapitres théoriques avec des exemples d’implémentation technique, sur des technologies variées, toujours dans le cadre de la mise en place d’un même système de web analytics. Ça donne un fil rouge au bouquin qui rend sa lecture vraiment digeste.

Morceaux choisis:

  • Les techniques fondamentales liées au Big Data: des systèmes (storage & compute) qui ont conscience de leur nature distribuée, des données immutables, le tout pour permettre le scaling horizontal (ajout de machines) le moins douloureux possible

  • Pour rendre un système de données résistants aux erreurs humaines : on conserve les données dans un format immutable (on ne peut qu’ajouter, ni supprimer ni mettre à jour) et des algorithmes en re-calcul complet (recomputation, à opposer aux chargements incrémentaux)

  • D’où l’architecture lambda : un master dataset immutable avec une ligne de chargement en re-calcul complet (batch + serving layers), mais ce sera lent, donc on y adjoint d’une ligne de chargement rapide (speed layer), à côté, qui gèrera les delta en attendant le prochain batch. Et pour l’utilisateur, une vision unifiée qui brasse des données issues du batch et du streaming.

Schéma de la Lambda Architecture

  • Côté Master Dataset, on utilise une techno robuste qui assure le caramel en batch write / batch read : du filesystem, en mode distribué avec HDFS. Là-dessus on emploie une modélisation particulière (fact-based model, une normalisation complète), si possible structurée via un framework de serialization genre Avro, ProtoBuf ou Thrift.

  • On prépare des batch views dans le Serving Layer, à coup de Map/Reduce en Java ou Python, à destination d’une base batch write / random read orientée requêtage ad-hoc. Ici on va indexer et dénormaliser, pour le confort des utilisateurs.

  • Sur le Speed Layer, le but va être de reproduire la même chaîne de traitement qu’en batch (un des inconvénients de la méthode), mais sur un volume bien moindre de donnée, pour s’approcher du temps réel. On parle Kafka pour gérer la queue multi-utilisateur, Storm pour le stream processing incrémental, et Cassandra pour gérer le random read / random write à exposer aux utilisateurs.

Si vous voulez avoir le pourquoi de tout ça, expliqué de façon propre et illustrée, direction le bouquin, il vaut le coup.

Je recommande plus que vivement 🙂

Revue : I <3 Logs (I Heart Logs) par Jay Kreps

Dans mon chemin d’apprentissage vers les nouvelles architectures de données, j’ai croisé ce petit bouquin rapide de Jay Kreps, et je ne peux que le recommander.

Jay Kreps c’est l’un des inventeurs d’Apache Kafka, quand il était encore chez Linkedin, et depuis c’est le co-fondateur de Confluent, la société commerciale qui édite la plateforme open source. Alors oui, fatalement, il a un petit biais en faveur des plateformes d’intégration basées sur les logs, mais il a surtout une grosse expérience sur le sujet à partager.

Couverture : I heart Log

Evacuons tout de suite le reproche principal qui est fait à ce bouquin: il est court, très court. Vu son prix, il est vrai que ça le rend vraiment cher à la page. Mais pour moi c’est le condensé parfait des idées sous-jacentes au grand retour à venir du temps réel dans l’intégration de données (confère). Donc je lui pardonne son prix (et j’aime signaler au marché qu’il va dans la bonne direction grace à mes achats). Pas de problème si vous surveillez votre budget, direction le blog de Confluent qui dans ses articles reprend beaucoup du contenu du livre. C’est moins bien organisé, mais avec un peu de patience on remet tout dans l’ordre. Dans le cas contraire, je vous encourage vivement de casser la tirelire 😉

Morceaux choisis:

  • La différence entre « Physical Logging » (on log le résultat de l’opération, ex: le contenu de la ligne) et « Logical Logging » (on log l’opération, ex : la requête SQL)
  • Différence qui découle dans 2 architectures de centralisation des logs: le « Primary Backup Model » pour le « Physical Logging » (on écrit sur un master, on forward le résultat de l’écriture aux systèmes esclaves), versus le « State Machine Model » pour le « Logical Logging » (on log la transaction en amont, elle est dupliquée pour traitements sur tous les systèmes en aval). Chacun avec ses avantages et inconvénients
  • Tout ça découle de l’idée de dualité de l’information: tables vs événements, une notion qu’on retrouve en BI, lorsqu’on modélise un processus métier et qu’on peut choisir entre conserver le stock vs les transactions d’un processus métier
  • Cette idée va être structurante dans la construction d’un système de log centralisé, à savoir comment connecter chaque type de système source. Les logs issus des applications auront tendance à être logiques, ceux connectés directement sur les bases plutôt physiques
  • L’objectif de mettre en place un système de log centralisé étant bien sûr d’isoler chaque consommateur de chaque source, pour que chacun puisse vivre sa vie en bonne intelligence
  • Le fait de mettre en place un système centralisé de log implique le passage au temps réel: l’unité de traitement n’étant plus le batch (à savoir une fenêtre temporelle: 1h, 1 jour, 1 semaine) mais bien le log, manifestation d’une opération unitaire du processus
  • A ce titre, on peut alors s’interroger sur la possibilité de mettre en place du « Stream Analytics » (merci Microsoft de nommer les produits de manière aussi explicite ;)), c’est à dire le traitement des informations en continu, plutôt que via un ETL, pour les contextes décisionnels. Il est à noter qu’il a été prouvé mathématiquement qu’il est possible d’implémenter toutes les opérations considérées comme bloquantes (distinct, max, top…) en streaming via le windowing et le caching

Je recommande vivement!

I heart Logs, Jay Kreps (Amazon.fr)

Revue : Peopleware (3rd Edition) par Tom DeMarco et Timothy Lister

Couverture Peopleware 3rd editionPeopleware, Productive Projects and Teams (3rd Edition) – (Amazon.fr) par Tom DeMarco (Wikipedia) et Timothy Lister (Wikipedia)

Je continue dans la série des revues pour vous parler d’une référence dans le domaine du management d’équipe et de projet : il s’agit bien entendu de Peopleware. Ecrits par 2 consultants légendaires en gestion de projets et organisation d’équipes, c’est un condensé de ce qu’il faut faire pour motiver sa troupe et réussir ses projets informatiques.

Je vais faire court : si vous êtes ou voulez devenir manager IT, quel que soit le domaine, c’est un incontournable. Dedans une grosse dose de bon sens délivrée en courts chapitres de quelques pages, un vrai plaisir à lire. Ça parle RH, vie de bureaux, relations interpersonnelles, construction d’équipe, mise en place d’organisations inscrites dans des cercles vertueux…

Morceaux choisis :

  • Il faut arrêter de croire que nos métiers sont centrés autour des technologies. Les chercheurs qui font les découvertes fondamentales de nos domaines sont ceux qui travaillent effectivement sur les technologies. Nous, nous ne sommes que les utilisateurs des technologies qu’eux développent. Et à ce titre nos métiers sont donc plus centrés autour des relations humaines qu’autre chose. (p5 )
  • Les statistiques sur la lecture sont particulièrement décourageantes. Le développeur moyen ne possède aucun livre sur son domaine d’expertise, et n’en a même jamais lu un. (p11, Vous en êtes où du DWH Toolkit? ;))
  • La qualité, bien au-delà d’un simple prérequis de l’utilisateur, est une mesure de haute productivité. (p21, cf le Lean)
  • La fonction d’un manager n’est pas de faire que les gens travaillent, mais de faire qu’il soit possible qu’ils travaillent. (p34, on ne doit pas motiver, mais plutôt limiter la démotivation…)
  • Loi de Gilb : tout ce qui doit être quantifié peut être mesuré d’une manière qui est meilleure que de ne pas le mesurer du tout. (p58, on parle qualité, satisfaction… à prendre en compte dans les ROI et décisions stratégiques en plus du numéraire)
  • Par exemple : le « E-Factor » = Nb heure de travail ininterrompu / Nb heure de présence physique. (p64, à utiliser pour vérifier qu’un environnement n’est pas trop toxique au travail)
  • L’effet pervers d’un taux de turnover élevé (cycle des démissions/recrutements) et qu’il s’auto-entretient. Les collaborateurs partent vite donc il n’y a pas d’intérêt pour l’entreprise à investir sur eux. Mais s’il n’y a pas d’investissement, les collaborateurs démissionnent rapidement. (p120)
  • Le but de la constitution d’une équipe n’est pas d’atteindre un objectif, mais de définir et travailler vers un objectif commun. (p136)
  • La short-liste des techniques pour détruire une équipe : management défensif, bureaucratie, séparation physique, fragmentation du temps de travail sur des projets multiples, réduction de la qualité du produit, fausses deadlines, micro-management. (p144, avec du détail sur chacun des points)
  • La liste étendue des techniques pour détruire une équipe : primes annuelles sur objectifs, management par objectif, récompenses individuelles, et plus globalement tout ce qui tourne autour de la mesure et la gratification des performances. (p157, toujours avec le détail sur place)
  • A l’inverse, la liste des activités qui contribuent à l’équipe: faire de la qualité un culte, permettre à tous de comprendre le pourquoi de chaque décision, construire un sens de l’élitisme, encourager l’hétérogénéité, préserver et protéger les équipes qui gagnent, apporter une vision stratégique mais laisser le champ libre au niveau tactique (p168, toujours avec le détail sur place)
  • Les bonnes méthodes pour atteindre une convergence sur les pratiques sont : les formations, les outils d’automatisation, les revues par ses pairs. (p180)
  • Le péché ultime du management c’est de faire perdre son temps à quelqu’un. (p193)
  • Le changement ne peut se produire que si les collaborateurs se sentent en sécurité. (p208)
  • Une organisation peut apprendre de 2 façons : elle instille des nouvelles compétences et approches à ses membres, ou elle se redessine pour opérer d’une manière différente. (p212)
  • Dans tous les cas, la maturation d’une organisation est limitée par sa capacité à conserver ses membres. (p212)

Je recommande chaudement !

Peopleware, Productive Projects and Teams (3rd Edition) – (Amazon.fr)

Revue : Le Management Lean par Michael Ballé et Godefroy Beauvallet

J’ai profité de la pause entre mes 2 jobs pour diminuer un peu la pile des bouquins à lire qui me narguent à côté de mon bureau. Voici une rapide revue d’un des livres qui y est passé, les autres ici.

Couverture Management LeanLe Management Lean (Amazon.fr) par Michael Ballé (blog|linkedin) et Godefroy Beauvallet (twitter|linkedin).

Enfin un ouvrage français ! Les auteurs sont d’ailleurs deux pointures du Lean en France, ils ont largement contribué à sa diffusion dans l’hexagone, vous n’avez qu’à suivre les liens au-dessus pour vous en rendre compte.

A mon sens ce livre est une parfaite introduction au Lean. Il est abordable, clair, il insiste sur les valeurs et il rattrape bien les dérapages d’interprétation qui ont pu donner une mauvaise image injustifiée à cette nouvelle méthode de management.

Morceaux choisis :

  • Une bonne définition du kaizen : « l’amélioration continue par petits pas, menée par les employés eux-mêmes en rendant leurs tâches plus simples ou plus faciles à effectuer ». (p7)
  • Un joli schéma page 12 sur la différence entre la stratégie souhaitée, celle formulée et celle mise en œuvre.
  • C’est sur le terrain qu’on peut effectivement résoudre les problèmes : « le gemba est l’endroit où les problèmes effectifs des personnes réelles sont visibles et peuvent conduire à des idées d’amélioration ». (p13, chapitre 1)
  • « Discuter pour mettre les gens d’accord sur les termes d’un problème est une pratique du gemba. (…) Pour le manageur, la tentation est d’imposer aux autres sa façon de voir ». (p20) On sait bien qu’imposer ça ne fonctionne plus vraiment avec nos générations 😉
  • « Le manageur de proximité est responsable de la formation individuelle de chaque employé. » (p23)
  • Le point de départ de la démarche Lean c’est de définir la valeur que la société apporte au client à travers ses produits et services. Il faut pratiquer le gemba pour comprendre comment le produit lui apporte cette satisfaction. (p42)
  • « Il n’est pas question de former en masse. La formation est le socle nécessaire au développement des personnes et se fait au poste et une personne à la fois ». (p48) Comme pour tous les autres sujets, on pratique continuellement et par petits pas, c’est donc une formation de quelques minutes tous les jours en poste plutôt qu’une session de 3 jours dans un organisme de formation une fois par an.
  • Dans le chapitre 4, les notions élémentaires de l’élimination du gaspillage et de la réduction du lead-time. La remise à plat de l’équation de la marge du prix et du coût.
  • Les grands principes du système Lean : la sécurité des employés et la satisfaction des clients, le juste à temps, l’auto-qualité, la standardisation et le kaizen.
  • « Dans une société lean (…) l’essentiel de l’action des manageurs porte sur la mise en place et mise en œuvre du système d’apprentissage. » (p178)
  • « Dans un management lean, la recherche de performance s’appuie sur une technique spécifique qui tient plus du coaching sportif que du leadership traditionnel » (p187), tient on retrouve un concept vu avec Andrew Grove !
  • « Managez comme si vous n’aviez pas d’autorité. » (p194)
  • « La motivation provient de la réussite, pas le contraire. Les employés doivent avoir la possibilité de réussir, plutôt que le devoir » (p205). C’est bien le contraire du management par les objectifs !

Je dois vous avouer que ma grande réflexion du moment c’est comment intégrer toutes ces notions dans l’organisation de mon pôle 😉

Vous l’avez compris je le recommande chaudement, c’est un bouquin bien écrit, qui présente très bien une philosophie qui apportera des réponses à tous ceux qui s’interrogent sur leur place dans leur organisation et à savoir si on ne peut pas faire mieux que tout le gâchis actuel.

Le Management Lean (Amazon.fr) par Michael Ballé (blog|linkedin) et Godefroy Beauvallet (twitter|linkedin).

Revue : High Output Management par Andrew Grove

J’ai profité de la pause entre mes 2 jobs pour diminuer un peu la pile des bouquins à lire qui me narguent à côté de mon bureau. Voici une rapide revue d’un des livres qui y est passé, les autres ici.Couverture High Output Management

High Output Management (Amazon.fr) par Andrew Grove (about).

L’auteur, Andrew Grove, est le co-fondateur d’Intel en 1968, dont il devient président en 1979, PDG en 1987 et président du conseil d’administration de 1997 à 2004. Il a participé à la transformation de cette société d’une époque où elle vendait des composants électroniques à bas prix, quand l’email n’existait même pas encore, à la firme incontournable que l’on connaît aujourd’hui. Autant dire qu’il a 2 ou 3 trucs à nous apprendre…

Son livre véhicule 2 idées fondamentales : le rôle incontournable de la formation dans le management et le management par les objectifs. Si la première est plus que jamais d’actualité, la seconde commence enfin à passer de mode…

Oui je suis polémique si je veux ! Parce que ce monsieur et son livre regorgent d’excellents conseils sur comment coacher une équipe, mener les entretiens, former les collaborateurs et leur permettre de se réaliser. Pour cela il est incontournable. Mais l’idée de fond selon laquelle on manage des gens principalement à base d’objectifs est à mon sens largement dépassée.

Car si sur le papier l’idée est belle : on s’entend avec un collaborateur sur un objectif à réaliser défini par des indicateurs quantitatifs, on lui laisse le champ libre et on mesure régulièrement ces indicateurs pour valider son avancement, dans la réalité c’est une utopie. En effet dès qu’on pose un indicateur, très rapidement le jeu devient la course à l’optimisation de sa valeur, sans plus vraiment se soucier de l’objectif sous-jacent. Et ça c’est mon expérience directe en tant que consultant décisionnel, parce que n’oublions pas que justement c’est mon job de designer les systèmes qui calculent ces indicateurs.

Ne croyez pas que je dise que ces indicateurs sont inutiles, ce serait le comble, mais ils sont difficiles à choisir, et leur valeur intrinsèque ne doit pas être une fin en elle-même, sinon vous êtes garantis de pervertir le système.

L’alternative est plutôt simple et elle nous vient du lean, on en reparle plus tard à travers mes autres lectures.

Par contre son focus sur la formation, c’est juste excellent.

Morceaux choisis :

  • La valeur produite par un manageur est celle produite par son équipe plus celle de sa zone d’influence dans l’organisation. La question pour lui est donc bien de savoir comment optimiser le travail de ces équipes. (intro et p40)
  • Une bonne manière de contrecarrer l’effet néfaste de la poursuite aveugle d’indicateurs, c’est de les associer 2 par 2, un qui mesure l’effet voulu et un l’effet de bord indésirable. (p17) Il est donc bien conscient que suivre aveuglement la valeur numérique d’un indicateur n’est pas bon, mais à mon sens c’est un peu optimiste de croire qu’on est capable d’identifier en amont tous les effets pervers, même ceux à long terme, pour les quantifier et les surveiller.
  • Comme pour pas mal de cadre, le travail d’un manageur n’est jamais vraiment terminé, il y a toujours des choses à faire. L’important est donc bien de prioriser celles qui apporteront le plus de valeur, c’est-à-dire celles qui optimiseront au mieux le travail de ses équipes. (p47)
  • Ecrire des comptes rendu (de réunion, d’opération, de mission) est vital à l’entreprise. Les lire beaucoup moins. La vraie valeur vient de l’effort d’analyse et de synthèse réalisé à son écriture. (p49)
  • Il parle déjà du gemba sans le savoir, la pratique lean pour les managers d’aller sur le terrain prendre le temps de sentir l’activité pour détecter les possibilités d’amélioration. (p50) On en reparle plus tard.
  • La ressource la plus importante qu’un manageur peut allouer est son propre temps. Il doit le faire sur des activités qui maximisent le retour sur investissement : la formation par ses propres soins de ses subordonnés. (p53 et 223)
  • La délégation n’est ni abdication, ni micro-management. On commence par un suivi régulier de tâches déléguées, puis on joue sur la fréquence du suivi en fonction de la capacité effective du collaborateur sur la tâche. (p60)
  • Il parle de travail standardisé, là encore une pratique du lean. (p69)
  • Tout le chapitre 5 sur les réunions.
  • A lire avec des grosses pincettes : tout le chapitre 6 sur la planification du travail et le management par objectifs
  • Pour lui le rôle du manager est clair : c’est celui de coach de son équipe, comme un coach d’une équipe de sport. Le coach n’est pas sur le terrain à courir après le ballon, il ne prend pas la réussite de son équipe comme un succès personnel,il créé l’esprit de corps,  il critique et encourage pour entretenir l’amélioration de son équipe, individuellement et comme un ensemble. (p171)
  • La responsabilité d’apprendre son métier à un collaborateur est celle de son manageur direct. Il ne peut pas la déléguer. L’échec du collaborateur est également sa responsabilité directe. (p177)
  • La note d’un manageur lors de sa revue annuelle ne peut pas être plus élevée que celle de son organisation. Par définition il n’existe pas de bon manageur dans une mauvaise organisation. (p187)
  • La formation est un processus continu, pas un événement ponctuel. (p224)

Personnellement j’en tire une conclusion directe : je dois au maximum former moi-même mes équipes.

Je vous recommande ce livre si vous cherchez à avoir une vision exhaustive de ce qui se dit en management. Il est incontournable d’un point de vue académique. Mais s’il est ultra précurseur sur tout un tas de pratiques qu’on retrouve dans les méthodes de management modernes, il en propose aussi qui ne sont pas du tout adaptées à nos générations (essayez d’imposer une directive à l’encontre du bon sens à un collaborateur né après 1980, vous aurez sa démission dans les 3 mois). Donc autant s’éviter les pièges et commencer directement par le lean (on en reparle).

High Output Management (Amazon.fr) par Andrew Grove (about).

Revue : The Hard Thing About Hard Things par Ben Horowitz

J’ai profité de la pause entre mes 2 jobs pour diminuer un peu la pile des bouquins à lire qui me narguent à côté de mon bureau. Voici une rapide revue d’un des livres qui y est passé, les autres ici.Couverture The Hard Thing About Hard Things

The Hard Thing About Hard Things (Amazon.fr) par Ben Horowitz (blog|about).

Ben Horowitz est un monsieur avec un parcours semé d’embûches. Pour faire court, il a lancé plusieurs start-up dont une qui a cartonné. Pas de chance pour lui, c’était en 2000, juste avant l’explosion de la bulle internet. Là il a dû gérer la descente aux enfers de sa société, pour miraculeusement arriver à la sauver et la revendre en 2006.

Et ce livre c’est son retour d’expérience sur toutes les choses douloureuses qu’il a du faire pendant son odyssée: licencier des top-managers quand la société va couler, dégrader un copain parce qu’il ne remplit pas la fiche de poste, détecter et résoudre les conflits politiques dans les contextes difficiles, récupérer un top performeur irremplaçable qui part en sucette et se croit tout permis, etc…

Morceaux choisis :

  • Un CEO/PDG doit être transparent, même et surtout quand ça va mal. Sinon pas de confiance, et l’organisation se crispe sur la méfiance et le ressenti. Avec la confiance, pas besoin d’avoir à expliquer, l’organisation est beaucoup plus rapide. (p66)
  • Attention au dicton « toujours remonter une solution avec un problème», cela peut empêcher des collaborateurs de remonter des problèmes quand ils ne trouvent pas de solutions. Et trouver une solution c’est un boulot à 50/50 entre le manageur et le collaborateur. (p67)
  • Tout un chapitre sur la « bonne » manière de licencier en masse. Pardon mais quand un américain donne de meilleurs conseils que ce qu’on voit appliqué en France, c’est dur. (p68)
  • La bonne manière de voir un licenciement, c’est que c’est un échec du manageur, pas du collaborateur licencié. En effet on peut résoudre le problème à : mauvais recrutement, mauvais encadrement ou mauvaise définition du poste. (p74)
  • « Dans les bonnes organisations, les gens peuvent se concentrer sur leur job et avoir confiance dans le fait que s’ils le font bien, de bonnes choses se passeront pour eux et la société. », et il continue : dans une mauvaise organisation, soit on ne sait même pas en quoi consiste vraiment son job, soit on fait un boulot qui ne déclenche aucun retour positif visible pour soi-même ou la société, voir des retours négatifs. (p74)
  • Le levier d’action n°1 pour un manageur est la formation de ses collaborateurs, depuis le top niveau jusqu’au terrain. Un manageur doit lui-même former ses collaborateurs, au moins en partie, que ce soit sur le métier tout en bas de la pyramide, ou sur le management à plus haut niveau. Ben Horowitz reprend là un thème de fond d’Andrew Grove, dont j’ai revu également le bouquin. (p107)

Si c’est une lecture que je recommande vivement pour les manageurs et directeurs de nos sociétés, avec tout un tas de conseils applicables à J+1, je le fais également pour les collaborateurs. En effet cela ouvre les yeux sur la réalité de nos directeurs, qui doivent prendre des décisions douloureuses dans des situations qui n’ont pas vraiment de solutions.

The Hard Thing About Hard Things (Amazon.fr) par Ben Horowitz (blog|about).