Note de lecture : Beyond Requirements, par Kent J. McDonald

Note : 7 ; Spécifier, avec un vrai mindset agile

De prime abord, le titre fait penser au mariage du veau et du cochon. Mais très vite, on comprends qu’il n’en est rien, bien au contraire. Car ce volume va au-delà de la compilation de pratiques d’analyse agile, nous allons voir cela.

L’ouvrage est de taille moyenne avec ses 230 pages structurées en 3 parties pour un total de 15 chapitres. La première partie « Ideas » est forte de 75 pages sur 6 chapitres. Ici, on parle surtout de culture agile, certes centrée sur l’analyse mais sans entrer en profondeur dans les pratiques. Dans le premier chapitre « guiding principles », Kent McDonald nous distille ce qu’il a condensé en 7 principes directeurs sur lesquels s’appuient ses manières de raisonner et de prendre des décisions. Par la manière dont ces principes sont pensés et exposés, nous voyons rapidement que l’auteur est un agiliste de très haut niveau. Peut-être est-ce la 15ème fois que l’on vous assène des principes fondateurs ? Ne manquez pas ceux-cis. Au second chapitre, on entre plus spécifiquement dans le domaine de l’analyse. Et ce sont les concepts structurant de l’analyse agile qui sont développés ici. La référence au BABOK (Business Analysis Body of Knowledge) est certes austère, mais les 6 concepts évoqués ici serviront de cadre au reste de l’ouvrage. Il aborde aussi 2 piliers importants de l’approche produit moderne : outcome versus output et la dualité discovery / delivery.

Signe de l’influence de l’approche produit dans son cadre de spécification agile, l’auteur rend hommage au Lean Startup au chapitre 3. L’auteur ne se contente pas de paraphraser Eric Ries : il projette les concepts de l’approche au monde de l’entreprise. Un bel exercice. La prise de décision, sujet du chapitre 4 semble être un des thèmes favoris de l’auteur. Au menu de celui-ci, nous avons tout d’abord les mécanismes de la prise de décision elle-même, bien décomposés. Kent McDonald semble apprécier Chris Matts, c’est sans doute pourquoi nous avons un coup de projecteur sur les « real options ». C’est un bon teaser à « Commitment » ! Enfin, c’est un plaisir pour moi de voir que les biais cognitifs qui entachent si grandement les processus de décision ne sont pas oubliés.

Continuer à lire « Note de lecture : Beyond Requirements, par Kent J. McDonald »

Note de lecture : Application Security Program Handbook, par Derek Fisher

Note : 7 ; Pour nous guider dans la mise en place de la cybersécurité.

Il faut commencer par ouvrir ce livre pour en comprendre le titre. Il s’agit bien de sécuriser les applications, mais plutôt sous l’angle de la gouvernance et de la mise en place de cette sécurisation. Dit ainsi, cela n’a rien d’attrayant et le texte aurait pu être terriblement rébarbatif. Il n’en est rien, et nous allons voir pourquoi.

L’ouvrage est parfaitement rythmé : il compte 260 structuré en 3 parties, chacune d’entre elle comptant 3 chapitres. La première partie sert à camper le décor, elle sert à nous permettre d’appréhender ce qu’est la sécurisation d’une application. Le chapitre 1 réponds au « pourquoi » de la sécurisation, mais en réalité va bien plus loin. Tout d’abord en introduisant le fameux « security program » qui est la raison d’être du livre, mais surtout en introduisant le securisation pipeline qui est l’apport majeur du texte et défend une approche « shift left » qui parlera bien aux agilistes.

Le second chapitre « understanding the problem” adresse deux sujets majeurs, le premier sera mon préféré, j’ai parlé de la triade CIA : confidentialité, intégrité, disponibilité (availability). L’auteur rentre en profondeur sur chacun de ces thèmes, détaillant la manière de les adresser. Un excellent boulot. Le second thème traite des risques : si j’ai aimé la classification et la présentation des types d’attaquants, la gestion des risques elle-même, s’appuyant sur le NIST, est plus austère. Le dernier chapitre de cette première partie est consacré aux composants de la sécurisation des applications. Tout d’abord on y trouve une excellente introduction à la modélisation des menaces, puis un panorama des outils d’analyse et enfin une évocation des différents types de test. Bref, ce chapitre est une petite mine d’or !

Continuer à lire « Note de lecture : Application Security Program Handbook, par Derek Fisher »

Note de lecture : Effective Software Testing, par Mauricio Aniche

Note : 7 ; Une stratégie de tests gravitant hélas uniquement autour des tests unitaires, mais faisant un excellent travail pour en systématiser l’approche.

En matière d’ingénierie logicielle moderne, la littérature sur les tests tend à se concentrer sur les tests unitaires et les tests d’acceptation. Les ouvrages qui englobent les pratiques de manières plus larges ciblent surtout l’aspect méthodologique. C’est donc avec intérêt que j’aborde ce texte qui se focalisent sur les différents types de tests que l’on peut mettre en œuvre au niveau des équipes de réalisation. Et nous allons le voir, cela ne se limite pas aux deux types de tests que nous venons d’évoquer.

Avec 274 pages hors annexes, cela reste un ouvrage de taille raisonnable. Il est structuré en 10 chapitres. Le premier chapitre annonce la couleur : les développeurs qui testent versus ceux qui ne testent pas. L’idée est ici d’avoir un tour d’horizon des types de tests qui vont être abordés et de l’aspect méthode et automatisation qui, même si on ne parle pas d’agilité, restent dans la même idée. Mon désaccord principal, sur ce chapitre et sur le livre, est d’utiliser la pyramide de tests comme boussole, une idée absolument dysfonctionnelle. Bien sûr, l’auteur met l’accent sur les petits tests qui s’exécutent rapidement (donc les tests unitaires), je ne saurais lui reprocher. Mais les autres tests sont pour lui : les tests d’intégration (quels tests d’intégration ?), les tests système et les tests manuels et c’est tout ! Pas de tests fonctionnels ou au moins de tests d’acceptation. C’est une vue erronée du paysage des tests, mais cela ne veut pas dire que l’ouvrage n’a pas d’intérêt.

En fait le chapitre 2 aborde le « specification-based testing ». Mais pas au sens des tests d’acceptation. Il s’agit ici de mettre en place des tests unitaires pour tester les règles de gestion à bas niveau. L’auteur y propose une démarche très systématique en 7 étapes allant des premiers tests passants aux tests aux limites puis « créatifs » sans oublier l’automatisation ! C’est de fait une approche très disciplinée des tests unitaires, peut-être trop, mais cela reste une très bonne source d’inspiration. Le texte ne s’arrête pas là puisqu’il aborde le traitement des bugs. Le propos est largement adossé à de très nombreux exemples en Java. Mais à mon avis l’illustration a travers de règles de validation sur une chaine de caractère n’est pas assez significatif d’un véritable projet.

Continuer à lire « Note de lecture : Effective Software Testing, par Mauricio Aniche »

Note de lecture : Making Sense of Cybersecurity, par Thomas Kranz

Note : 8 ; La cybersécurité pour les nuls, mais sans être nulle. Une lecture riche et passionnante à lire.

La cybersécurité, ce n’est pas nécessairement très facile de comprendre ce que c’est. Même une fois cette étape passée, il s’agit d’appréhender ce que cela recouvre et comment cela se décline en termes de mise en œuvre. Le présent ouvrage a pour objectif de s’attaquer à cette tâche pour le moins ardue, et à ma grande surprise il le fait bien, avec un propos accessible sans être débilitant et même avec une pointe d’humour. Bien sûr, comme le texte est émaillé d’anecdotes issues de l’expérience de l’auteur tout cela devient bien plus vivant.

Le livre lui-même est de taille moyenne, avec ses 256 pages. Il est structuré en 12 chapitres, dont 2 d’introduction suivi de 2 parties. Le premier chapitre « cybersécurity and hackers » commence en douceur pour nous faire prendre conscience des enjeux de la cybersécurité. En commençant par l’histoire du château de Warwick, il nous entraine vers les défis de la défense du système d’information. Le style de l’auteur coule tout seul et préfigure le reste de l’ouvrage. Le second chapitre nous assène dans le titre que la cybersécurité est le problème de tout le monde. L’auteur nous y présente son mantra qu’il répètera au fil des chapitres : la mise en œuvre des mesures doit être adaptée, proportionnelle à la menace et soutenable dans le temps. Elle se met en œuvre au travers de 3 questions simples : Quels assets possédez-vous ? Qui peut vouloir vous attaquer ? Quelles défenses mettez-vous en œuvre ? Au travers de ce discours épuré, l’auteur nous montre une autre de ces qualités, celle de présenter un discours clair, simple et pertinent.

La première partie, même si elle n’a pas de titre, est consacrée aux attaques. Elle comporte 5 chapitres sur 125 pages. Elle s’ouvra sur un chapitre 3 sobrement intitulé « comprendre les hackers ». L’auteur a choisi la classification white hat, grey hat et black hat. Son but est de nous faire comprendre l’état d’esprit des hackers. Il le fait en nous dressant de courtes biographies et quelques exemples. Avec la concision qui le caractérise, il résume la démarche du hacker : comment est-ce que cela fonctionne ? Comment je peux le casser ? Qu’est-ce que je peux lui faire faire d’autre ? Qu’est-ce que cela signifie comme possibilités pour moi ? Le chapitre 4 est consacré aux attaques externes. Il s’ouvre sur la boucle OODA (observe, orient, decide, act) et sa déclinaison en 4 questions que nous avons vu précédemment. Mais tout cela va mieux en le faisant. Ainsi l’auteur décline la manière d’opérer d’abord sur une infrastructure domestique, puis sur une architecture d’entreprise. Le chapitre ne serait pas complet sans un panorama des différentes attaques, que ce soient des classiques de l’OWASP, du mobile, du Wifi, etc. A chaque fois cela est expliqué avec clarté et une dose de légèreté qui nous ferait presque oublier que nous apprenons des choses au fil des pages.

Continuer à lire « Note de lecture : Making Sense of Cybersecurity, par Thomas Kranz »

Note de lecture : Requirements by Collaboration, par Ellen Gottesdiener

Note : 4 ; Malheureusement bien pauvre sur la substance même de cette collaboration !

J’ai été attiré par ce titre, aussi bien par le thème aussi original qu’important dans les pratiques d’identification du besoin, que par des recommandations tierces. La littérature adressant la manière de collecter, structurer et formaliser les exigences est très importante. Nombre de ces ouvrages sont d’ailleurs excellents ! Mais les textes traitant des interactions entre personnes pour les faire émerger est beaucoup plus réduite. Le présent ouvrage est peut-être le seul entièrement dédié à ce sujet ! Le texte n’est pas récent, il date du début des années 2000 alors que l’agilité en était à ses débuts. Aussi n’y trouverons-nous aucune référence à ce mouvement, même si de nombreuses idées sont convergentes.

Le livre lui-même comprends près de 280 pages. Il est structuré en 3 parties pour un total de 12 chapitres. La première partie nous promet un tour d’horizon des ateliers de définition des exigences, sur 3 chapitres pour environ 65 pages. Elle s’ouvre sur un très classique « getting started », en guise de premier chapitre. Il a pour but de cadrer la suite du sujet, tout d’abord en définissant les différents types et niveaux d’exigences. Ensuite en clarifiant la notion d’ateliers, ceux abordés ici s’inspirent du Join Application Design (JAD) qui nous conduisent à considérer différents types d’ateliers en fonction de leurs finalités. Le chapitre fait bien le travail, on y voit bien plus clair en l’ayant terminé.

Au chapitre 2, nous allons rentrer plus en profondeur sur ce que nous cherchons obtenir des ateliers, donc les artéfacts. Pour ceux qui ne sont pas familiers de la littérature sur la gestion des exigences, ce sera sans doute une découverte de voir le nombre et la variété de ces artéfacts. Bien que l’on ne rentre pas encore dans le cœur du sujet, le propos est intéressant et bien construit. Cette première partie se clôt sur l’aspect préparatoire des ateliers : l’espace, les invitations, l’état d’esprit avec lequel il faut venir. C’est un peu verbeux et enfonce parfois les portes, mais cela reste bien fait.

Continuer à lire « Note de lecture : Requirements by Collaboration, par Ellen Gottesdiener »

Note de lecture : The Value Flywheel Effect, par David Anderson with Mark McCann & Michael O’Reilly

Note : 9 ; Agile sous steroids! Book of year 2023 !

Est-il possible de créer un cadre de fonctionnement des projet IT où le facteur limitant devient la capacité du métier à avoir des idées assez rapidement ? C’est bien évidemment le sujet du présent ouvrage. Le « volant d’inertie » qu’évoquent les auteurs est un cycle en 4 parties qui forme la structure du livre. Pour donner l’effet d’accélération promis, ils s’appuient principalement sur deux outils. Le premiers est méthodologique: ce sont les « Wardley Maps » qui permet de définir une trajectoire fonctionnelle et technique. Le second est technique : c’est le Serverless dans l’environnement Cloud.

Le texte est structuré en 5 parties : les 4 phases de la roue d’entrainement précédé d’une introduction. Au total, ce sont 250 pages hors annexes structurés en 20 chapitres. La première partie « starting the expedition » compte 4 chapitres sur 60 pages et sera majoritairement consacré à la présentation des Wardley maps. Mais le premier chapitre sera l’introduction de l’introduction, avec une vue générale des 4 phases de la roue. Un chapitre honnête.

Les chapitre 2 et 3 sont consacrés à la Wardley map. Le chapitre 2 en est l’introduction, balayant tout d’abord les différentes approches de mapping stratégiques : OKR, business canvas, 6 pager, etc. Le chapitre 2 présente les principes généraux sans rentrer dans la pratique, mais nous gratifie du Wardley Map Canvas qui, à l’image d’un business canvas permet de cadrer le sujet. C’est le chapitre 3 qui développe la mise en œuvre en dévoilant progressivement les différents concepts. C’est une excellente introduction à l’outil. Le chapitre 4 qui clôt cette première partie via une mise en œuvre illustrée au travers d’un dialogue qui complète parfaitement le chapitre 3.

Continuer à lire « Note de lecture : The Value Flywheel Effect, par David Anderson with Mark McCann & Michael O’Reilly »

Note de lecture : Agile Software Development 2nd edition, par Alistair Cockburn

Note : 6 ; Ô combien austère…

Cette seconde édition de l’ouvrage de référence d’Alistair Cockburn a pris beaucoup d’embonpoint depuis la première. Il accuse 380 pages sans les annexes et ces dernières pèsent 80 pages à elles-seules. Au-delà du volume lui-même, le texte s’avère, comme nous le verrons, très dense. La mise en page sur 2 colonnes assez rare pour ce type d’ouvrage ajoute encore à cette impression. Mais surtout, ce n’est pas un texte qui s’adresse au débutant, les thèmes et le niveau des réflexions qui sont développées dans ces pages rend le texte bien trop ardu pour le nouveau venu.
L’ouvrage compte 7 chapitres, qu’il faut multiplier par deux. Car, autre originalité, le texte d’origine n’a pas été retouché mais il est doublé d’un texte complémentaire qui forme cette seconde édition, ainsi pour chaque chapitre, nous avons le x.0 qui est le texte original, et le x.1 écrit pour cette seconde édition !

Le chapitre 0 « unknowable and Incommunicable », n’est pas le plus facile à aborder. Le propos est à la frontière de la philosophie. Mais il introduit une notion qui m’et chère : le Shu Ha Ri ! L’auteur présente ce concept comme étant une incarnation des 3 niveaux d’écoute : suivre, se détacher et être fluide. Ce chapitre est suivi d’un très court chapitre « évolutions », où l’auteur revient brièvement sur la notion de Shu Ha Ri.

Les choses sérieuses commencent avec le chapitre 1 « un jeu coopératif d’invention et de communication », probablement l’une des expressions favorites de l’auteur. Le chapitre s’ouvre sur la thématique du jeu. Il peut être à somme nul (donc jeu d’affrontement) ou coopératif, c’est évidemment vers ce second type que l’auteur nous oriente : les jeux dirigés vers un but. En fait, il s’oppose surtout à la vision « engineering » du développement, celle du génie civil par exemple. Ce chapitre a bien sûr droit à son chapitre complémentaire « évolution ». Outre une évocation du craft, ce complément ajoute deux éléments. Le premier est l’évocation historique de l’ingénierie dans le domaine logiciel, qui remonte à 1968. Le second est la mise en contexte du Lean. De mon point de vue, c’est franchement poussif. Ce chapitre 1 sert surtout à pousser la vision de l’auteur, mais je n’y vois guère d’éléments qui font progresser ma manière de voir.

Continuer à lire « Note de lecture : Agile Software Development 2nd edition, par Alistair Cockburn »

Note de lecture : Investments Unlimited, par Helen Beal & al.

Note : 7 ; Découvrir le DevSecOps et la gouvernance automatisée

Le Devops et les chaines CI/CD, on commence à bien connaitre. Mais le DevSecOps, est-ce que cela consiste uniquement à introduire des outils d’audit dans le pipeline CI/CD ? On commence à s’en douter, la réponse est : non. C’est dans une aventure à la découverte de ces concepts à laquelle les auteurs nous invitent. Et d’une aventure, c’est bien ce dont il est question, car ce livre est une nouvelle !

Le livret ne paie pas de mine, on le qualifierait presque de livret, tellement il est peu épais et de format réduit (sans être un format poche). Le texte principal compte 128 pages, mais la dizaine de pages des annexes n’est pas à négliger. Le narratif est bien rythmé avec 13 chapitres, tous très courts. Le premier va simplement planter le décours, celui ou Investment Illimited va faire face à une « MRIA ».

Le second chapitre nous permet de mieux appréhender les mécanismes de réponses et surtout le rôle de l’audit au sein d’une gouvernance sécurité, mais le DevSecOps se fait attendre ! C’est le chapitre 3 qui commence à nous éclairer sur les attentes de ce côté-là : accès à la production, « glass breaking » ou séparation des devoirs (ce qui semble de prime abord aller à l’encontre du devops). Mais l’évolution du Devops vers le DevSecOps reste encore à définir. Le chapitre 4 nous introduit un nouveau personnage, Jason, qui va commencer à en dessiner les contours.

Continuer à lire « Note de lecture : Investments Unlimited, par Helen Beal & al. »

Note de lecture : Gamestorming, par Dave Gray, Sunny Brown & James Macanufo

Note : 7 ; Plus qu’un livre de recettes de jeux sérieux

Existe-t-il un livre de référence des jeux sérieux, une sorte de livre de recette des principaux qui soient connus ? La réponse est oui, et c’est l’ouvrage dont vous lisez maintenant la note de lecture.

Bien que l’ouvrage ne soit pas explicitement divisé en deux parties, celui-ci compte 8 chapitres pour 260 pages, les 3 premiers peuvent être considérés comme une introduction au « game design », soit les 50 premières pages du livre. Bien que cela ne soit pas ce que l’on vient y chercher en premier, cette partie est particulièrement bien faite et jalouse en termes d’intérêt le reste du texte.

De cette première partie, le premier chapitre nous explique la structure et les éléments essentiels de la conception d’un jeu : les différentes phases, la notion de « fuzzy goal ». L’ouverture est la phase « divergente » du jeu, il va produire nombre de possibilités qui seront ensuite utilisés et approfondis dans la phase d’exploration. La phase de clôture est convergente, elle permet d’aboutir à un résultat unique, consolidé et exploitable.

Continuer à lire « Note de lecture : Gamestorming, par Dave Gray, Sunny Brown & James Macanufo »

Note de lecture : Host leadership Field Guide, par Mark McKergow & Pierluigi Pugliese

Note 4 ;Des expériences et dissertations autour du host leadership à picorer, mais qui ne vont pas nous rassasier.

En fait de guide, cet ouvrage n’est pas vraiment ce que l’on imagine. Il s’agit d’un ouvrage collectif nait des « host leadership gatherings ». Il serait plus juste de parler d’illustration de cette approche par la pratique ou de retours d’expérience, quoique cette appellation ne rende pas justice au contenu. Il vient compléter par l’exemple le livre « Host » de Mark McKergow et Ellen Bailey. Il est d’ailleurs systématiquement cité en référence sur tous les chapitres.

Ce livre est une lecture moins légère qu’il n’y parait de prime abord. Certes il ne fait que 255 pages et il est tranché fin en 30 chapitres, mais le manque de continuité et les styles différents des auteurs ne facilitent pas vraiment la lecture. Au-delà de l’introduction sur laquelle je passe rapidement, le texte est structuré en 5 parties. La première « host leadership in action » nous occupe sur 70 pages et 9 chapitres ce qui en fait la partie la plus importante. Elle s’ouvre sur le récit d’une ONG et mixte au host leadership la théorie U et le Diversity icebreaker. Cela n’est guère développé dans le texte ce qui est finalement assez frustrant.

C’est sur l’invitation que va se concentrer le troisième chapitre « anyone for dinner ? », mais plus sur son impact que sur la manière dont elle a été formulée, ce qui ne retient guère non plus mon attention. La transposition du host leadership au développement rural, sujet du court chapitre 4 éveille plus d’intérêt dans la mesure où il décline les différents rôles, mais ô combien rapidement… Le parallèle du host leadership avec la culture des tribu Massaï est le chapitre le plus marquant de cette première partie. D’autant que l’auteur décline la métaphore non pas directement sur les rôles, mais sur les valeurs qu’elle véhicule. A ne pas rater.

Continuer à lire « Note de lecture : Host leadership Field Guide, par Mark McKergow & Pierluigi Pugliese »