Note de lecture : Rapid Development, par Steve McConnell

Note : 9 ; Passionnant, complet et éclairé ! Book of the year 2002 !

Voici un livre à coté duquel il ne faut pas passer. Ne vous laissez pas intimider par le titre, qui peut vous faire croire qu’il s’agit d’une apologie du RAD: il n’en est rien, il s’agit plutôt du développement efficace ».
Avec pas moins de 600 pages constitués de 43 chapitres regroupés en 3 parties, voilà bien un ouvrage impressionnant. La première d’entre-elle couvre une centaine de pages avec 5 chapitres. Le très court chapitre introductif évoque les « pratiques efficaces » évoquées dans l’ouvrage et comment elles se structurent. C’est au second chapitre que l’on en apprends plus avec les 4 piliers du développement rapide associé à 4 dimensions sur lesquelles on peut agir.

Le 3ème chapitre aborde les erreurs classiques des projets listés selon les 4 dimensions (personnes, processus, produit et technologie) avec chaque fois un petit paragraphe descriptif. C’est synthétique et efficace. Le chapitre suivant qui s’attaque aux fondamentaux est plutôt touffu, car il aborde les différents volets tels que gestion de projet, pratiques d’ingénierie et assurance qualité (où bizarrement, on parle assez peu de tests. C’est un peu old school, mais il faut aussi considérer l’âge vénérable de l’ouvrage… La gestion des risques au chapitre 5 est aussi un peu « à l’ancienne », mais dans la catégorie le texte fait remarquablement bien le travail, avec une nomenclature et une catégorisation des risques ainsi qu’une démarche claire et guidée.

La seconde partie, qui reprend le titre de l’ouvrage compte pour sa part 10 chapitres pour un total de 280 pages. Le chapitre 6 qui l’ouvre attaque les problématiques liées au développement rapide. On y trouve pêle-mêle des préoccupations telles que la planification des dates de réalisation, les attentes irréalistes ou la perception de lenteur. Chaque sujet est traité avec finesse et pertinence. Le chapitre 7 nous offre une belle perspective historique sur les cycles de développement, allant du cycle en cascade au modèle en spirale en passant au « code and fixe » (le mode bordel). Il ne s’arrêta pas là car il évoque aussi le stagged delivery et le prototypage. Bref, une belle représentation de différents modèles où est juste absent le mode agile encore très embryonnaire à cette époque. Même si le corpus de connaissance sur les estimations n’est pas directement transposable au monde agile (il s’appuie beaucoup sur le point de fonction), même si le cône d’incertitude est un sujet de discorde avec Laurent Bossavit, ce chapitre 8 rentre remarquablement en profondeur dans le sujet et sera à lui seul une lecture recommandée.

Lire la suite
Publicité

Note de lecture : Automatisation des activités de test, par Olivier Denoo, Marc Hage Chahine, Bruno Legeard & Eric Riou du Cosquer edt.

Note : 4 ; Des contributions assez hétéroclites autour de l’automatisation, mais parfois intéressantes !

Les ouvrages collectifs sont rarement de grandes réussites. Celui-ci n’échappe pas à la règle, avec des contributions assez inégales. Toutefois, je lui reconnaitrais le mérite d’associer à l’agilité la nécessité d’automatiser les tests !

Le format de l’ouvrage dépassera légèrement de votre bibliothèque. Fort de 220 pages imprimé sur papier glacé en couleur, il faut bien dire que le CFTL a bien fait les choses. Le texte tire parti de cette impression en couleur avec de très nombreuses illustrations, le volume s’avale plutôt rapidement. Le texte est divisé en 3 parties pour un total de 22 chapitres, chacun d’entre-eux est donc plutôt court. La première partie « l’automatisation dans le test » et compte 5 chapitres pour 53 pages. C’est un panel des pratiques d’automatisation que nous livre le 1er chapitre : court et bien fait, il ne nous apprend cependant guère de choses utiles.

Le second chapitre aborde le périmètre de ce qui peut automatisé dans les activités de test. On n’y apprend pas grand-chose non plus, mais cela a le mérite d’être écrit du point de vue du testeur, ce qui est original. Ainsi le panel des activités de test est bien décomposé, mais le propos reste assez stratosphérique. Le chapitre 3 sur le test et la démarche devops s’avère être l’un des plus intéressants de l’ouvrage. Ses 2 points forts sont l’accostage des différents types de test avec le pipeline CI/CD et la présentation du « shift left », le concept le plus intéressant et le plus original du livre !

Lire la suite

Note de lecture : Le S.I. démystifié, par Yves Caseau

Note 7 ; Une impressionnante maitrise du sujet, mais un texte qui a mal supporté l’épreuve du temps…

Yves Caseau est l’auteur d’un des rares ouvrages valables dans le domaine de l’urbanisation des systèmes d’information. Il était justice de m’intéresser à cet opus qui finalement s’inscrit dans la continuité de ce propos et m’a été chaudement recommandé (merci Aude !). L’objectif de l’ouvrage est plutôt ambitieux, car il veut donner les clés au DSI pour appréhender la gouvernance de son SI. L’objectif est d’autant plus ambitieux que l’ouvrage ne compte guère plus de 200 pages. Mais pourrait-on convaincre un DSI de distraire le temps nécessaire à lire un pavé de 500 pages ? Quoi qu’il en soit, comme on le verra, le challenge est plutôt réussi.

Le texte en lui-même compte environ 210 pages réparties en 3 parties, chacune d’entre-elle comptant 3 chapitres. La première d’entre-elle est consacrée à l’analyse de la valeur du SI, le tout sur une soixantaine de pages. Le premier chapitre adresse la question du coût du SI, une question à laquelle l’auteur consacre 30 pages. Une histoire, qui servira de fil rouge à l’ouvrage ouvre le chapitre. S’il n’est pas indispensable, il rend la lecture plus ludique. Un bon point. L’auteur arrive à bien défricher la question en un espace réduit. Il offre des outils mais surtout une clé d’entrée : mesurer le coût du SI, c’est mesurer la taille du parc applicatif.

Le second chapitre adresse une question épineuse, celle de la valeur métier. L’auteur adosse nettement son propos à celui de Nicolas Carr dans « Does IT Matters ? ». De manière générale, les très nombreuses références bibliographiques sont un second niveau de richesse de l’ouvrage ! Dans ce chapitre, l’auteur explore différentes approches, la plupart adosser à la valeur financière. Ce n’est peut-être pas la meilleure approche, mais le DSI y est souvent challengé… Le chapitre 3 qui clôt cette première partie est consacrée à la mesure de la performance. Ici, c’est le benchmarking qui est mis en avant dans le texte, mais aussi les ratios tels que le très connu OPEX/CAPEX. A noter que pour rationaliser l’opex, l’auteur propose un « calendrier lent et industriel » pour les mises en production. Autant pour l’agilité …

Lire la suite

Note de lecture : A Tour of C++ 2nd edition, par Bjarne Stroustrup

Note : 5 ; Une introduction qui résiste quand même beaucoup sous la dent

S’embarquer pour un tour avec Bjarne Stroustrup, cela ressemble davantage à une descente de rapides qu’à une croisière pour le troisième âge. La première édition s’arrêtait au C++11, celle-ci adresse C++17, avec un regard vers C++20, même si la norme a quelque peu évolué depuis la parution de l’ouvrage.
Le format du livre n’a guère changé : avec 225 pages sur 16 chapitres, il reste dans les canons du volume précédant. On pourrait croire que le premier chapitre à vocation introductive n réserve aucune surprise, mais ce serait sans compter sur la déduction de type avec « auto » ni sur les constexpr qui trouveront leur usage dans le template metaprogramming. Les types utilisateurs du second chapitre introduisent, mais avec si peu de clarté, les enum class qui doivent concurrencer les énumérations de Java et entretien fort perfidement la confusion entre struct et class ! La limpidité n’a jamais été le fort du créateur du C++.

Pour le chapitre 3 consacré à la modularité, ce sont les modules qui sont la grosse nouveauté… à venir dans le C++ 20 ! Mais le texte évoque aussi les évolutions concernant les exceptions et les structured bindings. Le texte est clair, ce qui n’est pas coutumier. Le chapitre 4 se focalise sur les classes et aborde aussi les conteneurs (qui seront aussi abordés plus loin). Peu de nouveautés en vue ici hormis les nouveaux initialiseurs et unique_ptr qui remplace avantageusement l’exécrable auto_ptr (paix à son âme).

Les opérations essentielles, au chapitre 5 aborde, entre autres chose, le move operator et les « références droites ». Le concept est difficile et il faut bien dire qu’il était acquis que cela serait très, très mal expliqué ici. Le détour par le « modern C++ » s’avérera indispensable. L’opérateur littéral est aussi évoqué sans non plus que son usage soit spécialement clair. Les templates sont au menu du chapitre6, ce qui nécessite de s’accrocher car il y a beaucoup de nouveautés ici. Toutefois, les gros morceaux seront d’avantage abordés au chapitre 7. Cela laisse à l’auteur la possibilité d’évoquer les concepts mais sans les présenter ce qui nous laisse joyeusement dans le brouillard. Bien joué.

Lire la suite

Note de lecture : The Black Swan 2nd edt., par Nassim Nicholas Taleb

Note : 6 ; Un texte majeur, mais une prose toujours aussi difficile à aborder !

Ce nouvel opus de Nassim Taleb s’inscrit dans la suite de « Fooled by Randomness » et se focalise cette fois sur les évènements hautement improbables.

Le texte couvre 380 pages hors annexes (elles sont très volumineuses), mais cela m’a paru bien plus long ! Il est structuré en 28 chapitres regroupés en 5 parties. La première partie qui compte 9 chapitres sur 135 pages nous emmène à la recherche de nos validations. Cela nous rappelle beaucoup les biais cognitifs de Daniel Kahneman. Cela est exprimé au chapitre 1 par le « triplet de l’opacité » : l’illusion de la compréhension, la distorsion rétrospective et la surévaluation des faits. Le chapitre 3 introduit 2 concepts majeurs et antinomiques de l’ouvrage : médiocristan et extremistan. Le premier s’appuie sur les évènements courants, et les moyennes tandis que le second met en exergue l’impact des évènements rares. C’est bien évidemment le second qui va intéresser l’auteur. C’est le biais d’interprétation qui va occuper le chapitre 6. Ici, l’auteur part en croisade contre les analyses de causalités induits par ce biais.

Y faisant écho, les « preuves silencieuses » abordées au chapitre 8. C’est l’histoire, telle qu’elle est enseignée qui est critiquée ici : elle raconte une suite d’évènements occultant les preuves silencieuses avec une analyse de causalité construite à postériori !

Lire la suite

Note de lecture : Nudge : Comment inspirer la bonne décision, par Richard H. Thaller & Cass R. Sunstein

Note : 4 ; Un texte qui a bien du mal à garder le cap sur son propos central.

Le « nudge », c’est le coup de pouce pour inciter l’utilisateur à prendre une décision. Il peut être bienveillant ou moins avouable. Dans cet ouvrage, les auteurs défendent l’incitation bienveillante sans réfuter toutefois que l’inverse existe. En tant qu’économistes (et même prix Nobel d’économie) ils défendent farouchement la liberté de choix et une économie farouchement libérale. Ils qualifient leur positionnement de « paternalistes libertaires », le premier terme ayant trait au « coup de pouce » que colore leur positionnement économique.

Le texte compte 410 pages composés de 16 chapitres, eux-mêmes regroupés en 4 parties. Au vu du sujet, c’est un volume que l’on peut qualifier de conséquent, eut égard au sujet. La lecture du texte viendra confirmer cette impression. La première partie « Econe et simples mortels » présente, sur 5 chapitres, la « méthode douce » en allant crescendo. On retrouve au premier chapitre de nombreux éléments d’économie comportementale, avec un certain nombre de biais très bien illustrés. Le second chapitre nous rapproche doucement du sujet central : il y est question de la tentation et des choix irréfléchis. Nous savons que nous opérons un mauvais choix, mais cédons à la tentation en l’absence de freins et en rationalisant nos actes.

Au troisième chapitre il va être question des comportements grégaires, c’est-à-dire de notre inclinaison à suivre les autres. Pris dans l’autre sens, l’incitation sociale est une manière d’infléchir justement les comportements. Nous sommes déjà dans « l’incitation douce ». Cadrer les contextes d’application de l’incitation douce est l’objet du chapitre 4. Pour le résumer, il s’agit des cas de figure où le bénéfice de l’action apparait plus tard et non immédiatement comme dans le cas de la tentation vue précédemment. Cette première partie se clôt sur un élément majeur de l’ouvrage : ce que les auteurs appellent « l’architecture du choix ». Si les éléments de structuration y sont présents (choix par défaut, retour d’information, etc.), ce chapitre est plutôt orienté narratif là où une organisation permettant de mieux repérer les éléments de cette architecture aurait été préférable.

Lire la suite

Note de lecture : Rupture Douce saison 04, Laurent Sarrazin edt.

Note : 3 ; Où l’on tourne beaucoup autour du host leadership et des retours d’expérience

De prime abord, ce nouvel opus fait un peu peur avec ses 550 pages. A y regarder de près, imprimé avec une taille de police adaptée aux générations vieillissantes, c’est moins le cas. Et finalement, en ayant avalé cette prose en quelque jours, le texte ne résiste pas tant que cela sous la dent. Mais est-ce une bonne nouvelle ?

Ce nouvel opus a une coloration très « solution focus ». En soi, ce n’est pas une mauvaise nouvelle. Hélas la plupart des textes n’apportent guère de contribution tangible. Je vais donc me concentrer ici sur les apports que j’ai identifiés.

Le questionnement est toujours un bon outil si il est bien utilisé. Les « questions constructives » de Laurent Sarrazin et Géry Derbier nous en fournissent un petit lot en quelques pages, c’est bien pratique et c’est bien vu. Et c’est bien sûr résolument « solution focus » ! La « cuisine sans recette » est une approche de coaching un peu trop perché pour moi. Le storytelling est aussi un peu trop verbeux à mon goût même si j’avoue qu’il est bien écrit. Mais le texte évoque brièvement la « fenêtre de Johari », une approche instructive à découvrir.

Lire la suite

Note de lecture : Sooner Safer Happier, par Jonathan Smart

Note : 8 ; Passionnant et frustrant tout à la fois.

Jonathan Smart nous propose sa vue à 360° de la pensée Lean / Agile sur le développement de produit. Sa boussole est dans le titre : il faut délivrer plus tôt, de manière plus sécurisée en cultivant la joie (OK ma formulation n’est pas très heureuse. En fait l’auteur nous assène cette phrase jusqu’à la nausée (et en gras dans le texte pour faire bonne mesure) et au-delà. Et cela lui coûte 1 point d’un livre par ailleurs excellent, comme nous allons le voir.

L’ouvrage compte près de 400 pages pour 9 chapitres, ou plutôt 10 car il me faut y ajouter le chapitre 0 ! Le corps du texte est composé des chapitres 1 à 8 qui sont autant de thèmes où sont développés des anti-patterns puis des patterns. Revenons au chapitre 0 « how we get here », qui nous dispense un peu de perspective sur l’agile, le Lean et le devops en se focalisant sur leur raison d’être. C’est une introduction classique mais réellement bien faite.

Le chapitre 1 est consacré à « l’outcome ». C’est surtout pour l’auteur l’occasion de développer ce fameux « business value sooner, safer & happier ». Les anti-patterns présentent peu d’intérêt et le pattern se résume assez bien par le « focus on why, empower the how ». Un chapitre qui est surtout une déclaration d’intention. Le second chapitre « achieve big through small » attaque un thème qui m’est cher : découper un (gros) problème en petits morceaux. Il s’attaque également au super-gorille à la mode : l’agilité à l’échelle… en proposant le dé-scaling. Quand on y rajoute la « règle du 1 », j’ai l’impression de retrouver mes recettes personnelles !

On retrouve le combat contre l’agilité « à taille unique » au chapitre 3. Le propos y a moins de force et j’y retiens surtout les 3 types culturels de Westrum, mais la référence au « Shu Ha Ri » me plait aussi, bien sûr. Le chapitre 4 est dédié au leadership. Je classerais le propos dans les modernes / classiques. Si l’auteur centre bien le sujet sur la complexité, la posture promue reste celle du « servant leader », alors que nous sommes plutôt dans l’ère du leader créateur de leaders ou du host leader. Cela reste toutefois un bon chapitre.

Si le titre du chapitre 5 « construire les bonnes choses » est plutôt abscons, le contenu va retenir notre attention. Tout d’abord en abordant avec pertinence les value stream mapping, sujet souvent abstrait pour ne pas dire mal compris, puis la question du portefeuille, dans la continuité. Ensuite en promulguant le « triumvirat des rôles » à chaque niveau de l’organisation. L’idée peut être critiquable, mais elle se défend. On pourrait s’en doute, le chapitre 6 évoque le « bien construire les choses ». L’auteur y développe le concept de « safety team » qui peine à se démarquer de la désormais traditionnelle équipe pluridisciplinaire. Il est aussi question d’aligner l’équipe sur des values streams, un sujet mieux développer dans Team Topologies. Un chapitre honorable malgré tout.

Lire la suite

Note de lecture : Waltzing with Bears, par Tom DeMarco & Timothy Lister

Note : 6 ; La continuité de Peopleware, mais décevant quand même

Ce nouvel opus du binôme DeMarco – Lister est dédié à la gestion du risque, la « gestion de projet pour les adultes » comme le disent si bien les auteurs. L’originalité de ce court opuscule est l’approche « probabilistique » du risque, au contraire de la plupart des approches qui voient la gestion des risques comme un phénomène binaire.

Malgré la petite taille de cet opuscule qui ne compte que 175 pages, les auteurs sont parvenus à découper celui-ci en 5 parties pour un total de 23 chapitres ! Il faut donc s’attendre à ce que ces derniers soient plutôt courts. Le propos est par ailleurs assez dense, on le verra. La première partie tente de répondre au « pourquoi » de la gestion des risques, sur un peu moins de 30 pages réparties sur 4 chapitres. Elle s’ouvre sur un chapitre abordant l’attitude des projets par rapport aux risques, dont les auteurs nous assènent qu’ils doivent être vus comme des opportunités. Cela se résume bien par la citation d’ouverture : si un projet n’a aucun risque, ne le faite pas ! Au second chapitre, on découvre quelles sont les activités de la gestion de risque. Cela nous amène à comprendre que, ainsi que les auteurs l’énonce dans le titre du chapitre, que la gestion de risque, c’est en définitive la gestion de projet pour les adultes.

Le 3ème chapitre est un interlude, où l’absence de gestion de risque est illustrée via la gestion des bagages du nouvel aéroport de Denver. Un propos précis, agréable à lire et mettant en évidence les lacunes de gestion des risques. C’est un plaidoyer pour la gestion des risques qui enfin conclut cette première partie. Il liste en une dizaine de points les avantages à tirer d’une gestion des risques sérieuse.

Lire la suite

Note de lecture : Joel on Software, par Joel Spolsky

Note : 8 ; Inclassable, instructif et passionnant.

Aussi surprenant que cela puisse paraitre, ce livre est simplement la compilation des « posts » de Joel Spolsky sur son blog « Joel on Software ». Les textes n’en ont pas été retouchés, ni rallongés pas plus qu’ils n’ont été agrémentés. Ils ont simplement été mis en page, rassemblés en un livre avec table des matières, index, couverture, relire et tout et tout.

Donc ce que vous pouvez acheter sous forme de livre, vous pouvez le lire gratuitement sur le net ! Le livre, justement, couvre 45 posts regroupés en 4 parties (la 5ème est consacrée aux annexes). Les posts sont ainsi regroupés de manière thématique et la taille de ces parties est en conséquence inégale. La première partie va aussi s’avérer la plus longue. Elle regroupe 19 posts et cible les pratiques de développement (au sens large). 3 sujets ont attisé ma curiosité ici. La série de 4 posts sur les spécifications, d’abord. Elles contiennent les germes de la définition du PO mais révèlent aussi un point de vue pour moi dépasser : écrire pour limiter la communication entre les intervenants, et gagner en efficacité ! Le second sujet a trait au craftsmanship. Il est la prémices du mouvement du même nom, même si l’auteur ignore encore (ou volontairement ?) la culture agile naissante. Le troisième sujet est marginal et évoque le « biculturalisme » chez Microsoft. Un sujet qui explique bien des choses sur la société.

La seconde partie est consacrée à la gestion des développeurs et est riche de 9 posts. Le plus célèbre, et très souvent référencé encore aujourd’hui est « The Law of Leaky Abstraction ». Cette loi stipule qu’une abstraction de haut niveau, destinée à masquer une réalité de plus bas niveau, montrera des failles ou des faiblesses dans certaines conditions. Le corolaire de cette loi est qu’on ne peut se contenter de connaitre cette abstraction de haut niveau, mais qu’il est nécessaire de connaitre voir de maitriser le niveau sous-jacent, car il expliquera certains comportements de cette « abstraction qui fuit ». Je conseille aussi deux posts consacrés au recrutement et à la rémunération. Vous n’êtes pas obligés d’être d’accord avec l’auteur, mais au moins donnent-ils à réfléchir.

Lire la suite